dot_size = 0.15 CF::Size = [s 80 x -8] CF::Background = [b -0.9 h 230 sat 0.75] startshape galaxy[b 1] shape galaxy { dot[s 10] loop 9[] { distance = 4..30 ring(distance)[] planet_rotation = 1..360 trans[[r planet_rotation x distance]] { CIRCLE[s 0.2..0.8] trans [r -planet_rotation] { marker[] } } } } shape ring(distance) { loop (360)[r 1..6] dot[x distance] } shape marker { loop 8[x 0.2 y 0.2] { dot[] } finally { script[x 1 y 0.6] loop 96[x 0.2] { dot[] } } } shape script { loop 4..20[x 1] char[a -0.25] } shape char rule { } rule 4 { SQUARE[s 0.5 0.5] } rule { SQUARE[s 0.5 0.25] } rule { char[y 0.5] } shape dot { CIRCLE[s dot_size a 0.5] loop 1..2[x rand::normal(0,1) rand::normal(0,1)] SQUARE[s 1..2 a -0.998] }