// 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