本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

fill3

填充的三维多边形

语法

fill3(X,Y,Z,C)
fill3(X,Y,Z,ColorSpec)
fill3(X1,Y1,Z1,C1,X2,Y2,Z2,C2,...)
fill3(...,'PropertyName',PropertyValue)
fill3(ax,...)
h = fill3(...)

说明

fill3 函数创建单一着色多边形和 Gouraud 着色多边形。

fill3(X,Y,Z,C) 填充三维多边形。XYZ 三元组指定多边形顶点。如果 XYZ 为矩阵,则 fill3 会创建 n 个多边形,其中 n 为矩阵中的列数。fill3 必要时可将最后一个顶点与第一个顶点相连以闭合这些多边形。XYZ 的值可以是数值、日期时间、持续时间或分类值。

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) 填充 XYZ 定义的三维多边形(颜色由 ColorSpec 指定)。

fill3(X1,Y1,Z1,C1,X2,Y2,Z2,C2,...) 指定多个三维填充区。

fill3(...,'PropertyName',PropertyValue) 允许您为特定的补片属性设置值。

fill3(ax,...) 将在由 ax 指定的坐标区而不是当前坐标区 (gca) 中创建多边形。选项 ax 可以位于前面的语法中的任何输入参数组合之前。

h = 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];

figure
fill3(X,Y,Z,C)

算法

如果 XYZ 为大小相同的矩阵,则 fill3 会根据 XYZ 的对应元素来形成顶点(所有元素都来自同一矩阵位置),并根据每列中的数据来创建一个多边形。

如果 XYZ 为矩阵,则 fill3 会复制任何列向量参数以生成所需大小的矩阵。

如果您使用 ColorSpec 指定颜色,则 fill3 会生成单一着色多边形,并将补片对象的 FaceColor 属性设置为 RGB 三元组。

如果您使用 C 指定颜色,则 fill3 会先根据坐标区属性 CLim(指定颜色轴缩放映射参数)来缩放 CLim 的元素,然后再对当前颜色图进行索引。

如果 C 为行向量,则 fill3 会生成单一着色多边形,并将补片对象的 FaceColor 属性设置为 'flat'。每个元素都将成为各自补片对象的 CData 属性值。

如果 C 为列向量或矩阵,则 fill3 会生成具有插值颜色的多边形,并将补片对象的 FaceColor 属性设置为 'interp'。在生成具有插值颜色的多边形时,fill3 使用顶点颜色图索引的线性插值。一列中的元素将成为各自补片对象的 CData 属性值。如果 C 为列向量,则 fill3 会复制该列向量以生成所需大小的矩阵。

扩展功能

在 R2006a 之前推出