可視化手法 | ![]() ![]() |
光源の付加
この例は、膜の表面を表示し、位置ベクトル [0
-2 1]
で定義される方向から光りを放つ光源でそれに照明を与えます。このベクトルは、座標点 0, -2, 1を通過する軸原点からの方向を定義します。光は、この方向から軸原点に向かって照射します。
membrane light('Position',[0 -2 1])
ライトを作成すると、周囲光やオブジェクトの反射率などの特性を制御するいくつかのライティングに関するプロパティをアクティブにします。Z-バッファによるレンダリングモードになっていない場合には、そのモードに切り替えます。
数学関数に照射
ライティングは、数学関数のサーフェスグラフを強調することができます。たとえば、ezsurf
コマンドを使って方程式
ezsurf('sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)',[-6*pi,6*pi])
つぎにlightangle
コマンドを使って光源を付加します。このコマンドは、方位角と仰角を用いて、光源の位置を設定できます。
view(0,75) shading interp lightangle(-45,30) set(findobj(gca,'type','surface'),... 'FaceLighting','phong',... 'AmbientStrength',.3,'DiffuseStrength',.8,... 'SpecularStrength',.9,'SpecularExponent',25,... 'BackFaceLighting','unlit')
findobj
を使ってsurfaceオブジェクトのハンドルを取得した後で、サーフェスからライトがどのように反射するかを プロパティを使って設定できます。これらのプロパティの詳細は、ライティングに影響するプロパティ を参照してください。
![]() | Lightオブジェクト | ライティングに影響するプロパティ | ![]() |