matlabでのパッチ関数の使用
Usage Patch Function Matlab
[Linux] [C / C ++ / Qt] [FPGA] [データ構造とアルゴリズム]に焦点を当てた高品質の学習リソースへの無料アクセス。長年の技術経験に基づいており、純粋な[オリジナル]、純粋な[乾物] ]、[技術的経験]を共有し、[人々に魚を与える、より多くの人々に魚を教える]よう努めます。
説明:
パッチは、パッチグラフィックスオブジェクトを作成するために使用される低レベルのグラフィックス関数です。パッチオブジェクトは、頂点座標によって決定される1つ以上のポリゴンです。ユーザーは、パッチオブジェクトの色と照明を指定できます。
パッチ (X、Y、C )。
塗りつぶされた2Dパッチを現在の座標軸に追加します。 XとYの要素は、ポリゴンの固定点を指定します。 XとYが行列の場合、MATLABは各列のポリゴンを生成します。 Cはパッチの色を決定します。単一のColorSpec、サーフェスごとの色、または固定小数点ごとの色にすることができます。 Cが1 * 3ベクトルの場合、RGBトリプレットと見なされ、色が直接指定されます。
パッチ (X、Y、Z、C )。
3D座標でパッチを作成します。
パッチ (F V )。
構造FVを使用してパッチを作成します。 FVには、頂点、面、およびfacevertexdata(オプション)の構造フィールドが含まれています。これらの構造フィールドは、パッチオブジェクトのVertices、Faces、およびFaceVerticxCData属性に対応します。
パッチ ('プロパティ名' 、propertyvalue 、..。 )。
指定された属性/値パラメーターのペアを使用して、パッチオブジェクトのすべての属性を指定します。ユーザーがFaceColorとEdgeColorの値を明示的に指定しない限り、MATLABはデフォルトの属性値を使用します。この呼び出し形式により、ユーザーはFacesおよびVertices属性値を使用してパッチを定義できます。
ハンドル=パッチ (。。。。 )。
作成したパッチオブジェクトのハンドルを返します。
注意:
塗りつぶしや領域などの高レベルの作成関数とは異なり、patchはグラフィックウィンドウの設定と座標軸のNextPlot属性をチェックせず、現在の座標軸にパッチオブジェクトを追加するだけです。
座標データで閉じたポリゴンを定義できない場合、パッチ関数は自動的にポリゴンを閉じます。データは、凹面または交差したポリゴンの定理にすることができます。ただし、個々のパッチ面のエッジが互いに交差している場合、結果の面が完全に塗りつぶされない場合があります。この場合、サーフェスをより小さなポリゴンに分解するのが最善です。
詳細な説明パッチ プロパティの:
これらの属性は、属性名と属性値のペア形式、構造マトリックス、セルマトリックスとして指定できます。
色を説明するために使用される2つの属性があります。
CData:X、Y、Z座標(XData、YData、ZData)を記述するために使用されます
FaceVertexCData:頂点または接続マトリックス(頂点と面)を記述するために使用されます
CData属性とFaceVertexCData属性は、インデックス値、トゥルーカラー(RGB)値などのカラーデータを受け入れます。 (CData、FaceVertexCData)
インデックスカラーデータは、カラーマップ全体の直接インデックス値、またはカラーマップ全体に線形にマッピングされるスケール値(軸)を表すことができます。 CDataMappingは、matlabがインデックスカラーデータを変換する方法を決定します
カラーデータの説明:
パッチの色の説明は次のとおりです。
すべての面が同じ色を使用しています
1つの顔と1つの色、つまりフラットカラーリング
1つの頂点と1つの色、つまり補間カラーリング
次の表は、matlabを示しています CDataで説明する方法 、FaceVertexCData 定義されたカラーデータ。
[X、Y、Z] CData
トゥルーカラーのトゥルーカラーのインデックスのインデックス値
M * nスカラースカラー1 * 1 * 3すべての面は同じ色を使用し、エッジは同じ色を使用します
M * n 1 * n(n> = 4)1 * n * 3 1 * n * 3 1つの面と1つの色、端に1つの色
m * n M * n m * n M * n M * n M * n(n-3)1つの頂点と1つの色、サーフェスは滑らかな1つの色または補間、または補間値は平滑化された値にすることができます。
頂点はVertexCDataに面しますFaceVertexCData
のインデックス値のトゥルーカラーのインデックス値
M * n k * 3スカラースカラー1 * 3
M * n k * 3 k * 3 k * 1 k * 1 k * 3同上。同上。同上。
m * n k * 3 m * 1 m * 3
例:
この例では、2つの異なるメソッドを使用してパッチオブジェクトを作成します。
x、y、z座標とカラーデータ(XData、YData、ZData、CData属性)を指定します
頂点、接続マトリックス、およびカラーマトリックス(頂点、面、FaceVertexCData、およびFaceColor属性)を指定します。
1. x、y、z座標を指定します
x = [0 00 11 1]
y = [1 12 22 1]
z = [1 11 11 1]
tcolor(1,1,1:3)= [1 1 1]
tcolor(1,2,1:3)= [。7.7 .7]
patch(x、y、z、tcolor)
各面が他の面と2つの頂点を共有していることに注意してください。
2.指定された固定点と表面
Vertices属性には、パッチを定義する各固定小数点の座標が含まれています。 Faces属性は、これらの頂点を接続して、判断されない各サーフェスを形成する方法を決定します。この例では、2つの頂点が同じ位置にあるため、6つの頂点を指定する必要があります。それぞれに固定小数点のx、y、z座標が含まれています。
緑= [0 1 10 2 11 2 11 1 1]
指定された順序で固定点を接続することによって形成される2つのサーフェスがあります。
fac = [1 2 3; 1 3 4];
表面の色を指定し、2つのRGB色を含む2 * 3マトリックスを指定します
tcolor = [1 1 1; .7 .7 .7]
ユーザーは、FaceColorプロパティをフラットに設定し、Faces、Vertices、FaceVertexCData、およびFaceColorプロパティを指定して作成する必要があります。
パッチのオブジェクト:
patch( 'Faces'、fac、 'Vertices'、vert、 'FaceVertexCData'、tcolor、 'FaceColor'、 'flat')
結果を上の図に示します。