三次元画像
mesh(x,y,z)
コマンドを呼び出して3次元画像を生成できます。
関数を見てみましょう:
コード:
>> [x,y] = meshgrid(-2*pi:0.1:2*pi);
>> z = cos(x).*sin(y);
>> mesh(x,y,z),xlabel('x'),ylabel('y'),zlabel('z')
画像:
mesh
されてplot
三次元で拡張し、別の関数:
、
同じ間隔をとります:
>> [x,y] = meshgrid(-2:0.1:2);
>> z = y.*exp(-x.^2-y.^2);
>> mesh(x,y,z)
次のコマンドを使用して、グラデーションカラーを示す画像を描画します。
surf
surfc
surfl
最後の文を修正するだけです:
>> surf(x,y,z)
画像:
画像表面の色は高さに比例します。surfc
コマンドを使用すると、画像の下に投影が残ります。コマンドを
呼び出すとsurfl
(l
これは照明付きの表面であることを示します)、3次元の照明付きオブジェクトの表面が表示されます。このコマンドを使用して生成できます。線のない3次元画像。画像はグレースケールまたはカラーにすることもできます。
>> surfl(x,y,z);
>> shading interp
>> colormap(gray)
画像の影は、次のモードに設定できます。
flat
:各グリッドを同じ色で着色し、グリッド線を非表示にしますfacted
:グリッド線を表示interp
:着色には色補間法を使用しているので非常にスムーズです
次に
円筒状の画像を描きます:
>> t = [0:pi/10:2*pi];
>> [x,y,z] = cylinder(1+sin(t));
>> surf(x,y,z);
>> axis square
shading
オプションをflat
次のように変更します。
faceted
シェーディングを使用:
>> [x,y,z] = cylinder(1+cos(t));
>> surf(x,y,z);
>> axis square
>> shading faceted
使用interp
:
>> [x,y,z] = cylinder(1+cos(t));
>> surf(x,y,z);
>> axis square
>> shading interp