home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #7 / amigamamagazinepolishissue1998.iso / varia / povray3 / povray3_fpu / pov3demo / objects / torus1.pov < prev    next >
Text File  |  1997-12-12  |  5KB  |  178 lines

  1. // Persistence Of Vision raytracer version 3.0 sample file.
  2. // Demo showing several torii ... Dieter Bayer, June 1994
  3. //
  4.  
  5. #version 3.0
  6. global_settings { assumed_gamma 2.2 }
  7.  
  8. #include "colors.inc"
  9. #include "textures.inc"
  10.  
  11.  
  12. camera {
  13.   location <0, 80, -200>
  14.   right <4/3, 0, 0>
  15.   up <0, 1, 0>
  16.   sky <0, 1, 0>
  17.   direction <0, 0, 1.8>
  18.   look_at <0, 15, 0>
  19. }
  20.  
  21. light_source { <50, 200, -100> colour Gray70 }
  22. light_source { <-20, 40, -20> colour Gray70 }
  23. light_source { <100, 80, -200> colour Gray70 }
  24.  
  25. background { color MidnightBlue }
  26.  
  27. plane { y, 0
  28.    pigment {
  29.       checker colour Blue colour Green
  30.       scale 20
  31.    }
  32.    finish {
  33.       ambient 0.2
  34.       diffuse 0.8
  35.    }
  36. }
  37.  
  38. plane { z, 250
  39.    pigment { colour White }
  40.    finish { 
  41.      ambient 0 
  42.      diffuse 0.1 
  43.      specular 1 
  44.      roughness 0.00001 
  45.      reflection 0.8
  46.    }
  47. }
  48.  
  49. #declare Torus1 = torus { 10, 1.5 rotate 90*x }
  50. #declare Torus2 = torus { 15, 5 }
  51. #declare Torus3 = torus { 10, 3 rotate 90*x }
  52.  
  53. #declare Ring = union {
  54.   object { Torus1 translate 35*x rotate  0*y }
  55.   object { Torus1 translate 35*x rotate  15*y }
  56.   object { Torus1 translate 35*x rotate  30*y }
  57.   object { Torus1 translate 35*x rotate  45*y }
  58.   object { Torus1 translate 35*x rotate  60*y }
  59.   object { Torus1 translate 35*x rotate  75*y }
  60.   object { Torus1 translate 35*x rotate  90*y }
  61.   object { Torus1 translate 35*x rotate 105*y }
  62.   object { Torus1 translate 35*x rotate 120*y }
  63.   object { Torus1 translate 35*x rotate 135*y }
  64.   object { Torus1 translate 35*x rotate 150*y }
  65.   object { Torus1 translate 35*x rotate 165*y }
  66.   object { Torus1 translate 35*x rotate 180*y }
  67.   object { Torus1 translate 35*x rotate 195*y }
  68.   object { Torus1 translate 35*x rotate 210*y }
  69.   object { Torus1 translate 35*x rotate 225*y }
  70.   object { Torus1 translate 35*x rotate 240*y }
  71.   object { Torus1 translate 35*x rotate 255*y }
  72.   object { Torus1 translate 35*x rotate 270*y }
  73.   object { Torus1 translate 35*x rotate 285*y }
  74.   object { Torus1 translate 35*x rotate 300*y }
  75.   object { Torus1 translate 35*x rotate 315*y }
  76.   object { Torus1 translate 35*x rotate 330*y }
  77.   object { Torus1 translate 35*x rotate 345*y }
  78. }
  79.  
  80. #declare Stack = union {
  81.   object { Torus2 translate  0*y scale <0.5, 1, 0.5> }
  82.   object { Torus2 translate  5*y scale <0.5, 1, 0.5> }
  83.   object { Torus2 translate 10*y scale <0.5, 1, 0.5> }
  84.   object { Torus2 translate 15*y scale <1, 1, 0.5> }
  85.   object { Torus2 translate 20*y scale <1, 1, 0.75> }
  86.   object { Torus2 translate 25*y scale <1, 1, 1> }
  87.   object { Torus2 translate 30*y scale <0.75, 1, 1> }
  88.   object { Torus2 translate 35*y scale <0.5, 1, 1> }
  89. }
  90.  
  91. #declare Queue = union {
  92.   object { Torus3 translate  200*z }
  93.   object { Torus3 translate  180*z }
  94.   object { Torus3 translate  160*z }
  95.   object { Torus3 translate  140*z }
  96.   object { Torus3 translate  120*z }
  97.   object { Torus3 translate  100*z }
  98.   object { Torus3 translate   80*z }
  99.   object { Torus3 translate   60*z }
  100.   object { Torus3 translate   40*z }
  101.   object { Torus3 translate   20*z }
  102.   object { Torus3 translate    0*z }
  103.   object { Torus3 translate  -20*z }
  104.   object { Torus3 translate  -40*z }
  105.   object { Torus3 translate  -60*z }
  106.   object { Torus3 translate  -80*z }
  107.   object { Torus3 translate -100*z }
  108.   object { Torus3 translate -120*z }
  109.   object { Torus3 translate -140*z }
  110.   object { Torus3 translate -160*z }
  111.   object { Torus3 translate -180*z }
  112.   object { Torus3 translate -200*z }
  113.   object { Torus3 translate -220*z }
  114.   object { Torus3 translate -240*z }
  115.   object { Torus3 translate -260*z }
  116.   object { Torus3 translate -280*z }
  117.   object { Torus3 translate -300*z }
  118.   object { Torus3 translate -320*z }
  119.   object { Torus3 translate -340*z }
  120.   object { Torus3 translate -360*z }
  121.   object { Torus3 translate -380*z }
  122.   object { Torus3 translate -400*z }
  123.   object { Torus3 translate -420*z }
  124.   object { Torus3 translate -440*z }
  125.   object { Torus3 translate -460*z }
  126.   object { Torus3 translate -480*z }
  127.   object { Torus3 translate -500*z }
  128.   object { Torus3 translate -520*z }
  129.   object { Torus3 translate -540*z }
  130.   object { Torus3 translate -560*z }
  131.   object { Torus3 translate -580*z }
  132.   object { Torus3 translate -600*z }
  133. }
  134.  
  135. object {
  136.   Queue
  137.  
  138.   texture { Copper_Metal }
  139.  
  140.   rotate -20*y
  141.   translate <40, 15, 40>
  142. }
  143.  
  144. object {
  145.   Stack
  146.  
  147.   texture { pigment { White_Marble } scale <2, 2, 2> }
  148.  
  149.   translate <-70, 5, 80>
  150. }
  151.  
  152. object {
  153.   Ring
  154.  
  155.   pigment {
  156.     color Red
  157.   }
  158.   finish {
  159.     ambient 0.1
  160.     diffuse 0.6
  161.     phong 0.6
  162.     phong_size 7
  163.   }
  164.  
  165.   translate <-20, 15, -20>
  166. }
  167.  
  168. torus { 35, 5 translate <-20, 15, -20>
  169.   pigment { color Green }
  170.   finish {
  171.     ambient 0.1
  172.     diffuse 0.6
  173.     phong 0.6
  174.     phong_size 7
  175.   }
  176. }
  177.  
  178.