home *** CD-ROM | disk | FTP | other *** search
- // Shapes include
- // mimicked from PoV's
-
-
- #declare Cylinder_X = quadric { <0, 1, 1>, <0, 0, 0>, <0, 0, 0>, -1 }
- #declare Cylinder_Y = quadric { Cylinder_X rotate <0, 0, 90> }
- #declare Cylinder_Z = quadric { Cylinder_X rotate <0, 90, 0> }
-
- #declare Disk_X = intersection {
- plane { <-1, 0, 0>, 1 }
- plane { <1, 0, 0>, 1 }
- quadric { Cylinder_X }
- }
-
- #declare X_Disk = intersection {
- Disk_X
- translate <1, 0, 0>
- scale <0.5, 1, 1>
- }
-
- #declare Disk_Y = intersection {
- Disk_X
- rotate <0, 0, 90>
- }
-
- #declare Y_Disk = intersection {
- Disk_Y
- translate <0, 1, 0>
- scale <1, 0.5, 1>
- }
-
- #declare Disk_Z = intersection {
- Disk_X
- rotate <0, 90, 0>
- }
-
- #declare Z_Disk = intersection {
- Disk_Z
- translate <0, 0, 1>
- scale <1, 1, 0.5>
- }
-
- #declare QCone_X = quadric {
- <-1, 1, 1>,
- <0, 0, 0>,
- <0, 0, 0>, 0 }
-
- #declare QCone_Y = quadric { <1, -1, 1>, <0, 0, 0>, <0, 0, 0>, 0 }
-
- #declare QCone_Z = quadric { <1, 1, -1>, <0, 0, 0>, <0, 0, 0>, 0 }
-
- #declare Hexagon = intersection {
- plane { <0, 0, 1>, 1 }
- rotate <60, 0, 0>
- plane { <0, 0, 1>, 1 }
- rotate <60, 0, 0>
- plane { <0, 0, 1>, 1 }
- rotate <60, 0, 0>
- plane { <0, 0, 1>, 1 }
- rotate <60, 0, 0>
- plane { <0, 0, 1>, 1 }
- rotate <60, 0, 0>
- plane { <0, 0, 1>, 1 }
- plane { <1, 0, 0> ,1 }
- plane { <-1, 0, 0> ,1 }
- }
-
- #declare Ellipsoid = quadric {
- <1, 1 ,1>, <0, 0 ,0>, <0, 0, 0>, -1 closed
- }
-
- #declare Cube = box { <-1, -1, -1>, <1, 1, 1> }
-
- #declare Tetrahedron = intersection{
- plane { <0.577350, 0.577350, -0.577350>, 0.577350 }
- plane { -<-0.577350, 0.577350, -0.577350>, 0.577350 }
- plane { <-0.577350, 0.577350, 0.577350>, 0.577350 }
- plane { -<0.577350, 0.577350, 0.577350>, 0.577350 }
- }
-
- #declare CTetrahedron = composite {
- polygon { <1, 1, 1>, < 1, -1, -1>, <-1, 1, -1> }
- polygon { <1, 1, 1>, < 1, -1, -1>, <-1, -1, 1> }
- polygon { <1, 1, 1>, <-1, 1, -1>, <-1, -1, 1> }
- polygon { <1, -1, -1>, <-1, 1, -1>, <-1, -1, 1> }
- }
-
-
- #declare Octahedron = composite {
- plane { <0.577350, 0.577350, 0.577350>, 0.577350 }
- plane { -<-0.577350, -0.577350, 0.577350>, 0.577350 }
- plane { -<-0.577350, 0.577350, -0.577350>, 0.577350 }
- plane { <0.577350, -0.577350, -0.577350>, 0.577350 }
- plane { -<0.577350, -0.577350, -0.577350>, 0.577350 }
- plane { <-0.577350, 0.577350, -0.577350>, 0.577350 }
- plane { <-0.577350, -0.577350, 0.577350>, 0.577350 }
- plane { -<0.577350, 0.577350, 0.577350>, 0.577350 }
- }
-
- #declare COctahedron = composite {
- polygon { < 1, 0, 0>, <0, 1, 0>, <0, 0, 1> }
- polygon { < 1, 0, 0>, <0, 1, 0>, <0, 0, -1> }
- polygon { < 1, 0, 0>, <0, -1, 0>, <0, 0, 1> }
- polygon { < 1, 0, 0>, <0, -1, 0>, <0, 0, -1> }
- polygon { <-1, 0, 0>, <0, 1, 0>, <0, 0, 1> }
- polygon { <-1, 0, 0>, <0, 1, 0>, <0, 0, -1> }
- polygon { <-1, 0, 0>, <0, -1, 0>, <0, 0, 1> }
- polygon { <-1, 0, 0>, <0, -1, 0>, <0, 0, -1> }
- }
-
- #declare Cubeoctahedron = intersection {
- plane { <0.577350, 0.577350, 0.577350>, 1.154701 }
- plane { -<0.577350, -0.577350, -0.577350>, 1.154701 }
- plane { -<-0.577350, 0.577350, -0.577350>, 1.154701 }
- plane { <-0.577350, -0.577350, 0.577350>, 1.154701 }
- plane { -<0.577350, 0.577350, 0.577350>, 1.154701 }
- plane { <0.577350, -0.577350, -0.577350>, 1.154701 }
- plane { <-0.577350, 0.577350, -0.577350>, 1.154701 }
- plane { -<-0.577350, -0.577350, 0.577350>, 1.154701 }
- plane { <0.000000, 1.000000, 0.000000>, 1.000000 }
- plane { <0.000000, 0.000000, 1.000000>, 1.000000 }
- plane { -<0.000000, 1.000000, 0.000000>, 1.000000 }
- plane { -<0.000000, -0.000000, 1.000000>, 1.000000 }
- plane { <1.000000, 0.000000, 0.000000>, 1.000000 }
- plane { -<1.000000, 0.000000, 0.000000>, 1.000000 }
- }
-
- #declare CCubeoctahedron = composite {
- polygon { < 0, 1, 1>, < 1, 0, 1>, < 1, 1, 0> }
- polygon { < 0, 1, 1>, <-1, 0, 1>, <-1, 1, 0> }
- polygon { < 0, -1, 1>, < 1, 0, 1>, < 1, -1, 0> }
- polygon { < 0, -1, 1>, <-1, 0, 1>, <-1, -1, 0> }
- polygon { < 0, -1, -1>, <-1, 0, -1>, <-1, -1, 0> }
- polygon { < 0, -1, -1>, < 1, 0, -1>, < 1, -1, 0> }
- polygon { < 0, 1, -1>, <-1, 0, -1>, <-1, 1, 0> }
- polygon { < 0, 1, -1>, < 1, 0, -1>, < 1, 1, 0> }
- polygon { < 0, 1, 1>, < 1, 1, 0>, < 0, 1, -1>, <-1, 1, 0> }
- polygon { < 0, 1, 1>, <-1, 0, 1>, < 0, -1, 1>, < 1, 0, 1> }
- polygon { < 0, -1, 1>, < 1, -1, 0>, < 0, -1, -1>, <-1, -1, 0> }
- polygon { < 0, -1, -1>, < 1, 0, -1>, < 0, 1, -1>, <-1, 0, -1> }
- polygon { < 1, 0, 1>, < 1, -1, 0>, < 1, 0, -1>, < 1, 1, 0> }
- polygon { <-1, 0, 1>, <-1, -1, 0>, <-1, 0, -1>, <-1, 1, 0> }
- }
-
- #declare Icosahedron = intersection {
- plane { -<-0.000000, -0.356821, -0.934173>, 1.511520 }
- plane { <0.577350, 0.577350, 0.577350>, 1.511520 }
- plane { -<-0.934173, -0.000000, -0.356821>, 1.511520 }
- plane { -<-0.577350, 0.577350, -0.577350>, 1.511520 }
- plane { <0.000000, -0.356821, 0.934173>, 1.511520 }
- plane { <-0.577350, -0.577350, 0.577350>, 1.511520 }
- plane { <-0.934173, 0.000000, 0.356821>, 1.511520 }
- plane { -<0.577350, -0.577350, -0.577350>, 1.511520 }
- plane { <-0.356821, 0.934173, 0.000000>, 1.511520 }
- plane { -<-0.356821, -0.934173, -0.000000>, 1.511520 }
- plane { -<0.356821, 0.934173, 0.000000>, 1.511520 }
- plane { <0.356821, -0.934173, 0.000000>, 1.511520 }
- plane { <0.000000, 0.356821, -0.934173>, 1.511520 }
- plane { -<-0.577350, -0.577350, 0.577350>, 1.511520 }
- plane { <0.934173, 0.000000, -0.356821>, 1.511520 }
- plane { <0.577350, -0.577350, -0.577350>, 1.511520 }
- plane { -<0.000000, 0.356821, 0.934173>, -1.511520 }
- plane { -<0.577350, 0.577350, 0.577350>, -1.511520 }
- plane { -<0.934173, 0.000000, 0.356821>, -1.511520 }
- plane { <-0.577350, 0.577350, -0.577350>, 1.511520 }
- }
-
- #declare CIcosahedron = composite {
- polygon { < 0, 1.61803, 1>, < 1, 0, 1.61803>, <-1, 0, 1.61803> }
- polygon { < 0, 1.61803, 1>, < 1, 0, 1.61803>, < 1.61803, 1, 0> }
- polygon { < 1, 0, 1.61803>, < 1.61803, 1, 0>, < 1.61803, -1, 0> }
- polygon { < 0, -1.61803, 1>, < 1, 0, 1.61803>, < 1.61803, -1, 0> }
- polygon { < 0, -1.61803, 1>, < 1, 0, 1.61803>, <-1, 0, 1.61803> }
- polygon { < 0, -1.61803, 1>, <-1, 0, 1.61803>, <-1.61803, -1, 0> }
- polygon { <-1, 0, 1.61803>, <-1.61803, 1, 0>, <-1.61803, -1, 0> }
- polygon { < 0, 1.61803, 1>, <-1, 0, 1.61803>, <-1.61803, 1, 0> }
- polygon { < 0, 1.61803, 1>, < 0, 1.61803, -1>, <-1.61803, 1, 0> }
- polygon { < 0, 1.61803, 1>, < 0, 1.61803, -1>, < 1.61803, 1, 0> }
- polygon { < 0, -1.61803, 1>, < 0, -1.61803, -1>, <-1.61803, -1, 0> }
- polygon { < 0, -1.61803, 1>, < 0, -1.61803, -1>, < 1.61803, -1, 0> }
- polygon { < 0, 1.61803, -1>, < 1, 0, -1.61803>, <-1, 0, -1.61803> }
- polygon { < 0, 1.61803, -1>, < 1, 0, -1.61803>, < 1.61803, 1, 0> }
- polygon { < 1, 0, -1.61803>, < 1.61803, 1, 0>, < 1.61803, -1, 0> }
- polygon { < 0, -1.61803, -1>, < 1, 0, -1.61803>, < 1.61803, -1, 0> }
- polygon { < 0, -1.61803, -1>, < 1, 0, -1.61803>, <-1, 0, -1.61803> }
- polygon { < 0, -1.61803, -1>, <-1, 0, -1.61803>, <-1.61803, -1, 0> }
- polygon { <-1, 0, -1.61803>, <-1.61803, 1, 0>, <-1.61803, -1, 0> }
- polygon { < 0, 1.61803, -1>, <-1, 0, -1.61803>, <-1.61803, 1, 0> }
- }
-
- #declare Dodecahedron = intersection {
- plane { <0.525729, 0.000000, 0.850652>, 1.376381 }
- plane { <-0.000003, 0.850652, 0.525730>, 1.376378 }
- plane { <-0.525730, -0.000003, 0.850652>, 1.376378 }
- plane { <0.000003, -0.850652, 0.525730>, 1.376378 }
- plane { <0.525729, 0.000000, -0.850652>, 1.376381 }
- plane { <-0.000003, -0.850652, -0.525730>, 1.376378 }
- plane { <-0.525730, 0.000003, -0.850652>, 1.376378 }
- plane { -<0.000003, -0.850652, 0.525730>, 1.376378 }
- plane { -<-0.850652, 0.525729, 0.000000>, 1.376381 }
- plane { <0.850652, 0.525729, 0.000000>, 1.376381 }
- plane { -<0.850652, -0.525729, 0.000000>, 1.376381 }
- plane { <-0.850652, -0.525729, -0.000000>, 1.376381 }
- }
-
- #declare CDodecahedron = composite {
- polygon { <0, 0.618034, 1.61803>, <0, -0.618034, 1.61803>, <1, -1, 1>, <1.61803, 0, 0.618034>, <1, 1, 1> }
- polygon { <0, 0.618034, 1.61803>, <1, 1, 1>, <0.618034, 1.61803, 0>, <-0.618034, 1.61803, 0>, <-1, 1, 1> }
- polygon { <0, 0.618034, 1.61803>, <-1, 1, 1>, <-1.61803, 0, 0.618034>, <-1, -1, 1>, <0, -0.618034, 1.61803> }
- polygon { <0, -0.618034, 1.61803>, <-1, -1, 1>, <-0.618034, -1.61803, 0>, <0.618034, -1.61803, 0>, <1, -1, 1> }
- polygon { <0, -0.618034, -1.61803>, <0, 0.618034, -1.61803>, <1, 1, -1>, <1.61803, 0, -0.618034>, <1, -1, -1> }
- polygon { <0, -0.618034, -1.61803>, <1, -1, -1>, <0.618034, -1.61803, 0>, <-0.618034, -1.61803, 0>, <-1, -1, -1> }
- polygon { <0, -0.618034, -1.61803>, <-1, -1, -1>, <-1.61803, 0, -0.618034>, <-1, 1, -1>, <0, 0.618034, -1.61803> }
- polygon { <0, 0.618034, -1.61803>, <1, 1, -1>, <0.618034, 1.61803, 0>, <-0.618034, 1.61803, 0>, <-1, 1, -1> }
- polygon { <1.61803, 0, 0.618034>, <1.61803, 0, -0.618034>, <1, -1, -1>, <0.618034, -1.61803, 0>, <1, -1, 1> }
- polygon { <1.61803, 0, 0.618034>, <1.61803, 0, -0.618034>, <1, 1, -1>, <0.618034, 1.61803, 0>, <1, 1, 1> }
- polygon { <-1.61803, 0, 0.618034>, <-1.61803, 0, -0.618034>, <-1, 1, -1>, <-0.618034, 1.61803, 0>, <-1, 1, 1> }
- polygon { <-1.61803, 0, 0.618034>, <-1.61803, 0, -0.618034>, <-1, -1, -1>, <-0.618034, -1.61803, 0>, <-1, -1, 1> }
- }
-
- #declare Icosidodecahedron = intersection {
- plane { <0.934171, 0.000000, 0.356825>, 1.868342 }
- plane { -<-0.934171, 0.000000, 0.356825>, 1.868342 }
- plane { -<0.934171, 0.000000, -0.356825>, 1.868342 }
- plane { <-0.934171, -0.000000, -0.356825>, 1.868342 }
- plane { <0.356825, 0.934171, 0.000000>, 1.868342 }
- plane { -<0.356825, -0.934171, 0.000000>, 1.868342 }
- plane { -<-0.356825, 0.934171, 0.000000>, 1.868342 }
- plane { <-0.356825, -0.934171, -0.000000>, 1.868342 }
- plane { <0.000000, 0.356825, 0.934171>, 1.868342 }
- plane { -<0.000000, 0.356825, -0.934171>, 1.868342 }
- plane { -<0.000000, -0.356825, 0.934171>, 1.868342 }
- plane { <-0.000000, -0.356825, -0.934171>, 1.868342 }
- plane { <0.577350, 0.577350, 0.577350>, 1.868342 }
- plane { -<-0.577350, -0.577350, 0.577350>, 1.868342 }
- plane { -<-0.577350, 0.577350, -0.577350>, 1.868342 }
- plane { <0.577350, -0.577350, -0.577350>, 1.868342 }
- plane { -<0.577350, -0.577350, -0.577350>, 1.868342 }
- plane { <-0.577350, 0.577350, -0.577350>, 1.868342 }
- plane { <-0.577350, -0.577350, 0.577350>, 1.868342 }
- plane { -<0.577350, 0.577350, 0.577350>, 1.868342 }
- plane { -<-0.850651, -0.525731, -0.000003>, 1.701302 }
- plane { <0.850651, -0.525731, 0.000003>, 1.701302 }
- plane { <-0.850651, 0.525731, 0.000003>, 1.701302 }
- plane { -<0.850651, 0.525731, -0.000003>, 1.701302 }
- plane { -<-0.000003, -0.850651, -0.525731>, 1.701302 }
- plane { <0.000003, 0.850651, -0.525731>, 1.701302 }
- plane { <0.000003, -0.850651, 0.525731>, 1.701302 }
- plane { -<-0.000003, 0.850651, 0.525731>, 1.701302 }
- plane { -<-0.525731, -0.000003, -0.850651>, 1.701302 }
- plane { <-0.525731, 0.000003, 0.850651>, 1.701302 }
- plane { <0.525731, 0.000003, -0.850651>, 1.701302 }
- plane { -<0.525731, -0.000003, 0.850651>, 1.701302 }
- }
-
-
- #declare CIcosidodecahedron = composite {
- polygon { < 2, 0, 0>, < 1.61803, 0.618034, 1>, < 1.61803, -0.618034, 1> }
- polygon { < 2, 0, 0>, < 1.61803, 0.618034, -1>, < 1.61803, -0.618034, -1> }
- polygon { <-2, 0, 0>, <-1.61803, 0.618034, 1>, <-1.61803, -0.618034, 1> }
- polygon { <-2, 0, 0>, <-1.61803, 0.618034, -1>, <-1.61803, -0.618034, -1> }
- polygon { < 0, 2, 0>, < 1, 1.61803, 0.618034>, < 1, 1.61803, -0.618034> }
- polygon { < 0, 2, 0>, <-1, 1.61803, 0.618034>, <-1, 1.61803, -0.618034> }
- polygon { < 0, -2, 0>, < 1, -1.61803, 0.618034>, < 1, -1.61803, -0.618034> }
- polygon { < 0, -2, 0>, <-1, -1.61803, 0.618034>, <-1, -1.61803, -0.618034> }
- polygon { < 0, 0, 2>, < 0.618034, 1, 1.61803>, <-0.618034, 1, 1.61803> }
- polygon { < 0, 0, 2>, < 0.618034, -1, 1.61803>, <-0.618034, -1, 1.61803> }
- polygon { < 0, 0, -2>, < 0.618034, 1, -1.61803>, <-0.618034, 1, -1.61803> }
- polygon { < 0, 0, -2>, < 0.618034, -1, -1.61803>, <-0.618034, -1, -1.61803> }
- polygon { < 1.61803, 0.618034, 1>, < 1, 1.61803, 0.618034>, < 0.618034, 1, 1.61803> }
- polygon { < 1.61803, 0.618034, -1>, < 1, 1.61803, -0.618034>, < 0.618034, 1, -1.61803> }
- polygon { < 1.61803, -0.618034, 1>, < 1, -1.61803, 0.618034>, < 0.618034, -1, 1.61803> }
- polygon { < 1.61803, -0.618034, -1>, < 1, -1.61803, -0.618034>, < 0.618034, -1, -1.61803> }
- polygon { <-1.61803, 0.618034, 1>, <-1, 1.61803, 0.618034>, <-0.618034, 1, 1.61803> }
- polygon { <-1.61803, 0.618034, -1>, <-1, 1.61803, -0.618034>, <-0.618034, 1, -1.61803> }
- polygon { <-1.61803, -0.618034, 1>, <-1, -1.61803, 0.618034>, <-0.618034, -1, 1.61803> }
- polygon { <-1.61803, -0.618034, -1>, <-1, -1.61803, -0.618034>, <-0.618034, -1, -1.61803> }
- polygon { < 2, 0, 0>, < 1.61803, 0.618034, 1>, < 1, 1.61803, 0.618034>, < 1, 1.61803, -0.618034>, < 1.61803, 0.618034, -1> }
- polygon { < 2, 0, 0>, < 1.61803, -0.618034, 1>, < 1, -1.61803, 0.618034>, < 1, -1.61803, -0.618034>, < 1.61803, -0.618034, -1> }
- polygon { <-2, 0, 0>, <-1.61803, 0.618034, 1>, <-1, 1.61803, 0.618034>, <-1, 1.61803, -0.618034>, <-1.61803, 0.618034, -1> }
- polygon { <-2, 0, 0>, <-1.61803, -0.618034, 1>, <-1, -1.61803, 0.618034>, <-1, -1.61803, -0.618034>, <-1.61803, -0.618034, -1> }
- polygon { < 0, 2, 0>, < 1, 1.61803, 0.618034>, < 0.618034, 1, 1.61803>, <-0.618034, 1, 1.61803>, <-1, 1.61803, 0.618034> }
- polygon { < 0, 2, 0>, < 1, 1.61803, -0.618034>, < 0.618034, 1, -1.61803>, <-0.618034, 1, -1.61803>, <-1, 1.61803, -0.618034> }
- polygon { < 0, -2, 0>, < 1, -1.61803, 0.618034>, < 0.618034, -1, 1.61803>, <-0.618034, -1, 1.61803>, <-1, -1.61803, 0.618034> }
- polygon { < 0, -2, 0>, < 1, -1.61803, -0.618034>, < 0.618034, -1, -1.61803>, <-0.618034, -1, -1.61803>, <-1, -1.61803, -0.618034> }
- polygon { < 0, 0, 2>, < 0.618034, 1, 1.61803>, < 1.61803, 0.618034, 1>, < 1.61803, -0.618034, 1>, < 0.618034, -1, 1.61803> }
- polygon { < 0, 0, 2>, <-0.618034, 1, 1.61803>, <-1.61803, 0.618034, 1>, <-1.61803, -0.618034, 1>, <-0.618034, -1, 1.61803> }
- polygon { < 0, 0, -2>, < 0.618034, 1, -1.61803>, < 1.61803, 0.618034, -1>, < 1.61803, -0.618034, -1>, < 0.618034, -1, -1.61803> }
- polygon { < 0, 0, -2>, <-0.618034, 1, -1.61803>, <-1.61803, 0.618034, -1>, <-1.61803, -0.618034, -1>, <-0.618034, -1, -1.61803> }
- }
-
-
-