startshape penta [a -1 b 1] CF::Background = [hue 240 sat 1 b -0.5]
IPHI = 2/(sqrt(5) + 1)
a1 =0.4 ra=(-1/10*sqrt(50+10*sqrt(5))) ri = (-1/10*sqrt(25+10*sqrt(5)))
shape penta {
loop i=5 [] { penta2 [hue (i*150) r (i*72)] }
}
shape penta2 {
pentabox [x -0.5 y ri a 0.2] penta2 [ x -0.0 y (-ra-ri/2) s 0.5] penta2 [ x -0.0 y (-ra-ri/2) s 0.5 r 72] penta2 [ x -0.0 y (-ra-ri/2) s 0.5 r -72]
}
shape pentabox {
pentago [hue 30 sat 1 b 1 a 1] dartshow [hue 10 sat 1 a a1] dartshow [hue 60 sat 1 x cos(108) y sin(72) r -72
a a1]
dartshow [hue 110 sat 1 x 0.5 y
(sin(72)+sin(144)) r -144 a a1]
dartshow [hue 170 sat 1 x (1+cos(72)) y sin(72) r
144 a a1]
dartshow [hue 2200 sat 1 x 1 y 0 r 72 a a1]
}
shape dartshow {
dart [ r 180 x (1+cos(72)) y sin(72)]
}
path dart {
MOVETO(0, 0) LINETO(1,0) LINETO( IPHI*cos(36), IPHI* sin(36)) LINETO(cos(72), sin(72)) CLOSEPOLY() STROKE(0.01)[b 0] STROKE(0.02, CF::RoundJoin )[hue 100 150 sat 1 b -1 a 1
]
FILL(CF::EvenOdd)[hue 3 ]
}
path pentago {
MOVETO(0, 0) LINETO(1,0) LINETO(1+cos(72),sin(72)) LINETO(0.5,sin(72)+sin(144)) LINETO(cos(108),sin(72)) LINETO(0,0) CLOSEPOLY() STROKE(0.01)[] FILL(CF::EvenOdd)[ ]
}