0

我正在使用 for 循环和 fill3 命令绘制一堆三角形,如下所示。我想做类似这个例子的事情,其中​​ Z 范围对应于特定颜色。

我想要的例子

现在,我正在使用 fill3(x,y,z,'r') 因为我不确定还能做什么。

在此处输入图像描述

4

1 回答 1

0

可以在每个顶点设置颜色并在它们之间进行插值。您还可以通过将每个顶点的颜色设置为相同来创建纯色多边形。

来自 matlab 文档

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)。

创建多边形的示例,其每个顶点的颜色与 Z 坐标成正比:

X = [0 1 1];
Y = [1 1 0];
Z = [0 0.5 1];
C = [Z(1)/max(Z);
    Z(2)/max(Z);
    Z(3)/max(Z)];
fill3(X,Y,Z,C);
%optional
colormap(hot);
于 2013-11-24T16:16:44.440 回答