| MATLAB Function Reference | ![]() |
表示
fill3(X,Y,Z,C)
fill3(X,Y,Z,ColorSpec)
fill3(X1,Y1,Z1,C1,X2,Y2,Z2,C2,...)
fill3(...,'PropertyName',PropertyValue)
h = fill3(...)
詳細
関数fill3 は、フラットなシェーディングの多角形と Gouraudシェーディングの多角形を作成します。
fill3(X,Y,Z,C)
は、3次元の多角形を塗りつぶします。X, Y, Z の 3要素で多角形の頂点を指定します。X,Y, Z のいずれかが行列の場合、fill3は n個の多角形を作成します。ここで、n は行列の列数です。fill3は、必要なときには、最後の頂点を最初の頂点に接続して多角形を閉じます。
Cはカラーを指定します。ここで、C はカレントのカラーマップ内のインデックスからなるベクトルあるいは行列です。Cが行ベクトルの場合、length(C)はsize(X,2)と size(Y,2) に等しく、C が列ベクトルの場合、length(C)は size(X,1) と size(Y,1) に等しくなければなりません。
fill3(X,Y,Z, は、ColorSpec)
ColorSpec で指定されるカラーを使って、X,Y, Z で定義される 3次元の多角形を塗りつぶします。
fill3(X1,Y1,Z1,C1,X2,Y2,Z2,C2,...)
は、複数の 3次元の多角形を指定して塗りつぶします。
fill3(...,' を使って、特定の patch のプロパティに値を設定することができます。PropertyName',PropertyValue)
h = fill3(...)
は、Patchグラフィックスオブジェクトのハンドル番号からなるベクトルを出力します。Patchごとに 1つのハンドル番号をもちます。
アルゴリズム
X,Y, Z が同じサイズの行列の場合、fill3 は X, Y, Z の対応する要素(すべてが行列内の同じ位置にある要素)から頂点を形成し、各列のデータから1つの多角形を作成します。
X,Y, Z のいずれかが行列の場合、fill3は、必要なサイズの行列を生成するために、列ベクトルの引数を繰り返し複写します。
ColorSpecを使って、カラーを指定すると、fill3 はフラットなシェーディングの多角形を生成し、PatchオブジェクトのFaceColor プロパティをRGBの3要素に設定します。
C を使って、カラーを指定すると、fill3は、Axes のプロパティCLimで C の要素をスケーリングします。これは、カレントのカラーマップを指し示す前に、カラー軸のスケーリングパラメータを指定します。
Cが行ベクトルの場合、fill3 はフラットなシェーディングの多角形を生成し、PatchオブジェクトのFaceColorプロパティを 'flat' に設定します。各要素は、それぞれのPatchオブジェクトの CData プロパティの値になります。
C が列ベクトル、または、行列の場合、fill3は、補間されたカラーをもつ多角形を生成し、PatchオブジェクトのFaceColorプロパティを 'interp' に設定します。fill3 は、補間されたカラーをもつ多角形を生成するとき、頂点のカラーマップインデックスの線形補間を行います。1つの列の各要素は、それぞれのPatchオブジェクトの CDataプロパティの値になります。Cが列ベクトルの場合、fill3 は、必要なサイズの行列を生成するために、その列ベクトルを繰り返し複写します。
例題
X = [0 1 1 2;1 1 2 2;0 0 1 1];
Y = [1 1 1 1;1 0 1 0;0 0 0 0];
Z = [1 1 1 1;1 0 1 0;0 0 0 0];
C = [0.5000 1.0000 1.0000 0.5000;
1.0000 0.5000 0.5000 0.1667;
0.3330 0.3330 0.5000 0.5000];
fill3(X,Y,Z,C)
参考
axis, caxis, colormap, ColorSpec, fill, patch
| fill | filter | ![]() |