2009-09-04 78 views
6

有沒有一種很好的方式來遍歷顏色?我知道這聽起來像一個奇怪的問題,但這是一個比喻。迭代顏色

假設你編寫了一個遊戲,你在地球周圍旅行。您選擇一個起點,然後定義一個重複應用的規則。例如:從您當前在地球上的位置開始,然後定義穿過您的位置以及北極和南極的大圓。每走一步,沿着這個圓圈行進10英里。每一步都會帶您前往類似的氣候環境(儘管有時您會因爲身處海洋而感到非常潮溼)。或者每一步行駛6000英里。現在每一步都是一個非常不同的氣候。

現在想象一下使用隨機顏色在屏幕上繪製元素的程序。也許你將增量設置爲一個較低的數字,並且每種顏色與之前的顏色非常相似。也許你把它設置得很高,並且每種顏色都與之前的顏色大不相同。

如果您使用RGB值並逐漸遞增R,G和B,則會逐漸發生變化,直到其中一個值發生變化並且突然發生變化。

使用HSB值時,色調的色域是圓形的,所以沒有不連續性。 S和B不是,而且你可能遇到一些難以區分的顏色,因爲S很低,看起來都是白色的。 S和B保持最大值是可能的,儘管它留下了很多顏色。

程序的每次運行只使用少量的顏色(10到15)。我想隨機挑選一些顏色,以便顏色和諧地融合在一起,一次它們發生衝突,一次它們都是粉彩,一次是混合飽和和柔和等等。

+0

想想這個的另一種方法是「騎自行車穿過顏色」。其中H,S和B每8位,保持S和B爲256,H增加1或11或61.但是這隻會得到256色。世界上有256種顏色嗎?或者是否有一些顏色與S和B的其他值不同且有趣,足以包含?如果是這樣,他們是哪些人,以及如何通過它們循環而忽略了幾百萬像白人或黑人一樣的人? – 2009-09-11 14:51:42

回答

2

如果你畫一個色輪,您可以通過從色輪的相反側選擇來獲得互補色。

這是一個頁面,其中包含了該想法的多種變體,並提供了一個很好的交互式應用程序來探索它們。

http://colorschemedesigner.com/

0

您可以通過思考HSL雙錐(見wikipedia HSV/HSL page)做得比256個色。它看起來有點像一個球體,它不需要太多的工作來將球體上的每個點翻譯成雙錐體表面上的一個點。現在,行走的顏色和你的行星走路一樣。你仍然錯過了不飽和的顏色,包括灰色。你可以用RGB彩色立方體做同樣的事情:想象一下走在表面 - 選擇一個不變的方向或隨機移動。

可能更簡單,但只是修改您的原始RGB想法,使用反射而不是包裝。如果你在(50,100,255),你的步增量是(1,2,3),你的下一個顏色是(51,102,252),你的增量調整爲(1,2,-3) 。