3次元の曲面上にコンターを描画する方法を探しています
8 次查看(过去 30 天)
显示 更早的评论
采纳的回答
Jiro Doke
2017-3-15
contourslice で可能かと思います。ドキュメントの2つ目の例(球面に沿った等高線スライス)を参照してみてください。
もう一つサンプルです。
xy = -2.5 + 5*gallery('uniformdata',[200 2],0);
x = xy(:,1);
y = xy(:,2);
z = x.*exp(-x.^2-y.^2);
v = peaks(x,y); % 適当に x,y,z 点の値を定義
scatter3(x,y,z,[],v)
% contourslice が必要としている点の集合データからボリュームデータに変換
[X,Y,Z] = meshgrid(-2.5:.1:2.5,-2.5:.1:2.5,-0.4:.01:.4);
V = griddata(x,y,z,v,X,Y,Z);
% 同じく等高線を描く表面も表面データに変換
[xq,yq] = meshgrid(-2.5:.1:2.5,-2.5:.1:2.5);
zq = griddata(x,y,z,xq,yq);
% 可視化
figure
contourslice(X,Y,Z,V,xq,yq,zq,10) % 10本の等高線
grid on
view(3)
0 个评论
更多回答(1 个)
Tohru Kikawada
2017-3-15
曲面上に等高線を表示するには contour3 がお使いいただけます。
下記の回答も参考になりそうです。
一方、任意のxyz座標上の特定の値というのはボリュームデータか点群を指していますでしょうか。
その際、それぞれの点が保有する値のコンターとはどういうことでしょうか。
点が保有する値の同値線を曲面に投影するという意味でしょうか。
何か参考になるイメージ図があるとより適切な回答ができそうです。
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Segmentation and Analysis 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!