3Dグラフィックスのレンダリング
2 次元グラフィックスには、plot 関数が用意されています。同様に、3 次元グラフィックスにも、3 次元空間に 3 次元曲線を描くことができる独自の関数 plot3 があります。関数呼び出しの形式は次のとおりです。plot(x,y, z, オプション) x,y,
z 同じ次元のベクトルであり、3 つの座標の値をそれぞれ格納しますオプションの意味はプロット関数のオプションと同じです。
3 次元曲線を描画するには、plot3 を使用します。
>>clear all;
>>t=0:pi/50:10*pi;
>>plot3(sin(t),cos(t),t)
>>grid on
>>axis square
Matlab は、3 次元表面メッシュ マップを描画する関数を提供します。呼び出し形式は次のとおりです。 Mesh(x,y,z,c)
x,y,z,c は、3 次元の x、y、z ベクトルを構成します。それぞれ曲線; c はカラー マトリックスであり、さまざまな高さ z でのカラー範囲値を示します。
Meshgrid 関数は平面グリッド座標行列の表現関数であり、呼び出し形式は次のとおりです。
[X,Y]=meshgrid(x,y)
[X,Y]=meshgrid(x)
[X,Y,Z] ]=メッシュグリッド(x, y,z)
関数 Meshgrid を使用して行列を作成します。
>>[X,Y]=meshgird(1:3,10:14)
>>X=
> 1 2 3
> 1 2 3
> 1 2 3
> 1 2 3
> 1 2 3
>>Y=
> 10 10 10
> 11 11 11
> 12 12 12
> 13 13 13
> 14 14 14
関数 Meshgrid を使用して行列を描画し、曲面グラフを生成します。
>>[X,Y]=meshgrid(-2:.2:2,-2:.2:2);
>>Z=X.*exp(-X.^2-Y.^2);
>>surf(X,Y,Z)
3D グラフィックスの描画に関して、よく使用されるコマンドは次のとおりです。
surf(x,y,z) % 3D サーフェス グラフィックスを描画しますsurc (x,y,z) %
等高線を含む 3D サーフェス グラフィックスを描画しますSurfl(x,y,z) % 影を含む 3D サーフェス グラフィックスを描画します輪郭 (x,y, z) % 等高線グラフィックス
例 1: z = − x 2 + y 2 z=-\sqrt{x^2+y^2} をプロットするz=−バツ2+y2ワイヤーダイアグラムとサーフェス。
>>clear all;
>>x=-9:0.5:9;
>>y=x;
>[x,y]=meshgrid(x,y); %坐标网格函数
>>z=-sqrt(x.^2+y.^2); %函数表达式
>>z=-z.*z;
>>surf(x,y,z); %三维曲面图,如图1-1
>>pause;
>>mesh(x,y,z) %三维曲面图,如图1-2
例 2: Meshz を使用して 3D 曲線を描画する
>>clear all;
>>x=-3:.125:3;
>>[X,Y]=meshgrid(x);
>>Z=peaks(X,Y);
>>meshz(X,Y,Z)