# remember to set maxshapes # # Taken from: www.contextfreeart.org/gallery/view.php?id=1121 # # On: 03.01.2022 # # Originally created at: 24.03.2008 # # Original author: zol
background {b -.95 sat 1} startshape INIT
rule INIT {
bgimg {sat 1 b 1 a -1 z -1} ROOT {b -1 sat 0.1 h 120}
}
rule bgimg{
100* {s .99 a .01 sat -.1 z -1} CIRCLE {s 1.3}
}
rule ROOT {
frame {s 1.02} pass {s 0.975}
}
rule pass 4 {
split{}
} rule pass {
ROOT{}
} rule pass {
hole {} ROOT {s 1.5 b .1 z -1 sat 0.1 h 70}
} rule pass {
tilt {s 1.01} ROOT {r 45 s .73}
} rule pass {
turn{}
}
rule split {
ROOT [x -1 y -1 s .67 x 1 y 1] ROOT [x -1 y 1 s .33 x 1 y -1] ROOT [x 1 y 1 s .33 x -1 y -1] ROOT [x 1 y -1 s .33 x -1 y 1] ROOT [y 1 s .33 y -1] ROOT [x 1 s .33 x -1]
}
rule turn {
ROOT {r 90}
}
rule tilt {
itriangle [x -1 y -1 s .5 x 1 y 1] itriangle [x -1 y 1 s .5 x 1 y -1 r 270] itriangle [x 1 y 1 s .5 x -1 y -1 r 180] itriangle [x 1 y -1 s .5 x -1 y 1 r 90]
}
rule hole {
icurve [x -1 y -1 s .5 x 1 y 1] icurve [x -1 y 1 s .5 x 1 y -1 r 270] icurve [x 1 y 1 s .5 x -1 y -1 r 180] icurve [x 1 y -1 s .5 x -1 y 1 r 90] crescent {x .05 b .5 z -.5 sat .1 h 10}
} rule crescent {
icurve [x -1 y -1 s .5 x 1 y 1] icurve [x -1 y 1 s .5 x 1 y -1 r 270] SQUARE [x -.96 s .07 2 x -.96]
}
path frame {
MOVETO {x -.975 y -.975} LINETO {x .975 y -.975} LINETO {x .975 y .975} LINETO {x -.975 y .975} CLOSEPOLY{} STROKE {width .05 p squarecap}
}
path itriangle {
MOVETO {x -1 y 1} LINETO {x 1 y -1} LINETO {x -1 y -1} CLOSEPOLY {} FILL {}
}
path icurve {
MOVETO {x -1 y 1} ARCTO {x 1 y -1 r 2} LINETO {x -1 y -1} CLOSEPOLY {} FILL {}
}