/* Persistence of Vision Raytracer Version 3.1 Steiner shapes include file Several cubic and quartic shape definitions by Adam Coffman See the web site http://users.pfw.edu/CoffmanA/steinersurface.html for mathematical descriptions of these objects. Original file created March 31, 1999. Updated April 25, 1999. Updated May 31, 2018 with new web address for Steiner Surfaces page. */ /* Steiner's Roman surface */ #declare Steiner_1 = quartic {< 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> } /* Type 2 Steiner surface */ #declare Steiner_2 = quartic {< 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> } /* Type 2 Steiner surface (related to the previous quartic by a real projective linear transformation) */ #declare Steiner_2_b = quartic { < 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0> } /* Steiner's Cross-cap surface */ #declare Steiner_3 = quartic {< 4, 0, 0, 0, 4, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0> } /* Type 4 Steiner surface */ #declare Steiner_4 = quartic {< 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, -2, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0> } /* Type 5 Steiner surface */ #declare Steiner_5 = quartic {< 0, 0, 0, 0, 0, 0, 0, 1, -2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0> } /* Type 6 Steiner surface */ #declare Steiner_6 = quartic {< 0,0,0,0,1,0,0,0,0,0,1,0,-2,2,0,0,0,0,0,0, 1,0,-2,2,0,1,0,-2,0,0,1,0,0,0,0> } /* Type 6 Steiner surface (related to the previous quartic by a real projective linear transformation) */ #declare Steiner_6_b = quartic {< -5/4, 3, 0, 7/2, -5/2, 0, -11/2, -3, 0, -13/4, 1, 0, 5/2, 4, 0, 5/2, 0, 5, 0, 1, -1/4, 0, -1/2, -1, 0, -1/4, 0, -3, 0, 0, -1, 0, -2, 0, 0> } /* Type 7 Steiner surface (a ruled cubic) */ #declare Steiner_7 = cubic {<0,0,0,0,1,0,0,-1,0,0,0,0,0,0,-1,0,0,0,0,0> } /* Whitney's umbrella */ #declare Steiner_8 = cubic {<0,0,0,1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0> } /* Plucker's conoid */ #declare Steiner_8_b = cubic {<0,0,-1,1,0,0,0,0,0,0,0,-1,0,0,0,0,0,0,0,0> } /* Cayley's ruled cubic */ #declare Steiner_9 = cubic {<0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,-1,0,0> } /* Cayley's ruled cubic (related to the previous cubic by a real projective linear transformation) */ #declare Steiner_9_b = cubic {<0,0,0,0,0,1,0,-1,0,0,1,0,0,0,0,0,0,-1,0,0> }