Graphics    

カスタムポインタの定義

Pointerプロパティをcustomに設定すると、MATLABはPointerShapeCDataおよびPointerShapeHotSpotプロパティを使って、ユーザが定義するポインタを表示します。カスタマポインタは16×16ピクセルで、各ピクセルは白、黒、透明のいずれかとすることができます。

つぎのような要素を含む16×16の行列を作成することによってポインタを設定します。

行列をFigureのPointerShapeCDataプロパティに割り当てます。ポインタがそのFigureウィンドウ内にあるときには、MATLABは定義したポインタを表示します。

PointerShapeHotSpotプロパティは、ポインタの位置を示すピクセルを設定します。そしてMATLABは、この位置をRootのPointerLocationプロパティに格納します。PointerShapeHotSpotプロパティを、位置を設定するピクセルに対応するPointerShapeCData行列の行と列を設定する2要素ベクトルに設定します。このプロパティのデフォルト値は[1 1]で、これはポインタの左上隅に対応しています。

例題 - カスタムポインタ

カスタムポインタを作成する1つの方法は、手入力で16×16の行列に値を割り当てることです。たとえば

まず、すべての値を2に設定して行列を初期化します。1ピクセル幅の黒の境界を作成します。整列マークを追加します。

最後のステートメントは、Pointerプロパティをcustomに設定し、行列をPointerShapeCDataプロパティに割り当て、"ホットスポット"を要素(9,9)として選択します。

MATLABは、Figureウィンドウ内部でカスタムポインタを使用します。

関数からポインタを作成   数学関数を使って、PointerShapeCData行列を定義することができます。たとえば、関数

を評価すると、興味深いSurfaceが作成されます。

Zが16×16の行列になるように、Zの値を用いてサンプリング点数の少ないポインタを作成します。

ステートメントflipud((Z>0) + 1) は、ゼロより大きなZのすべての値を2(MATLABではtrue+1=2)、ゼロ以下を1(false+1=1)に設定し、データを反転させて要素(1,1)が左上隅になるようにします。


  Figureポインタの設定 対話型グラフィックス