| MATLAB Function Reference | ![]() |
可建立實心三維多邊形圖(Filled three-dimensional polygons)的函式
Syntax
fill3(X,Y,Z,C)
fill3(X,Y,Z,ColorSpec)
fill3(X1,Y1,Z1,C1,X2,Y2,Z2,C2,...)
fill3(...,'PropertyName',PropertyValue)
h = fill3(...)
Description
fill3 函式可建立 flat-shaded 和 Gouraud-shaded 型式的多邊形圖。
fill3(X,Y,Z,C)
可用指定的顏色填滿三維的多邊形。X, Y, 和 Z 這三個參數共同指定了多邊形的頂點。若 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 所定義的三維多邊形。
fill3(X1,Y1,Z1,C1,X2,Y2,Z2,C2,...)
可用以指定多個需被填滿特定顏色的三維區域。
fill3(...,' 可允許設定特定貼片(patch)性質的值。PropertyName',PropertyValue)
h = fill3(...)
會回傳一個握把向量(vector of handles)至貼片圖形物件(patch graphics objects),每一貼片會對應至一握把。
Algorithm
若 X, Y, 和 Z 為具有相同大小的矩陣,則 fill3 會將 X, Y, 和 Z 中相對應的元素(都有著相同的矩陣位置)構成一個多邊形頂點。並且會利此三個矩陣中的每一欄資料分別建立一個對應該欄的多邊形。
若 X, Y, 或 Z 為一矩陣,則 fill3 會複製任一的行向量引數以產生所需大小的矩陣。
若使用 ColorSpec來指定顏色,則 fill3 會產生 flat-shaded 型式的多邊形,並將貼片物件的 FaceColor 性質設成一個 RGB 值,其為一具有三個元素的列向量。
若使用 C 來指定顏色,則 fill3 會根據圖軸(axes)的性質 CLim 來衡算 C 中的元素。CLim 可在對目前的顏色對照表編索引前,指定色軸的尺度範圍參數(color axis scaling parameters)。
若 C 為一列向量,則 fill3 會產生 flat-shaded 型式的多邊形,並且會將這些貼片物件的 FaceColor 性質設為 'flat'。向量 C 裡的每一元素會成為各自貼片物件之 CData 性質的值。
若 C 為一行向量或一矩陣,則 fill3 會產生用內插法得到顏色的多邊形,並將貼片物件的 FaceColor 性質設為 'interp'。當 fill3 在利用內插法來產生多邊形表面的顏色時,是將多邊形的頂點之顏色對照表的索引經由線性內插法所決定的。每一欄裡的元素會成為各別貼片物件之 CData 性質的值。若 C 為一行向量,則 fill3 會複製該行向量以產生所需大小的矩陣。
Examples
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)
See Also
axis, caxis, colormap, ColorSpec, fill, patch
| fill | filter | ![]() |