// Copyright (c) 2012, folkert@feedface.com // startshape NODE path DRAWCIRCLE { MOVETO ( 1, 0) ARCTO ( -1.0, 0, 1.0 ) ARCTO ( 1.0, 0, 1.0 ) CLOSEPOLY() FILL()[] } path DRAWRING { MOVETO ( 1, 0) ARCTO ( -1.0, 0, 1.0 ) ARCTO ( 1.0, 0, 1.0 ) CLOSEPOLY() STROKE()[] } path DRAWCUBE { LINETO ( 1, 0 ) LINETO ( 0.5, 1) LINETO ( -1, 0) LINETO (-0.5, 1) LINETO( -1, 0) LINETO (-0.5, -1) LINETO ( 0.5, -1) MOVETO (1, 0) CLOSEPOLY () STROKE () [] } //shape DRAWNODE { DRAWCIRCLE [] } //shape DRAWNODE { DRAWRING [] } //shape DRAWNODE { DRAWRING [] } //shape DRAWNODE { DRAWRING [] } shape DRAWNODE { DRAWCUBE [] } path DRAWLINE { MOVETO( 0, 0) LINETO( 1, 0) CLOSEPOLY() STROKE()[] } shape NODE { d = randint(5) g = 3 * 60 + randint(3) * 60 xx = cos(g) yy = sin(g) xn = xx * d yn = yy * d xnn = xx * (d+2) ynn = yy * (d+2) DRAWNODE [ b 0.1 r g b 0.2 ] DRAWLINE [ x xx y yy b 0.1 s d 1 r g b 0.2 ] NODE [ x xnn y ynn r g b 0.001 s 0.9] } shape NODE { d = 8 g = 60 xx = cos(g) yy = sin(g) xnn = xx * (d+2) ynn = yy * (d+2) DRAWNODE [ b 0.1 r g b 0.2 ] DRAWLINE [ x xx y yy b 0.1 s d 1 r g b 0.2 ] NODE [ x xnn y ynn r 120 b 0.001 s 0.5 ] NODE [ x xnn y ynn r 300 b 0.001 s 0.9] } //shape NODE { NODE [ sat 0.1 b 0.8 ] } //shape NODE { NODE [ sat -1 b 0.8 ] }