Context Free Art

眠れないのでinajobの紹介していたContext Free Artをダウンロードした。

さっそく

startshape EGG

rule EGG{
	CIRCLE { }
	CIRCLE { b 1 s 0.9 }
	EGG { x 0.3 s 0.6 r 10}
	EGG { x -0.3 s 0.6 r 10}
}

うむ、きれいなレンダラに食わせないとどうしても安っぽくなってしまいがちだった3次元版のStructureSynthに比べて、こっちは適当に白黒で作っただけなのに見栄えがいいな。

startshape EGG

rule RING{
	CIRCLE { }
	CIRCLE { b 1 s 0.9 }
	SQUARE { s 0.6 }
}
rule EGG{
	RING {} 
	12 * {r 30} RING { s 0.2 x 0.4 r 30 }
	EGG {s 0.6 r -10}
}

わっかなのになぜか渦巻きに見える。

startshape EGG

rule RING{
	CIRCLE { }
	CIRCLE { b 1 s 0.9 }
	SQUARE { s 0.6}
}
rule EGG{
	RING {} 
	12 * {r 30} RING { s 0.2 x 0.4 r 30 }
	EGG {s 0.8 r -10 z 0.1 a -0.1 b 0.2}
}

あー、いちおうz-order的な意味でzの値もあるんだ。

referenceを見てもmax-depth的なものが見つからないんだが。

startshape EGG

rule RING{
	10 * {s 0.99 hue 30 z 0.1} CIRCLE {b 1}
	CIRCLE {z 1 b 1 sat -1 s 0.9 }
}

rule EGG{
	RING {hue 0 sat 1} 
	3 * {r 120} EGG1 { s 0.8 x 0.1 z 3 r 10}
}

rule EGG1{
	RING {hue 0 sat 1} 
	3 * {r 120} EGG2 { s 0.8 x 0.1 z 3 r 10}
}

rule EGG2{
	RING {hue 0 sat 1} 
	3 * {r 120 z 2} EGG3 { s 0.8 x 0.1 z 3 r 10}
}

rule EGG3{
	RING {hue 0 sat 1} 
	3 * {r 120 z 2} EGG4 { s 0.8 x 0.1 z 3 r 10}
}

rule EGG4{
	RING {hue 0 sat 1} 
}


アルファがあるのはいいけど、合成が加算合成のみしかないように思える。あとくりぬかれたものを作る手段ってあるのかな。

startshape GATES

rule GATE {
	SQUARE {x 1 s 1 3}
	SQUARE {y 1}
	SQUARE {x -1 s 1 3}
}

rule GATE_S {
	GATE {}
	GATE {z -0.1 b 0.2 s 1 0.6 skew 50 0  y -0.6 x 1.8}
}

rule GATES {
	GATE_S {}
	GATES { s 0.8 y 2 x 3 b 0.05}
	GATE_SPAWN { s 0.8 y 2 x -3 b 0.05}
}

rule GATE_SPAWN {
	GATE_S {}
}

rule GATE_SPAWN 0.1 {
	GATES {}
}


startshape EGG

background { b -1 }

rule GLOW {
	20 * { s 0.98 }
	CIRCLE {a -0.9 b 1}
}

rule ARC {
	8 * {r 30 hue 3} GLOW { x 1 sat 1}
}

rule ARCS {
	8 * {r 30 hue 3} ARC { x 4}
}

rule ARCSS {
	9 * {r 30 hue 3} ARCS { x 16}
}

rule EGG {
	3 * {r 120} ARCSS {x 24.5}
}


startshape EGG

background { b -1 }

rule GLOW {
	20 * { s 0.98 }
	CIRCLE {a -0.9 b 1}
}

rule ARC {
	8 * {r 30 hue 3} GLOW { x 1 sat 1}
}

rule ARCS {
	8 * {r 30 hue 3} ARC { x 4}
}

rule ARCSS {
	9 * {r 30 hue 3} ARCS { x 16}
}

rule ES {
	ARCSS {}
	ARCSS {r 180 x 41}
}

rule STAR {
	7 * {r 51} ES {x 25}
}

rule EGG {
	STAR {}
	3 * {r 120} STAR {x 100 s 0.3 flip 180 }
}