2008年03月25日
日本の伝統色をHSV空間に配置してみた
color label explorer (※やや重い) が面白かったので、日本の伝統色でやってみた。
データは Japanese Traditional Colors - 日本の伝統色: 2xup から抽出させてもらったのを使ってる。

こうやって分布させるだけでも、新たな気づきがあっておもしろい。
内側に密集していて、外側にいくほど(彩度が高くなるほど)色が少なくなる。特に、左下の緑なんてすっからかん。伝統色には、自然を表現する色が多いのに、緑が少ないとは意外。自然界には、彩度が高い色は少ない、ということか。
一応ソースものっけておく。これぐらいなら、JS ででもできそうなんだけど、日ごろの慣れで AS。
package{
import flash.display.*;
import flash.text.TextField;
import sketchbook.colors.*;
import com.nitoyon.as3query.*;
[SWF(backgroundColor="#000000")]
public class TraditionalColor extends Sprite{
private var box:Sprite;
public function TraditionalColor(){
$(stage)
.attr({
align: "TL",
scaleMode: "noScale"
});
box = $(Sprite)
.attr({x : 200, y : 200})
.appendTo(this)[0];
for each(var col:Object in colors){
putColor(col);
}
}
private function putColor(col:Object):void{
var hsb:Object = ColorUtil.getHSB(col.value);
var rad:Number = (2 * Math.PI * hsb.h) / 360;
var r:Number = hsb.s * 2;
$(TextField)
.text(col.color)
.attr({
textColor : col.value,
autoSize: "left",
selectable: false,
x : r * Math.cos(rad),
y : r * Math.sin(rad)
})
.appendTo(box);
}
private var colors:Array = [
{value: 0xfef4f4, color: "桜色 ", yomi: "さくらいろ"},
{value: 0xfdeff2, color: "薄桜 ", yomi: "うすざくら"},
// 以下略
}
}
}
無駄に as3Query を使ってる。あと、HSV 変換は sketchbook の ColorUtil を使ってる。