主要内容

彩色地图和真彩色的区别

许多图形对象,如表面、补丁和图像,都支持两种不同的指定颜色的技术:colormaps(使用索引颜色)和truecolor。每种技术都涉及到不同的工作流程,对您的视觉展示有不同的影响。

不同的工作流

色度图是一个m × 3的数组,其中每一行指定一个RGB三元组。若要在图形表示中使用色度图,则为图形中的每个位置分配索引。每个索引寻址颜色图中的一行,以在图形中的指定位置显示颜色。相比之下,使用真彩色需要在图形中的每个位置指定RGB三元组。

在决定使用哪种技术时,需要考虑以下几点:

  • Truecolor更直接。如果您想为图形中的特定位置指定特定的红、绿、蓝值,使用真彩色通常更容易。

  • 在调色板的一个区域中进行更改在色彩图中更容易做到。例如,如果您想在渐变中使从蓝色到绿色的过渡变亮,那么在色彩图中编辑这些行要比编辑图形中单个位置的颜色容易得多。

  • 数据的格式可能更适合某个工作流。例如,许多压缩GIF图像使用索引颜色存储。

这两种着色技术都使用颜色数组C指定颜色信息。的形状C这取决于图形对象的类型和所选择的着色方法。下表总结了不同之处。

图形对象的类型 属性包含颜色数组C 的形状C索引颜色 的形状C对真彩
表面 CData C是一个与z坐标数组相同大小的m × n数组。的价值C (i, j)的颜色映射索引Z (i, j) C是m × n × 3数组,在哪里C(:,:,我)和z坐标数组一样大。

C (i, j, 1)的红色组件Z (i, j)

2 C (i, j)的绿色组件Z (i, j)

3 C (i, j)的蓝色组件Z (i, j)
图像 CData C是m × n图像的m × n数组。的价值C (i, j)为像素指定色度索引(i, j) C是m × n图像的m × n × 3数组。

C (i, j, 1)指定像素的红色组件(i, j)

2 C (i, j)指定像素的绿色组件(i, j)

3 C (i, j)指定像素的蓝色组件(i, j)
补丁(x, y, z) CData 给脸上色,C是针对m个补丁面的1 × m数组。C(我)指定脸部的颜色映射索引

要给补丁顶点上色,C是一个m × n的数组,其中m是每个面的顶点数量,n是面的数量。C (i, j)指定顶点的颜色映射索引的脸j
给脸上色,C是针对m个补丁面的m × 3数组。C(我,:)指定脸的红色、绿色和蓝色值

要给补丁顶点上色,C是一个n × 3数组,其中n是顶点的总数。C(我,:)指定顶点的红色、绿色和蓝色值
补丁(face-vertex数据) FaceVertexCData 给脸上色,C是针对m个补丁面的1 × m数组。C(我)指定脸部的颜色映射索引

要给补丁顶点上色,C是一个1 × n的数组,其中n是顶点的总数。C(我)指定顶点的颜色映射索引
给脸上色,C是针对m个补丁面的m × 3数组。C(我,:)指定脸的红色、绿色和蓝色值

要给补丁顶点上色,C是一个n × 3数组,其中n是顶点的总数。C(我,:)指定顶点的红色、绿色和蓝色值

视觉呈现的差异

色彩图提供了一个包含m种颜色的调色板,其中m是色彩图的长度。相比之下,真彩色提供了256 × 256 × 256≈168万种颜色。

当你决定你的调色板需要多大的颜色时,考虑以下因素:

  • 较小的调色板是用纯色填充大片区域最经济的方法。它们在可视化曲面轮廓时也很有用。

  • 较大的调色板更适合显示微妙的过渡和平滑的颜色梯度。

在补丁表面上插入顶点颜色是索引颜色和真颜色之间的差异更明显的一种情况。下面的两个补丁说明了一个极端的情况。左边的补丁用的是小色图,而右边的补丁用的是真彩色。

如果您担心色彩图的调色板有限,您可以向它添加更多的颜色。使用色彩图改变配色方案演示如何使用具有特定数量颜色的色彩图。

相关的话题

Baidu
map