MATLABグラフィックス描画-3次元イメージ

三次元画像

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')

画像:
メッシュ(x、y、z)コマンドで描画された画像
meshされてplot三次元で拡張し、別の関数:

機能2
同じ間隔をとります:

>> [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コマンドを使用すると、画像の下に投影が残ります。コマンドを
サーフプロジェクション
呼び出すとsurfllこれは照明付きの表面であることを示します)、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

シリンダー1
shadingオプションをflat次のように変更します
シリンダー2

facetedシェーディングを使用

>> [x,y,z] = cylinder(1+cos(t));
>> surf(x,y,z);
>> axis square
>> shading faceted

1
使用interp

>> [x,y,z] = cylinder(1+cos(t));
>> surf(x,y,z);
>> axis square
>> shading interp

2

元の記事を84件公開 18 件を獲得 5805件を表示

おすすめ

転載: blog.csdn.net/qq_44486550/article/details/105300786