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)[ ]

}