Main Content

ellipsoid

説明

[X,Y,Z] = ellipsoid(xc,yc,zc,xr,yr,zr) は楕円を描画せずにその x、y、および z 座標を返します。返された楕円は、(xc,yc,zc) を中心座標、(xr,yr,zr) を半軸の長さとし、20 行 20 列の面から構成されます。

この関数は、x、y、および z 座標を 3 つの 2121 列の行列として返します。

返された座標を使用して楕円を描画するには、関数 surf または関数 mesh を使用します。

[X,Y,Z] = ellipsoid(xc,yc,zc,xr,yr,zr,n)nn 列の面から構成される楕円の x、y、および z 座標を返します。この関数は、x、y、および z 座標を 3 つの (n+1)(n+1) 列の行列として返します。

ellipsoid(___) は座標を返さずに楕円をプロットします。この構文は、前述の構文にある任意の前の入力引数を指定して使用します。

ellipsoid(ax,___) は、現在の座標軸ではなく、ax で指定される座標軸にプロットします。座標軸を最初の入力引数として指定します。

すべて折りたたむ

(0, –0.5, 0) を中心とし、半軸の長さが (6, 3.25, 3.25) の楕円を作成してプロットします。axis equal を使用して、各座標方向に沿って等しいデータ単位を使用します。

ellipsoid(0,-0.5,0,6,3.25,3.25)
axis equal

Figure contains an axes object. The axes object contains an object of type surface.

(0, 0, 0) を中心とし、半軸の長さが (1.5, 1.5, 3) の楕円の座標を生成します。

[X,Y,Z] = ellipsoid(0,0,0,1.5,1.5,3);

楕円の表面プロットを作成します。

surf(X,Y,Z);
axis equal

Figure contains an axes object. The axes object contains an object of type surface.

最初の楕円から中心が (3, 0, 5) 並進した 2 番目の楕円をプロットします。次のステップで 2 番目の楕円を回転できるようにするには、surface オブジェクトを s として返します。

hold on
s = surf(X+3,Y,Z+5);

Figure contains an axes object. The axes object contains 2 objects of type surface.

2 番目の楕円を x 軸を中心として 45 度回転させます。並進して回転した楕円の新しい座標は s.Xdatas.Ydata、および s.Zdata に格納されます。

direction = [1 0 0];
rotate(s,direction,45)

Figure contains an axes object. The axes object contains 2 objects of type surface.

中心座標 (0, 0, 0) および半軸の長さ (2, 1, 1) の面の数が異なる楕円を表示します。

関数 tiledlayout を呼び出して、2 行 2 列のタイル表示チャート レイアウトを作成します。関数 nexttile を呼び出して座標軸を作成します。次に、関数 ellipsoid を使用して面の数が異なる 3 つの楕円をプロットします。軸を指定することで、チャートの異なるタイルに楕円をプロットします。

tiledlayout(2,2);
ax1 = nexttile;
ellipsoid(ax1,0,0,0,2,1,1)
axis equal
title('20-by-20 faces (Default)')

ax2 = nexttile;
ellipsoid(ax2,0,0,0,2,1,1,50)
axis equal
title('50-by-50 faces')

ax3 = nexttile;
ellipsoid(ax3,0,0,0,2,1,1,80)
axis equal
title('80-by-80 faces')

Figure contains 3 axes objects. Axes object 1 with title 20-by-20 faces (Default) contains an object of type surface. Axes object 2 with title 50-by-50 faces contains an object of type surface. Axes object 3 with title 80-by-80 faces contains an object of type surface.

入力引数

すべて折りたたむ

楕円の中心の座標。3 つのコンマ区切りスカラー数として指定します。

データ型: single | double

x、y、および z 軸に沿った主半軸。3 つのコンマ区切りスカラー数として指定します。

データ型: single | double

面の数。正のスカラー整数として指定します。

ターゲット座標軸。Axes オブジェクトとして指定します。座標軸を指定しない場合、ellipsoid は現在の座標軸にプロットします。

アルゴリズム

ellipsoid は次の方程式を使用してデータを生成します。

(xxc)2xr2+(yyc)2yr2+(zzc)2zr2=1.

ellipsoid(0,0,0,1,1,1) は単位球面と等価です。

バージョン履歴

R2006a より前に導入