-- Dodecahedron


-- vertice of a dodecahedron of edge length 2/gold
dodecahedronPoints :: RealFloat a => [Point3f a]
dodecahedronPoints = [ Point3f 1 1 1
                     , Point3f 1 1 (-1)
                     , Point3f 1 (-1) 1
                     , Point3f 1 (-1) (-1)
                     , Point3f (-1) 1 1
                     , Point3f (-1) 1 (-1)
                     , Point3f (-1) (-1) 1
                     , Point3f (-1) (-1) (-1)

                     , Point3f 0 (1/gold) gold
                     , Point3f 0 (1/gold) (-gold)
                     , Point3f 0 (-1/gold) gold
                     , Point3f 0 (-1/gold) (-gold)

                     , Point3f (1/gold) gold 0
                     , Point3f (1/gold) (-gold) 0
                     , Point3f (-1/gold) gold 0
                     , Point3f (-1/gold) (-gold) 0

                     , Point3f gold 0 (1/gold)
                     , Point3f gold 0 (-1/gold)
                     , Point3f (-gold) 0 (1/gold)
                     , Point3f (-gold) 0 (-1/gold)
                     ]
dodecahedronPoints :: RealFloat a => [Point3f a]
dodecahedronPoints = [ Point3f 1 1 1
                     , Point3f 1 1 (-1)
                     , Point3f 1 (-1) 1
                     , Point3f 1 (-1) (-1)
                     , Point3f (-1) 1 1
                     , Point3f (-1) 1 (-1)
                     , Point3f (-1) (-1) 1
                     , Point3f (-1) (-1) (-1)

                     , Point3f 0 (1/gold) gold
                     , Point3f 0 (1/gold) (-gold)
                     , Point3f 0 (-1/gold) gold
                     , Point3f 0 (-1/gold) (-gold)

                     , Point3f (1/gold) gold 0
                     , Point3f (1/gold) (-gold) 0
                     , Point3f (-1/gold) gold 0
                     , Point3f (-1/gold) (-gold) 0

                     , Point3f gold 0 (1/gold)
                     , Point3f gold 0 (-1/gold)
                     , Point3f (-gold) 0 (1/gold)
                     , Point3f (-gold) 0 (-1/gold)
                     ]
dodecahedronPoints = [ Point3f 1 1 1
                     , Point3f 1 1 (-1)
                     , Point3f 1 (-1) 1
                     , Point3f 1 (-1) (-1)
                     , Point3f (-1) 1 1
                     , Point3f (-1) 1 (-1)
                     , Point3f (-1) (-1) 1
                     , Point3f (-1) (-1) (-1)

                     , Point3f 0 (1/gold) gold
                     , Point3f 0 (1/gold) (-gold)
                     , Point3f 0 (-1/gold) gold
                     , Point3f 0 (-1/gold) (-gold)

                     , Point3f (1/gold) gold 0
                     , Point3f (1/gold) (-gold) 0
                     , Point3f (-1/gold) gold 0
                     , Point3f (-1/gold) (-gold) 0

                     , Point3f gold 0 (1/gold)
                     , Point3f gold 0 (-1/gold)
                     , Point3f (-gold) 0 (1/gold)
                     , Point3f (-gold) 0 (-1/gold)
                     ]