MATLAB Function Reference    
surfl

カラーマップベースのライティングによるサーフェスのプロット

表示

詳細

関数 surflは、周囲光、拡散光、鏡面光モデルの組合わせに基づいて、シェーディングしたsurface を表示します。

surfl(Z) and surfl(X,Y,Z) は、光源に対するデフォルトの方向とシェーディングモデルに対するデフォルトのライティング係数を使って、シェーディングされた3次元 Surface を作成します。X, Y, Zは、Surface の x, y, z 成分を定義するベクトル、または、行列です。

surfl(...,'light') は、Lightオブジェクトを使って、着色されていてライティングされているサーフェスを作成します。これは、デフォルトのライティング手法surfl(...,'cdata')と異なり、サーフェスの反射になるようにカラーデータを変更します。

surfl(...,s) は、光源の方向を指定します。s は Surface から光源への方向を指定する2 要素または 3 要素のベクトルです。s =[sx sy sz]、または、s= [azimuth elevation] です。デフォルトの s は、カレントの視点の方向から反時計周りに45°です。

surfl(X,Y,Z,s,k) は、反射定数を指定します。k は周囲光、拡散光、正反射、鏡面光係数の相対的な量を定義する 4 要素のベクトルです。k = [ka kd ks shine] で、デフォルトは、[.55,.6,.4,10] です。

h = surfl(...) は、Surface グラフィックスオブジェクトのハンドル番号を出力します。

注意

より滑らかなカラーの変化のためには、線形の強度変化をもつカラーマップを使ってください(たとえば、gray, copper, bone, pink)。

T行列 X, Y, Z の点の順序は、パラメトリックなサーフェスの内側と外側を定義します。サーフェスの反対側が光源を反射するようにするには、surfl(X',Y',Z') を使ってください。サーフェスの法線ベクトルの計算法のため、surfl は、最小でも 3行3列の行列を必要とします。

例題

カラーマップベースのライティングを使って、peaks 関数を表示します。

デフォルト以外の視点の方向からライティングされたサーフェスをプロットします。

参考

colormap, shading, light


 Surface Properties surfnorm