home *** CD-ROM | disk | FTP | other *** search
/ Ray Tracing Box / RAY_CD.mdf / RAYTRACE / _POV_DAT / DECSET / FSHGOB.INC < prev    next >
Encoding:
Text File  |  1994-01-20  |  3.4 KB  |  130 lines

  1. //This file contains the two goblets for the decanter set.
  2. //These objects were modeled in MORAY and so the vector coordinate values use
  3. //the "right-handed" system where z=up. The objects are rotated at the end of
  4. //the file so they will work in the standard POV "left-handed" system.
  5.  
  6. #declare Gobletsphere1 = object {
  7.   sphere {<0,0,0>,1}
  8.   scale <1.584544, 1.585000, 3.922718>
  9.   translate <0, 0, 0.438408>
  10. }
  11.  
  12. #declare Gobletsphere2 = object {
  13.   sphere {<0,0,0>,1}
  14.   scale <1.505317, 1.505000, 3.726582>
  15.   translate <0, 0, 0.438408>
  16. }
  17.  
  18. #declare Gobletclip1 = box {
  19.   <-1, -1, -1>, <1, 1, 1>
  20.   scale <1.25, 1.25, 1>
  21.   translate <0, 0, 4.164876>
  22. }
  23.  
  24. #declare Goblettop = difference { //the glass goblet top
  25.   object { Gobletsphere1 }
  26.   object { Gobletsphere2 }
  27.   object { Gobletclip1 }
  28.   texture {
  29.     GlassFrit
  30.   }
  31.   translate <0, 0, 0.309892>
  32. }
  33.  
  34. #declare Basecone2 = cone {
  35.   <0,0,0>, 0
  36.   <0,0,1>, 1
  37.   scale <1.5, 1.5, 5>
  38.   rotate <-180, 0, 0>
  39.   translate <0, 0, -3>
  40. }
  41.  
  42. #declare Basetorus2 = quartic {
  43.            // Torus MinRadius=   0.250   MajRadius=   1.750
  44.            < 1.000,  0.000,  0.000,  0.000,  2.000,
  45.              0.000,  0.000,  2.000,  0.000,  -6.250,
  46.              0.000,  0.000,  0.000,  0.000,  0.000,
  47.              0.000,  0.000,  0.000,  0.000,  0.000,
  48.              1.000,  0.000,  0.000,  2.000,  0.000,
  49.              -6.250,   0.000,  0.000,  0.000,  0.000,
  50.              1.000,  0.000,  6.000, 0.000,  9.000 >
  51.   scale <0.75, 0.75, 0.75>
  52.   translate <0, 0, -8>
  53. }
  54.  
  55. #declare Base3 = union { //the conic base, rounded with a torus
  56.   object { Basecone2 }
  57.   object { Basetorus2 }
  58.   texture {
  59.     BaseTexture
  60.     translate <-1, 0, 0>
  61.   }
  62. }
  63.  
  64. #declare Base4 = union { //the base of the second goblet
  65.   object { Basecone2 }   
  66.   object { Basetorus2 }
  67.   texture {
  68.     BaseTexture
  69.     translate <2, 0, 0>  //translation insures textures are not identical
  70.   }
  71. }
  72.  
  73. #declare Stembead2 = object { //the stembead that connects the base to the top
  74.   sphere {<0,0,0>,1}
  75.   texture {
  76.     StemBeadTex
  77.   }
  78.   scale <0.5, 0.5, 0.5>
  79.   translate <0, 0, -2.947915>
  80. }
  81.  
  82. #declare Gobletbottom2 = union {
  83.   object { Base3 }
  84.   object { Stembead2 }
  85.   scale <0.9, 0.9, 0.9>
  86.   translate <0, 0, -0.811>
  87. }
  88.  
  89. #declare Gobletbottom3 = union {
  90.   object { Base4 }
  91.   object { Stembead2 }
  92.   scale <0.9, 0.9, 0.9>
  93.   translate <0, 0, -0.811>
  94. }
  95.  
  96. #declare Gobletlipwrap = quartic { //the lip-wrap
  97.            // Torus MinRadius=   0.075   MajRadius=   1.925
  98.            < 1.000,  0.000,  0.000,  0.000,  2.000,
  99.              0.000,  0.000,  2.000,  0.000,  -7.423,
  100.              0.000,  0.000,  0.000,  0.000,  0.000,
  101.              0.000,  0.000,  0.000,  0.000,  0.000,
  102.              1.000,  0.000,  0.000,  2.000,  0.000,
  103.              -7.423,   0.000,  0.000,  0.000,  0.000,
  104.              1.000,  0.000,  7.400, 0.000,  13.690 >
  105.   texture {
  106.     LipWrapTex
  107.   }
  108.   scale <0.65, 0.65, 0.65>
  109.   translate <0, 0, 3.5>
  110. }
  111.  
  112. union {   // Goblet1
  113.   object { Goblettop }
  114.   object { Gobletbottom2 }
  115.   object { Gobletlipwrap }
  116.   scale <0.85, 0.85, 0.85>
  117.   rotate <-90, 0, 0>  //rotate so y=up
  118.   translate <-6, -1.25, 0>
  119. }
  120.  
  121. union {   // Goblet2
  122.   object { Goblettop }
  123.   object { Gobletbottom3 }
  124.   object { Gobletlipwrap }
  125.   scale <0.85, 0.85, 0.85>
  126.   rotate <-90, 0, 0>  //rotate so y=up
  127.   translate <6, -1.25, 0>
  128. }
  129. //any transformations after this point assume that y=up
  130.