home *** CD-ROM | disk | FTP | other *** search
- // Persistence Of Vision Raytracer 2.0
- // Historical include file.
-
- // Old standard shapes include file
- // Included for historical comparison.
- // Some shapes were changed
- // for POV-Ray Version 1.0.
-
- #declare Shapes_Old_Temp = version
-
- #version 2.0
-
- #declare Sphere =
- quadric
- {<1, 1, 1>,
- <0, 0, 0>,
- <0, 0, 0>, -1
- }
-
- #declare Cylinder_X =
- quadric
- {<0, 1, 1>,
- <0, 0, 0>,
- <0, 0, 0>, -1
- }
-
- #declare Cylinder_Y =
- quadric
- {<1, 0, 1>,
- <0, 0, 0>,
- <0, 0, 0>, -1
- }
-
- #declare Cylinder_Z =
- quadric
- {<1, 1, 0>,
- <0, 0, 0>,
- <0, 0, 0>, -1
- }
-
- #declare Cone_X =
- quadric
- {<-1, 1, 1>,
- < 0, 0, 0>,
- < 0, 0, 0>, 0
- }
-
- #declare Cone_Y =
- quadric
- {<1, -1, 1>,
- <0, 0, 0>,
- <0, 0, 0>, 0
- }
-
- #declare Cone_Z =
- quadric
- {<1, 1,-1>,
- <0, 0, 0>,
- <0, 0, 0>, 0
- }
-
- // The Plane_nn objects were formerly defined as quadrics but now can
- // be redefined as plane because of v1.5 no longer requires object identifiers
- // to be a specific type.
-
- #declare Plane_YZ = plane {x,0}
-
- #declare Plane_XZ = plane {y,0}
-
- #declare Plane_XY = plane {z,0}
-
- /* y^2 + z^2 - x = 0 */
- #declare Paraboloid_X =
- quadric
- {< 0, 1, 1>,
- < 0, 0, 0>,
- <-1, 0, 0>, 0
- }
-
- /* x^2 + z^2 - y = 0 */
- #declare Paraboloid_Y =
- quadric
- {<1, 0, 1>,
- <0, 0, 0>,
- <0, -1, 0>, 0
- }
-
- /* x^2 + y^2 - z = 0 */
- #declare Paraboloid_Z =
- quadric
- {<1, 1, 0>,
- <0, 0, 0>,
- <0, 0, -1>, 0
- }
-
- /* y - x^2 + z^2 = 0 */
- #declare Hyperboloid =
- quadric
- {<-1, 0, 1>,
- < 0, 0, 0>,
- < 0, 1, 0>, 0
- }
-
- #declare Hyperboloid_Y =
- quadric /* Vertical hyperboloid */
- {<1, -1, 1>, /* */
- <0, 0, 0>, /* \ / */
- <0, 0, 0>, -1 /* Like this: ) ( */
- } /* / \ */
-
- // This primitive used to be an intersection of six planes. For speed,
- // it is now a box and nothing else.
- #declare Cube = box { <-1, -1, -1>, <1, 1, 1> }
-
- #declare Tetrahedron =
- intersection
- {plane {-y,1}
- plane { z,1 rotate <-30, 0, 0>}
- plane { x,1 rotate < 0, 30, 30>}
- plane {-x,1 rotate < 0,-30,-30>}
- }
-
- #declare X_Disk = /* Capped cylinder, Length in x axis */
- intersection
- {object {Cylinder_X}
- plane { x,1}
- plane {-x,0}
- }
-
- #declare Y_Disk = /* Capped cylinder, Length in y axis */
- intersection
- {object {Cylinder_Y}
- plane { y,1}
- plane {-y,0}
- }
-
- #declare Z_Disk = /* Capped cylinder, Length in z axis */
- intersection
- {object {Cylinder_Z}
- plane {-z,1}
- plane { z,0}
- }
- #declare Hexagon = /* Hexagonal Solid, axis along x */
- intersection /* Rotate 90 in z axis to stand up */
- {plane {z,1}
- plane {z,1 rotate < 60, 0, 0>}
- plane {z,1 rotate <120, 0, 0>}
- plane {z,1 rotate <180, 0, 0>}
- plane {z,1 rotate <240, 0, 0>}
- plane {z,1 rotate <300, 0, 0>}
- plane {x,1}
- plane {-x,1}
- }
-
- #declare Rhomboid = /* Three Dimensional 4-Sided Diamond */
- intersection
- {plane {-x,1 rotate <0, 0, -30>}
- plane { x,1 rotate <0, 0, -30>}
- plane { z,1}
- plane {-z,1}
- plane { y,1}
- plane {-y,1}
- }
-
- #declare Square_X = /* Scale-able plane in x */
- union
- {triangle {<0, 1, -1>, <0, -1, 1>, <1, 1, 1>}
- triangle {<0, 1, -1>, <0, -1, 1>, <0,-1,-1>}
- }
-
- #declare Square_Y = /* Scale-able plane in y */
- union
- {triangle {<-1, 0, 1>, <1, 0, -1>, < 1, 0, 1>}
- triangle {<-1, 0, 1>, <1, 0, -1>, <-1, 0, -1>}
- }
-
- #declare Square_Z = /* Scale-able plane in z */
- union
- {triangle {<-1, 1, 0>, <1, -1, 0>, <-1, -1, 0>}
- triangle {<-1, 1, 0>, <1, -1, 0>, < 1, 1, 0>}
- }
-
- #declare Pyramid =
- union
- {triangle {<-1, 0, -1>, <+1, 0, -1>, <0, 1, 0>}
- triangle {<+1, 0, -1>, <+1, 0, +1>, <0, 1, 0>}
- triangle {<-1, 0, +1>, <+1, 0, +1>, <0, 1, 0>}
- triangle {<-1, 0, +1>, <-1, 0, -1>, <0, 1, 0>}
- object {Square_Y}
- }
-
- #version Shapes_Old_Temp
-