3-D Visualization    

インデックス付きカラー - 直接やスケーリングされたカラーマッピング

MATLABは、異なる二つの方法、直接法とスケーリング法で、インデックス付きカラーデータをカラーマップにマッピングします。

直接法

直接のマッピングは、カラーデータをカラーマップの中のインデックスとして、直接使用します。たとえば、1のポイントの値は、カラーマップの最初のカラーで、2は2番目のカラー、等々です。カラーデータが整数でない場合、MATLABは、ゼロ方向に丸めます。カラーマップの中のカラーの数より大きい値は、カラーマップの中の最後のカラーと等しくします(たとえば、 length(colormap)数)。1より小さい値は、1に設定します。

スケーリングを使用する方法

スケーリング法を使ったマッピングは、2要素ベクトル[cmin cmax] (これらは、コマンドcaxisを使って、設定) を使って、カラーデータをフィギュアカラーマップにマッピングすることをコントロールします。cminは、データ値をカラーマップの中の最初のカラーにマッピングし、cmax は、カラーマップの最後のカラーにマッピングします。これらの間のデータ値は、つぎの方程式を使って、線形に変換されます。

cm_lengthは、カラーマップの長さです。

デフォルトで、MATLABは、cmincmaxを軸の中のすべてのグラフィックオブジェクトのカラーデータのレンジに広げたものです。しかし、これらの範囲を任意の範囲に設定することができます。これにより、一つのフィギュアウインドウの中に複数の軸を表すことができ、お互いにフィギュアのカラーマップの種々に異なる部分を使うことができます。カラーの範囲を使用する例題は、カラーの範囲の計算 を参照してください。

デフォルトで、MATLABは、スケーリング法を使います。直接法を使う場合、プロットを作成するときに、切り替えを行なってください。たとえば、

カラーデータの設定法の詳細は、surfaceを参照してください。

インデックス付きカラーの指定

単一の行列引数を使って、サーフェスプロットを作成するとき、surf(Z)は、たとえば、引数 Z が、サーフェスの高さとカラーを共に指定しているとします。MATLABは、Zをカレントのカラーマップの中のインデックスを得るために変換します。

2つの行列引数を使って、ステートメント

は、2番目の引数を使って、カラーを独立に指定します。


  カラーマップ 例題 - サーフェスの曲率をカラーにマッピング