2009年03月12日
Context Free Art で立体を描く
ビル群
ちょっとした立体風のものを描いてみた。立体を描く方法は Design ideas - Context Free Art を参照した。
ソースはこちら。
startshape ALL rule ALL{ Buildings { hue 0 b .7} } rule Buildings{ Building {} BuildingsRecur { hue 10 y 2 s .8 x 4 z -1} BuildingsRecur { hue 10 y 2 s .8 x -4 z -1} } rule BuildingsRecur .1{} rule BuildingsRecur { Buildings{} } rule Building{ CUBESIDE { } Building { y 1 } } rule Building .2{ CUBETOP { } CUBESIDE {} } rule CUBE{ CUBETOP {} CUBESIDE {} } rule CUBETOP { TOP{b .7 sat .7} } rule CUBESIDE{ SIDE{ b .8 sat .7 s -1 1 } SIDE{ b .5 sat .7} } rule SIDE {FACE{skew 0 30}} rule TOP {FACE[s 1.413 .816 r 135]} rule FACE {SQUARE{x .5 y -.5 h 30}}
バベルの塔
今度は円柱。縦に連ねて塔みたいなもの。
startshape BODY rule BODY { CYLINDER { b .4 } } rule CYLINDER { CYLINDER_BOTTOM {} } rule CYLINDER_BOTTOM { CIRCLE { s 1 .2 } SQUARE { y .125 s 1 .25} CYLINDER_BODY { y .25} } rule CYLINDER_BODY { SQUARE { y .125 s 1 .25} CYLINDER_BODY { y .25 } } rule CYLINDER_BODY { CYLINDER_TOP { } } rule CYLINDER_TOP { CIRCLE { s 1 .2 b .5 } CYLINDER { s .8 } }
LEGO
同じ円柱を活用して分岐させてみた。レゴっぽい。
startshape BODY rule BODY { CYLINDER { b .5 sat 1 } } rule CYLINDER { CYLINDER_BOTTOM {} } rule CYLINDER_BOTTOM { CIRCLE { s 1 .2 } SQUARE { y .125 s 1 .25} CYLINDER_BODY { y .25} } rule CYLINDER_BODY { SQUARE { y .125 s 1 .25} CYLINDER_BODY { y .25 } } rule CYLINDER_BODY { CYLINDER_TOP { } } rule CYLINDER_TOP { CIRCLE { s 1 .2 b .5 sat 1 } CYLINDER { s .3 x -.25 z 3 hue 45 } CYLINDER { s .3 x .25 z 3 hue 200 } }