主要内容

补丁数据如何与色度图相关

当您创建使用补丁对象时,可以通过调用colormap函数。你还可以通过以下方法控制颜色图和补丁之间的关系:

  • 给脸部分配特定的颜色

  • 为每个面周围的顶点分配特定的颜色

控制这些关系的方式取决于您如何指定补丁:作为x坐标、y坐标和z坐标,或者作为面-顶点数据。

颜色映射的关系x-,y- - - - - -,z坐标数组

如果你创建一个补丁对象使用x-,y- - - - - -,z-坐标数组,CData的属性补丁对象包含索引数组C.这个数组控制颜色映射和补丁之间的关系。若要为面分配颜色,请指定C作为具有以下特征的数组:

  • C是一个n × 1的数组,其中n是面数。

  • 的值C(我)控制脸的颜色

这里有一个例子C以及它与颜色图和三张脸的关系。的价值C(我)控制由顶点(X(我,:)Y(我,:)).

显示矩阵C中的值如何对应于颜色映射数组中的行和三个三角形补丁面的图表。

中的最小值C0.它映射到颜色图中的第一行。中最大的值C1,它映射到颜色图的最后一行。的中间值C线性映射到颜色图中的中间行。在这种情况下,C (2)映射到距离颜色图开始位置约三分之二的颜色。此代码创建补丁对象在前面的插图中描述。

X = [0 0 5;0 0 5;4 4 9];Y = [0 4 0;3 7 3;0 4 0];C = [0;.6667;1);p = patch(X,Y,C); colorbar

用颜色条显示三个三角形补丁面

要为顶点分配颜色,请指定C作为具有以下特征的数组:

  • C是一个m × n的数组,其中m是每个面顶点的数量,n是面的数量。

  • 的值C (i, j)控制顶点的颜色的脸j

这里有一个例子C以及它与颜色映射和六个顶点的关系。的价值C (i, j)控制顶点的颜色。X (i, j)Y (i, j)).

显示矩阵C中的值如何对应于颜色映射数组中的行以及两个三角形贴片面的顶点的图表。来自每个顶点的颜色混合在每个面上形成颜色梯度。

与贴片面一样,MATLAB®缩放中的值C到颜色图中的行数。在本例中,最小值为C (2, 2) = 1,它映射到颜色图中的第一行。最大的值为C (3,1) = 6,它映射到颜色图的最后一行。

此代码创建补丁对象在前面的插图中描述。的FaceColor属性设置为的插值函数使顶点颜色在每个面上混合。

clf X = [0 3;0 3;5 6];Y = [0 3;5 6;0 3];C = [5 4;2 0;6 3];p = patch(X,Y,C,“FaceColor”的插值函数);colorbar

为六个顶点指定颜色的两个三角形补丁面

颜色映射与面-顶点数据的关系

如果使用面-顶点数据创建补丁,则FaceVertexCData的属性补丁对象包含索引数组C.这个数组控制颜色映射和补丁之间的关系。

若要为面分配颜色,请指定C作为具有以下特征的数组:

  • C是一个n × 1的数组,其中n是面数。

  • 的值C(我)控制脸的颜色

这里有一个例子C以及它与颜色图和三张脸的关系。

显示矩阵C中的值如何对应于颜色映射数组中的行和三个三角形补丁面的图表。

中的最小值C0,它映射到颜色图中的第一行。中最大的值C1,它映射到颜色图中的最后一个值。的中间值C线性映射到颜色图中的中间行。在这种情况下,C (2)映射到距离颜色图底部约三分之二的颜色。

此代码创建补丁对象在前面的插图中描述。的FaceColor属性设置为“平”以显示色图颜色,而不是默认颜色(黑色)。

CLF顶点= [0 0;0 3;4 0;0 4;0 7;4 4;5 0;5 3;9 0];Faces = [1 2 3; 4 5 6; 7 8 9]; C = [0; 0.6667; 1]; p = patch(“脸”的脸,“顶点”顶点,“FaceVertexCData”C);p.FaceColor =“平”;colorbar

用颜色条显示三个三角形补丁面

要为顶点分配颜色,请指定FaceVertexCData的属性补丁对象作为数组C具有这些特点:

  • C是一个n × 1数组,其中n是顶点的个数。

  • 的值C(我)控制顶点的颜色

这里有一个例子C以及它与颜色映射和六个顶点的关系。

显示矩阵C中的值如何对应于颜色映射数组中的行以及两个三角形贴片面的顶点的图表。来自每个顶点的颜色混合在每个面上形成颜色梯度。

与贴片面一样,MATLAB在C到颜色图中的行数。在本例中,最小值为C (2) = 1,它映射到颜色图中的第一行。最大的值为C (6) = 6,它映射到颜色图的最后一行。

此代码创建补丁对象在前面的插图中描述。的FaceColor属性设置为的插值函数使顶点颜色在每个面上混合。

CLF顶点= [0 0;0 5;5 0;3 3;3 - 6;6 3];Faces = [1 2 3;4 5 6];C = [5;1; 4; 3; 2; 6]; p = patch(“脸”的脸,“顶点”顶点,“FaceVertexCData”C);p.FaceColor =的插值函数;colorbar

为六个顶点指定颜色的两个三角形补丁面

另请参阅

功能

属性

相关的话题

Baidu
map