複雑な 3 次元オブジェクトの表示
この例では、複雑な 3 次元オブジェクトの作成と表示を行い、その外観を制御する方法を示します。
オブジェクトの形状の取得
この例では、Newell ティーポットと呼ばれるグラフィックス オブジェクトを使用します。ティーポットの頂点、面およびカラー インデックスのデータは、関数 teapotData によって計算されます。ティーポットは複雑な幾何学形状であるため、この関数からは多数の頂点 (4608) および面 (3872) が返されます。
[verts, faces, cindex] = teapotGeometry;
ティーポットの patch オブジェクトの作成
形状データを使用して、patch コマンドでティーポットを描画します。patch コマンドは、patch オブジェクトを作成します。
figure p = patch('Faces',faces,'Vertices',verts,'FaceVertexCData',cindex,'FaceColor','interp')

p =
Patch with properties:
FaceColor: 'interp'
FaceAlpha: 1
EdgeColor: [0.1294 0.1294 0.1294]
LineStyle: '-'
Faces: [3872×4 double]
Vertices: [4608×3 double]
Show all properties
view コマンドを使用して、オブジェクトの向きを変更します。
view(-151,30) % change the orientation axis equal off % make the axes equal and invisible

透明性の調整
patch オブジェクトの FaceAlpha プロパティを使用してオブジェクトを透明にします。
p.FaceAlpha = 0.3; % make the object semi-transparent
FaceColor プロパティを 'none' に設定すると、オブジェクトはワイヤー フレーム図で表されます。
p.FaceColor = 'none'; % turn off the colors

カラーマップの変更
関数 colormap を使用してオブジェクトの色を変更します。
p.FaceAlpha = 1; % remove the transparency p.FaceColor = 'interp'; % set the face colors to be interpolated p.LineStyle = 'none'; % remove the lines colormap(copper) % change the colormap

オブジェクトのライティング
ライトを追加して、オブジェクトがより写実的に見えるようにします。
l = light('Position',[-0.4 0.2 0.9],'Style','infinite')
l =
Light with properties:
Color: [1 1 1]
Style: 'infinite'
Position: [-0.4000 0.2000 0.9000]
Visible: on
Show all properties
lighting gouraud
patch オブジェクトの以下のプロパティは、光の強度およびオブジェクトの反射プロパティに影響します。
AmbientStrength- 周囲光の強度の制御DiffuseStrength- 拡散光の強度の制御SpecularStrength- 反射光の強度の制御SpecularExponent- 反射光の粗さの制御SpecularColorReflectance- 反射される色の計算方法の制御
これらのプロパティは個別に設定できます。これらのプロパティを、金属材料、光沢性材料または非光沢性材料の外観を近似する事前定義された一連の値に設定するには、material コマンドを使用します。
material shiny
Position プロパティを使用してライトの位置を調整します。位置は、x、y、z の座標で表されます。
l.Position = [-0.1 0.6 0.8]

l =
Light with properties:
Color: [1 1 1]
Style: 'infinite'
Position: [-0.1000 0.6000 0.8000]
Visible: on
Show all properties