任意の座標,オフセットの球面を3次元描画したい
Show older comments
MATLABは最近使い始めました.
3次元プロットのグラフがあり,それに補助的に3次元球面を追加する形で描画したいと考えています.
そこで,以下のように記述して動かしてみたところ,想定通りのプロットにならず,困っています.
r=1.5;
a=10;
b=10;
c=10;
[x,y,z]=sphere;
sphr=@(a,b,c,x,y,z) [x*r+a,y*r+b,z*r+c];
surf(sphr(a,b,c,x,y,z));
これを実行したところ,平たい波のようなプロットが追加され,球とは呼べるものではありませんでした.
また,特に差はないだろうと思いつつも以下のように変更して動作させてみたところ,「等号の右辺からの出力数は代入を満たすには不十分です。」という警告が出ました.
r=1.5;
a=10;
b=10;
c=10;
[x,y,z]=sphere;
sphr=@(a,b,c,x,y,z) [x*r+a,y*r+b,z*r+c];
[x2,y2,z2]=sphr(a,b,c,x,y,z);
surf(x2,y2,z2);
どのようにすれば正しく球面をプロットする事が可能でしょうか.また,この書き方にはどのような問題があるのでしょうか.
宜しくお願いします.
Accepted Answer
More Answers (0)
Categories
Find more on 表面プロットとメッシュ プロット in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!