home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 16 / CD_ASCQ_16_0994.iso / news / 4613 / char.rrt < prev    next >
Text File  |  1980-01-10  |  5KB  |  240 lines

  1. // Real Ray Tracer
  2. // 'Un char à voile' to break the speed world record.
  3. // Designed by Fabrice LAMIDE & Pascal HAUTIN
  4. // June 1994
  5.  
  6. #include "colors.inc"
  7. #include "shapes.inc"
  8. #include "textures.inc"
  9.  
  10. camera {
  11.   location <-10 4 -12>
  12.   point_at <-1.5 0 0>
  13.   angle 16
  14. }
  15.  
  16. environment {
  17. //  background color Blue
  18. //   clouds
  19.   sky
  20.   color_map { [0 1 color Blue color White ] }
  21.   fall_off 0.09
  22. }
  23.  
  24.  
  25. //object { light_source { <4 10 -8> intensity 10 color White } }
  26.  
  27. object { light_source { <-30 40 -80> intensity 40 color White } }
  28.  
  29.  
  30. #declare Materiau = texture {
  31.   color White
  32.   ambient 0.15
  33.   diffuse 0.55
  34.   reflection 0.30
  35.   phong 0.35
  36.   phong_size 90
  37. }
  38.  
  39. #declare Verre = texture {
  40.   Phong_Transparent
  41.   color SkyBlue
  42.   diffuse 0.05
  43.   refraction 0.95
  44. }
  45.  
  46. #declare Long_Voile = 0.3
  47. #declare Larg_Voile = 4.5
  48. #declare Haut_Voile = 10.0
  49.  
  50. #declare Long_Traverse1 =  7.00
  51. #declare Larg_Traverse1 =  0.40
  52. #declare Epais_Traverse1 = 0.15
  53.  
  54. #declare Long_Traverse2 =  7.00
  55. #declare Larg_Traverse2 =  0.35
  56. #declare Epais_Traverse2 = 0.15
  57.  
  58. #declare Abaisser_trav = -0.375
  59.  
  60. #declare Long_Cockpit =  1.0
  61. #declare Larg_Cockpit =  2.5
  62. #declare Epais_Cockpit = 0.8
  63.  
  64. #declare Rayon_Jante = 0.5
  65. #declare Rayon_Pneu = 0.05
  66. #declare Somme_Rayons = 0.55
  67.  
  68. #declare M_Somme_Rayons = -0.55
  69.  
  70. #declare Voile = object {
  71.   union {
  72.     intersection {
  73.       QCone_Y
  74.       slab { <0 1 0> 0.5 1 }
  75.       translate <0 -0.5 0>
  76.       scale <2 20 2>
  77.       scale <0.9987523389 0.9987523389 0.9987523389>
  78.     }
  79.     intersection {
  80.       Ellipsoid 
  81.       slab { <0 1 0> -0.049937617 -1 }
  82.       translate <0 0.049937617 0>
  83.     }
  84.   }
  85.   rotate <0 0 180> // Symetrie /Oxz
  86.   scale <0.0909090909 0.0909090909 0.0909090909>
  87.   translate <0 0.908 0>
  88.   scale <Larg_Voile Haut_Voile Long_Voile>
  89.  
  90.   texture { Materiau }
  91. }
  92.  
  93. #declare Traverse1 = object {
  94.   intersection {
  95.     intersection {
  96.       Cylinder_Z
  97.       plane { <0 -1 0> 0 }
  98.     }
  99.     slab { <0 0 1> -0.5 0.5 }
  100.   }
  101.     
  102.   texture { Materiau }
  103. }
  104.  
  105. #declare Traverse2 = object {
  106.   intersection {
  107.     intersection {
  108.       intersection {
  109.         Cylinder_Z
  110.         plane { <0 -1 0> 0 }
  111.       }
  112.       slab { <0 0 1> -0.5 0.5 }
  113.     }
  114.     object { Ellipsoid scale <1 1 0.5> }
  115.   }
  116.     
  117.   texture { Materiau }
  118. }
  119.  
  120.  
  121. #declare Cockpit = object {
  122.   difference {
  123.     difference {
  124.       object { Ellipsoid }
  125.       object { Ellipsoid scale <0.93 0.93 0.93> }
  126.     }
  127.     box { <-1 0.333 -1> <0.5 1 1> }
  128.   }
  129.  
  130.   texture { Materiau }
  131. }
  132.  
  133. #declare Hublot = object {
  134.   intersection {
  135.     difference {
  136.       object { Ellipsoid }
  137.       object { Ellipsoid scale <0.93 0.93 0.93> }
  138.     }
  139.     box { <-1 0.333 -1> <0.5 1 1> }
  140.   }
  141.  
  142.   texture { Verre }
  143. }
  144.  
  145. #declare Siege = object {
  146.   difference {
  147.     box { <-0.2 -0.5 -0.5> <0.5 0.45 0.5> }
  148.     box { <-1 -0.4 -1> <0.4 1 1> }
  149.   }
  150.  
  151.   texture { color Red }
  152. }
  153.  
  154. #declare Cabine = object {
  155.   bound {
  156.     object { Cockpit }
  157.     object { Hublot }
  158.     object { Siege }
  159.   }
  160.   by box { <-1 -1 -1> <1 1 1> }
  161.   scale <0.5 0.5 0.5>
  162.   scale <Larg_Cockpit Epais_Cockpit Long_Cockpit>  
  163. }
  164.  
  165. #declare Jante = object {
  166.   intersection {
  167.     object { Cylinder_Z }
  168.     slab { <0 0 1> -1 1 }
  169.   }
  170.   scale <Rayon_Jante Rayon_Jante Rayon_Pneu>
  171.  
  172.   texture { Materiau }
  173. }
  174.  
  175. #declare Pneu = object {
  176.   difference {
  177.     torus { <0 0 0> <0 0 1> Rayon_Jante Rayon_Pneu }
  178.     object { Cylinder_Z scale <Rayon_Jante Rayon_Jante 1> }
  179.   }    
  180.  
  181.   texture {
  182.     color Black
  183.     ambient 0.2
  184.     diffuse 0.4
  185.     reflection 0.2
  186.     phong 0.3
  187.     phong_size 90
  188.   }
  189. }
  190.  
  191. #declare Roue = object {
  192.   bound {
  193.     object { Jante }
  194.     object { Pneu }
  195.   }
  196.   by sphere { <0 0 0> Somme_Rayons }
  197. }
  198.  
  199. #declare Sable = object {
  200.   plane { <0 1 0> Abaisser_trav }
  201.   translate <0 M_Somme_Rayons 0>
  202.  
  203.   texture {
  204.     color red 1.0 green 0.75 blue 0.25
  205.     ambient 0.20
  206.     diffuse 0.55
  207.     bump { bumps 0.3 scale <0.05 0.05 0.05> }
  208.   }
  209. }
  210.  
  211. object { Sable }
  212.  
  213. object {
  214. composite {
  215.  
  216.   object { Voile translate <0.30 Abaisser_trav 0> }
  217.   object { Cabine translate <-0.20 0 -0.80> }
  218.  
  219.   object {
  220.     Traverse1
  221.     scale <Larg_Traverse1 Epais_Traverse1 Long_Traverse1>
  222.     translate <0 Abaisser_trav 0>
  223.   }
  224.  
  225.   object {
  226.     Traverse2
  227.     scale <Larg_Traverse2 Epais_Traverse2 Long_Traverse2>
  228.     rotate <0 90 0>
  229.     translate <0 Abaisser_trav 3.6>
  230.   }
  231. }
  232. translate <0 -0.25 0>
  233. }
  234.  
  235. object { Roue translate <0 Abaisser_trav -3.5> }
  236. object { Roue translate <-3.75 Abaisser_trav 3.55> }
  237. object { Roue translate <3.75 Abaisser_trav 3.55> }
  238.  
  239. end.
  240.