2012-02-29 5 views
1

이중 값 (양수 및 음수)의 행렬에서 힙 맵을 만들어야하지만 녹색과 빨간색 범위 내의 값에서 색상을 얻으려면 어떻게해야합니까? 감사합니다.이중 값의 색상 얻기

답변

1

대부분의 빨강 - 녹색 히트 맵에서와 같이 녹색이 ​​양수이고 빨간색이 음수라고 가정하면 양수 값 중에서 가장 양수 값을 찾아서 나누고 음수 값 중에서 가장 음수 값을 찾아서 나누십시오 . 녹색의 경우 양수 값의 비율에 255를 곱하고 빨간색을 0으로 유지하고 빨간색의 경우 255로 음수 값의 비율을 곱하고 녹색을 0으로 유지합니다. 값이 0이면 검정이어야합니다. 값이 가장 긍정적 인 경우 완전히 녹색입니다. 값이 가장 음수이면 완전히 빨간색입니다.

2

"풀 레드"(예 : (255,0,0)) 및 "풀 그린"(예 : (0,255,0))의 RGB 색상을 선택하십시오. 그런 다음 입력 값과 최대 값 사이의 비율에 따라 이들을 보간합니다.

RGB colour space에서 가능한 가장 간단한 보간은 linear interpolation입니다. 그러나 이는 매우 만족스러운 결과를 제공하지 않을 수 있습니다 (특히, 값의 밝기와 채도가 다를 수 있음). 더 나은 방법은 HSV colour space으로 변환하여 거기에서 보간하는 것입니다.

+0

예를 들어 주시겠습니까? – Ant4res

+0

@ V4l3ri4 : 구체적으로 무엇인가? –

+0

['PaintComponentTest'] (http://stackoverflow.com/a/7776211/230513)는'Color.getHSBColor()'를 사용합니다. 색상을'[0..1]'이 아닌 [0. 0. 1/3]'범위로 확장하고자 할 것입니다. – trashgod

2

값 범위를 색조 - 채도 값/밝기 색 공간의 색조 범위로 매핑 한 다음이를 RGB로 변환하고자 할 것입니다.

관련 문제