3次元の曲面上にコン​ターを描画する方法を​探しています

12 visualizaciones (últimos 30 días)
macaroni
macaroni el 15 de Mzo. de 2017
Comentada: Jiro Doke el 17 de Mzo. de 2017
ある任意のxyz座標上の点が特定の値を保有し、それが複数存在したとき、それらの点の集合で形成される3次元曲面上に、それぞれの点が保有する値でのコンターの描画を行う方法を探しています。

Respuesta aceptada

Jiro Doke
Jiro Doke el 15 de Mzo. de 2017
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)

Más respuestas (1)

Tohru Kikawada
Tohru Kikawada el 15 de Mzo. de 2017
曲面上に等高線を表示するには contour3 がお使いいただけます。
下記の回答も参考になりそうです。
一方、任意のxyz座標上の特定の値というのはボリュームデータか点群を指していますでしょうか。
その際、それぞれの点が保有する値のコンターとはどういうことでしょうか。
点が保有する値の同値線を曲面に投影するという意味でしょうか。
何か参考になるイメージ図があるとより適切な回答ができそうです。
  2 comentarios
macaroni
macaroni el 16 de Mzo. de 2017
回答ありがとうございます。 イメージとしては、下の図のようなものをイメージしています。 円柱表面のそれぞれの座標が保有する値の大きさがカラーマップで表現されています。
下記のイメージでは、カラーマップとなっていますが、点が保有する値の同値線を曲面に投影するという認識で相違ないかと思います。
Jiro Doke
Jiro Doke el 17 de Mzo. de 2017
おそらく contourslice でできるかと思います。

Iniciar sesión para comentar.

Categorías

Más información sobre Lighting, Transparency, and Shading en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by