문제

숫자 값 목록이 있습니다. 필요한 경우 값을 정상화 할 수 있습니다.

이 목록을 색상 목록으로 변환해야합니다 (HSL, RGB 또는 기타 색상 모델 - 나중에 항상 변환 할 수 있습니다).

특정 값의 경우 색상은 매번 동일해야합니다.

주어진 숫자 값이 다르면 대조적 인 값이 더 대비되어야합니다.

사용 된 모든 색상은 가능한 한 서로 대조적이어야합니다 (이것은 부드러운 한계이며 거친 솔루션이 가능합니다).

목록은 다소 큽니다 (수천 숫자). 단순히 모든 숫자를 단일 색상 채널로 짜면 너무 조밀 한 결과를 얻을 수 있습니다.

도움이 되었습니까?

해결책

3D 사용을 고려할 수 있습니다 공간 충족 곡선 선택한 색상 공간을 통해. 나는 두 번째 마크입니다 시엘 라브 제안, 내가 지난번에 비슷한 문제를 해결해야했던 것에 대해 알고 있었으면 좋겠다.

다른 팁

당신이 마침내 정착 한 알고리즘이 무엇이든, 당신은 시엘 라브 색상 공간. 그것은 인간 색상 인식의 차이를 정상화하여 동일한 숫자 간격이 동일한 지각 적 차이를 제공합니다.

보다: n "별개의"색상을 자동으로 생성하는 방법은 무엇입니까?

값을 정규화하고 내가 제안한 코드 (Hue == 귀하의 값)를 통해 맵/해시를 구축하는 것이 가장 좋습니다. (대신 해시 스타일 기능을 사용할 수 있습니다. 아마도 더 효율적일 것입니다.)

예를 들어, 예를 들어 미리 정해진 비트를 사용하여 가벼움 (또는 모델에 따라 밝기)과 채도를 "무작위 화"할 수 있습니다.

왜 회색 음영을 사용하지 않습니까? 최소/최대 값을 계산하고이를 사용하여 각 숫자를 흰색에서 검은 색으로 다른 음영으로 변환하십시오.

나는 그것이 색상이 아니라는 것을 알고 있지만 내 의견으로는 결과를 해석하기가 더 쉽습니다. 나는 무언가가 더 어두워지면 더 가벼울 때 의미하는 바를 말할 수 있지만, 예를 들어 녹색이 주황색보다 더 높은 값이라고 누가 말해야합니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top