# 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 {}

}