컬러맵과 트루컬러의 차이점
곡면, 패치, 이미지 같은 다수의 그래픽스 객체는 색을 지정하는 두 가지 기법, 즉 컬러맵(인덱스 색상 사용)과 트루컬러를 지원합니다. 각 기법은 서로 다른 워크플로를 사용하며 시각적 표현에 서로 다른 영향을 줍니다.
워크플로에서의 차이점
컬러맵은 m×3 배열이며, 이 배열의 각 행은 RGB 3색을 지정합니다. 그래픽 표현에 컬러맵을 사용하려면 그래픽의 각 위치에 인덱스를 할당하십시오. 그래픽의 지정된 위치에 색을 표시하기 위해 각 인덱스는 컬러맵의 행에 주소를 지정합니다. 반면에 트루컬러를 사용하면 그래픽의 모든 위치에 RGB 3색을 지정해야 합니다.
다음은 사용할 기법을 결정할 때 고려해야 할 몇 가지 사항입니다.
트루컬러는 좀 더 직접적입니다. 특정 빨간색, 녹색, 파란색 값을 그래픽의 특정 위치에 할당하려는 경우, 일반적으로 트루컬러를 사용하면 더 쉽게 할당할 수 있습니다.
색 팔레트의 영역을 변경하는 경우, 컬러맵에서 더 쉽게 수행할 수 있습니다. 예를 들어, 파란색에서 녹색으로 전환되는 그라데이션을 밝게 변경하려는 경우, 그래픽의 개별 위치에 있는 색을 편집하는 것보다 컬러맵의 해당 행을 편집하는 것이 쉽습니다.
데이터의 형식이 두 워크플로 중 하나에 더 적합할 수 있습니다. 예를 들어, 압축된 GIF 이미지 대부분이 인덱스 색상을 사용하여 저장됩니다.
두 가지 색 지정 기법 모두 색 배열 C
를 사용하여 색 정보를 지정합니다. C
의 형태는 선택하는 색 지정 방법과 그래픽스 객체 유형에 따라 결정됩니다. 다음 표에는 이러한 차이점이 요약되어 있습니다.
그래픽스 객체의 유형 | 색 배열 C 가 포함된 속성 | 인덱스 색상의 경우 C 의 형태 | 트루컬러의 경우 C 의 형태 |
---|---|---|---|
Surface | CData | C 는 m×n 배열이며 z 좌표 배열과 크기가 동일합니다. C(i,j) 의 값은 Z(i,j) 에 대한 컬러맵 인덱스를 지정합니다. | C 는 m×n×3 배열이며 여기서 C(:,:,i) 는 z 좌표 배열과 크기가 동일합니다.C(i,j,1) 은 Z(i,j) 에 빨간색 성분을 지정합니다.C(i,j,2) 는 Z(i,j) 에 녹색 성분을 지정합니다.C(i,j,3) 은 Z(i,j) 에 파란색 성분을 지정합니다. |
Image | CData | m×n 이미지의 경우 C 는 m×n 배열입니다. C(i,j) 의 값은 픽셀 (i,j) 에 대한 컬러맵 인덱스를 지정합니다. | m×n 이미지의 경우 C 는 m×n×3 배열입니다.C(i,j,1) 은 픽셀 (i,j) 에 빨간색 성분을 지정합니다.C(i,j,2) 는 픽셀 (i,j) 에 녹색 성분을 지정합니다.C(i,j,3) 은 픽셀 (i,j) 에 파란색 성분을 지정합니다. |
Patch (x, y, z) | CData | 패치 면에 색을 지정하는 경우 C 는 m개 패치 면에 대해 1×m 배열입니다. C(i) 는 면 i 에 대한 컬러맵 인덱스를 지정합니다.패치 꼭짓점에 색을 지정하는 경우 C 는 m×n 배열이며 여기서 m은 면당 꼭짓점 개수이며, n은 면 개수입니다. C(i,j) 는 면 j 의 꼭짓점 i 에 대한 컬러맵 인덱스를 지정합니다. | 패치 면에 색을 지정하는 경우 C 는 m개 패치 면에 대해 m×3 배열입니다. C(i,:) 은 면 i 에 빨간색, 녹색, 파란색 값을 지정합니다.패치 꼭짓점에 색을 지정하는 경우 C 는 n×3 배열이며 여기서 n은 꼭짓점의 총 개수입니다. C(i,:) 은 꼭짓점 i 에 빨간색, 녹색, 파란색 값을 지정합니다. |
Patch (면-꼭짓점 데이터) | FaceVertexCData | 패치 면에 색을 지정하는 경우 C 는 m개 패치 면에 대해 1×m 배열입니다. C(i) 는 면 i 에 대한 컬러맵 인덱스를 지정합니다.패치 꼭짓점에 색을 지정하는 경우 C 는 1×n 배열이며 여기서 n은 꼭짓점의 총 개수입니다. C(i) 는 꼭짓점 i 에 대한 컬러맵 인덱스를 지정합니다. | 패치 면에 색을 지정하는 경우 C 는 m개 패치 면에 대해 m×3 배열입니다. C(i,:) 은 면 i 에 빨간색, 녹색, 파란색 값을 지정합니다.패치 꼭짓점에 색을 지정하는 경우 C 는 n×3 배열이며 여기서 n은 꼭짓점의 총 개수입니다. C(i,:) 은 꼭짓점 i 에 빨간색, 녹색, 파란색 값을 지정합니다. |
시각적 표현에서의 차이점
컬러맵은 m개 색으로 구성된 팔레트를 제공하며 여기서 m은 컬러맵의 길이입니다. 반면에, 트루컬러는 256 × 256 × 256 ≈ 1,680만 개 색으로 구성된 팔레트를 제공합니다.
얼마나 큰 색 팔레트가 필요한지 결정할 때 다음 변수를 고려해 보십시오.
색 팔레트가 작을수록 단색으로 큰 영역을 채우는 데 더 경제적입니다. 이는 곡면의 윤곽선을 시각화할 때에도 유용합니다.
색 팔레트가 클수록 부드러운 전환과 매끄러운 색 그라데이션을 표현하는 데 더 효과적입니다.
패치 면 전체에 걸쳐 꼭짓점 색을 보간하면 인덱스 색상과 트루컬러 간의 차이점이 좀 더 명확히 나타납니다. 다음 두 개의 패치는 극단적인 사례를 보여줍니다. 왼쪽 패치는 작은 컬러맵을 사용하고 오른쪽 패치는 트루컬러를 사용합니다.
컬러맵의 제한적 팔레트가 염려되는 경우 팔레트에 색을 추가할 수 있습니다. 컬러맵을 사용하여 색 체계 변경하기 항목은 특정 개수의 색을 갖는 컬러맵을 사용하는 방법을 보여줍니다.