home *** CD-ROM | disk | FTP | other *** search
- // Persistence of Vision Raytracer
- // Standard shapes include file
- //
-
- #declare QSphere = quadric
- <1.0 1.0 1.0>
- <0.0 0.0 0.0>
- <0.0 0.0 0.0>
- -1.0
- end_quadric
-
-
- #declare Cylinder_X = quadric
- <0.0 1.0 1.0>
- <0.0 0.0 0.0>
- <0.0 0.0 0.0>
- -1.0
- end_quadric
-
-
- #declare Cylinder_Y = quadric
- <1.0 0.0 1.0>
- <0.0 0.0 0.0>
- <0.0 0.0 0.0>
- -1.0
- end_quadric
-
-
- #declare Cylinder_Z = quadric
- <1.0 1.0 0.0>
- <0.0 0.0 0.0>
- <0.0 0.0 0.0>
- -1.0
- end_quadric
-
-
- #declare Cone_X = quadric
- <-1.0 1.0 1.0>
- <0.0 0.0 0.0>
- <0.0 0.0 0.0>
- 0.0
- end_quadric
-
-
- #declare Cone_Y = quadric
- <1.0 -1.0 1.0>
- <0.0 0.0 0.0>
- <0.0 0.0 0.0>
- 0.0
- end_quadric
-
-
- #declare Cone_Z = quadric
- <1.0 1.0 -1.0>
- <0.0 0.0 0.0>
- <0.0 0.0 0.0>
- 0.0
- end_quadric
-
-
- #declare Plane_YZ = quadric
- <0.0 0.0 0.0>
- <0.0 0.0 0.0>
- <1.0 0.0 0.0>
- 0.0
- end_quadric
-
-
- #declare Plane_XZ = quadric
- <0.0 0.0 0.0>
- <0.0 0.0 0.0>
- <0.0 1.0 0.0>
- 0.0
- end_quadric
-
-
- #declare Plane_XY = quadric
- <0.0 0.0 0.0>
- <0.0 0.0 0.0>
- <0.0 0.0 1.0>
- 0.0
- end_quadric
-
-
- { y^2 + z^2 - x = 0 }
- #declare Paraboloid_X = quadric
- <0.0 1.0 1.0>
- <0.0 0.0 0.0>
- <-1.0 0.0 0.0>
- 0.0
- end_quadric
-
-
- { x^2 + z^2 - y = 0 }
- #declare Paraboloid_Y = quadric
- <1.0 0.0 1.0>
- <0.0 0.0 0.0>
- <0.0 -1.0 0.0>
- 0.0
- end_quadric
-
-
- { x^2 + y^2 - z = 0 }
- #declare Paraboloid_Z = quadric
- <1.0 1.0 0.0>
- <0.0 0.0 0.0>
- <0.0 0.0 -1.0>
- 0.0
- end_quadric
-
-
- { y - x^2 + z^2 = 0 }
- #declare Hyperboloid = quadric
- < -1.0 0.0 1.0>
- < 0.0 0.0 0.0>
- < 0.0 1.0 0.0>
- 0.0
- end_quadric
-
-
- #declare Hyperboloid_Y = quadric { Vertical hyperboloid }
- <1.0 -1.0 1.0> { }
- <0.0 0.0 0.0> { \ / }
- <0.0 0.0 0.0> { Like this: ) ( }
- -1.0 { / \ }
- end_quadric
-
-
- #declare Cube = intersection
- plane <0.0 0.0 1.0> 1.0 end_plane
- plane <0.0 0.0 -1.0> 1.0 end_plane
- plane <0.0 1.0 0.0> 1.0 end_plane
- plane <0.0 -1.0 0.0> 1.0 end_plane
- plane <1.0 0.0 0.0> 1.0 end_plane
- plane <-1.0 0.0 0.0> 1.0 end_plane
- end_intersection
-
-
- #declare Tetrahedron = intersection
- plane <0.0 -1.0 0.0> 1.0 end_plane
- plane <0.0 0.0 1.0> 1.0 rotate <-30.0 0.0 0.0> end_plane
- plane <1.0 0.0 0.0> 1.0 rotate <0.0 30.0 30.0> end_plane
- plane <-1.0 0.0 0.0> 1.0 rotate <0.0 -30.0 -30.0> end_plane
- end_intersection
-
-
- #declare X_Disk = intersection { Capped cylinder, Length in x axis }
- quadric Cylinder_X end_quadric
- plane <1.0 0.0 0.0> 0.0 inverse end_plane
- plane <1.0 0.0 0.0> 1.0 end_plane
- end_intersection
-
-
- #declare Y_Disk = intersection { Capped cylinder, Length in y axis }
- quadric Cylinder_Y end_quadric
- plane <0.0 1.0 0.0> 0.0 inverse end_plane
- plane <0.0 1.0 0.0> 1.0 end_plane
- end_intersection
-
-
- #declare Z_Disk = intersection { Capped cylinder, Length in z axis }
- quadric Cylinder_Z end_quadric
- plane <0.0 0.0 1.0> 0.0 inverse end_plane
- plane <0.0 0.0 1.0> 1.0 end_plane
- end_intersection
-
-
- #declare Hexagon = intersection { Hexagonal Solid, axis along x }
- plane <0.0 0.0 1.0> 1.0 end_plane { Rotate 90 in z axis to stand up }
- plane <0.0 0.0 1.0> 1.0 rotate <60.0 0.0 0.0> end_plane
- plane <0.0 0.0 1.0> 1.0 rotate <120.0 0.0 0.0> end_plane
- plane <0.0 0.0 1.0> 1.0 rotate <180.0 0.0 0.0> end_plane
- plane <0.0 0.0 1.0> 1.0 rotate <240.0 0.0 0.0> end_plane
- plane <0.0 0.0 1.0> 1.0 rotate <300.0 0.0 0.0> end_plane
- plane <1.0 0.0 0.0> 1.0 end_plane
- plane <1.0 0.0 0.0> -1.0 inverse end_plane
- end_intersection
-
- #declare Rhomboid = { Three Dimensional 4-Sided Diamond }
- intersection
- plane <-1.0 0.0 0.0> 1.0 rotate <0.0 0.0 -30.0> end_plane
- plane < 1.0 0.0 0.0> 1.0 rotate <0.0 0.0 -30.0> end_plane
- plane < 0.0 0.0 1.0> 1.0 end_plane
- plane < 0.0 0.0 -1.0> 1.0 end_plane
- plane < 0.0 1.0 0.0> 1.0 end_plane
- plane < 0.0 -1.0 0.0> 1.0 end_plane
- end_intersection
-
-