3-D Visualization | ![]() ![]() |
パラメトリックなサーフェス
サーフェスを描画する関数は、2つの付加的なベクトル、または、行列引数を使って、指定したx
と yのデータでサーフェスを記述します。Z
が、m行n列の行列で、x
は長さnのベクトルで、y
は長さmのベクトルの場合、
mesh(x,y,Z,C)
は、つぎの点で、頂点をカラーC(i,j)
であるメッシュサーフェスを記述しています。
(x(j), y(i), Z(i,j))
より一般的に、X,
Y,
Z
,
C
が、同じ次元の行列の場合、
mesh(X,Y,Z,C)
は、つぎの点で、頂点をカラーC(i,j)
であるメッシュサーフェスを記述しています。
(X(i,j), Y(i,j), Z(i,j))
つぎの例題は、球面座標を使って、球面を描き、信号処理の符号化理論で使われる直交行列、アダマール行列の中で、プラスとマイナスのパターンを使って、それを色付けするものです。ベクトル
theta
と phi
は、-
theta
と
-
/2
phi
/2
の範囲です。theta
が行ベクトル、phi
が列ベクトルのために、行列X
,
Y
, Z
を作成する乗算は、ベクトルの外積になります。
k = 5; n = 2^k-1; theta = pi*
(-n:2:n)/n; phi = (pi/2)*
(-n:2:n)'/n; X = cos(phi)*
cos(theta); Y = cos(phi)*
sin(theta); Z = sin(phi)*
ones(size(theta)); colormap([0 0 0;1 1 1]) C = hadamard(2^k); surf(X,Y,Z,C) axis square
![]() |
一様に分布していないデータのサーフェスプロット | 隠線の除去 | ![]() |