home *** CD-ROM | disk | FTP | other *** search
/ Freelog Special Edition 9 / FreelogHS09.iso / Pov / TP / Pac-Pov.pov < prev   
Text File  |  2001-12-26  |  6KB  |  180 lines

  1. // Persistence of Vision Ray Tracer Scene Description File
  2. // File: Pac-Pov.pov
  3. // Vers: 3.1
  4. // Desc: modelage d'un pac-man
  5. // Date: 12/2001
  6. // Auth: Alonso Eusebio Pablo pour HS_Freelog #9 (Dp-Presse)
  7. // 
  8. //----------------------------------DEFINITIONS STANDARDS-------------------------------------------
  9. //
  10. #include "colors.inc"    // Inclusions des librairies de couleurs
  11. #include "textures.inc"    // Inclusions des librairies de textures
  12. #version 3.1  // Permet au module de rendu d'utiliser les instructions propre α Pov v 3.1
  13. //
  14. //----------------------------------DEFINITIONS DE LA CAMERA----------------------------------------
  15. //
  16. camera
  17. {
  18.   location  <.0, 1.1, -3.0> // position de le camera <X Y Z>
  19.   look_at   <0.0, .8,  0.0> // point de mire de la camera <X Y Z>
  20. }
  21. //
  22. //----------------------------------DEFINITIONS D'UNE ZONE LUMINEUSE--------------------------------                                                         
  23. // 
  24. light_source
  25. {
  26.   0*x // position de depart de la zone lumineuse
  27.   color rgb 1.0  // couleur de la lumiΦre
  28.   area_light
  29.   <8, 0, 0> <0, 0, 8> // definition de la zone (x * z)
  30.   4, 4                // nombre total de lampes dans la grille (4x*4z = 16 lampes)
  31.   adaptive 0          // 0,1,2,3... 
  32.   jitter              // ajoute un adoucissement aleatoire a la lumiere
  33.   translate <30, 50, -30>   // <x y z> translation de la zone jusqu'a sa situation definitive
  34. }
  35. //
  36. //----------------------------------DEFINITIONS D'UN FOND UNIFORME---------------------------------
  37. //
  38. background { color MidnightBlue }   // couleur bleu nuit
  39. //
  40. //----------------------------------DEFINITIONS du PAC-MAN-------------------------------------------
  41. //
  42. #declare corps = // creation d'une sphere creuse appelee CORPS
  43. difference {    // debut d'une operation CSG
  44. //
  45.         sphere  {  // objet de depart une sphere
  46.         <0, 1, 0> // centre de la sphere <X Y Z>
  47.         0.5       // rayon de la sphere
  48.         pigment { // definition de la couleur de la sphere
  49.         Yellow }  // jaune standard
  50.                 finish {  // definition de la finition du materiau
  51.                 ambient 0.2
  52.                 diffuse 0.8 }
  53.         } // fin de la sphere
  54.  
  55.  
  56.         sphere {  // objet qui sera soustrait une sphere plus petite
  57.         <0, 1, 0> 
  58.         0.45 
  59.         pigment {
  60.         Yellow }
  61.                 finish {
  62.                 ambient 0.2
  63.                 diffuse 0.8 }
  64.         }  // fin de la deuxieme sphere
  65. } // fin de l'objet CORPS
  66. //
  67. #declare forme_ext = // creation de la partie exterieure avec bouches et yeux
  68. difference {
  69. //
  70.         object { corps}  // appel de l'object CORPS qui subira les decoupes
  71.         
  72.         prism {  // creation du prisme qui servira a decouper la bouche
  73.         linear_sweep
  74.         linear_spline
  75.         0, // point de depart de l'extrusion
  76.         1.2, // point d'arrivee
  77.         4, // nombre de point du polygone extrude (3+1) en fait le premier et le dernier sont confondus
  78.         <0.5,0.4>, <0.1,0>, <0.7, -0.1>, <0.5,0.4>  // coordonnees des points
  79.         pigment { Yellow }
  80.                 finish {
  81.                 ambient 0.2
  82.                 diffuse 0.8 }
  83.                 rotate <90, 90, -0> // <dX  dY  dZ> rotation du prisme
  84.                 translate <-.6, 1, .0>  // <dX dY dZ>  deplacement du prisme
  85.         }   // fin du prisme
  86.         
  87.         cylinder {  // creation du cylindre qui decoupera le premier oeil
  88.         0*z,  -2*z,  0.1 // depart, arrivee, diametre
  89.         pigment { Yellow }
  90.         finish {
  91.                 ambient 0.2
  92.                 diffuse 0.8 }
  93.         translate <-0.15, 1.25, .0>
  94.         } // fin du cylindre
  95.  
  96.         cylinder { // decoupe du deuxiΦme oeil
  97.         0*z,  -2*z,  0.1
  98.         pigment { Yellow }
  99.         finish {
  100.                 ambient 0.2
  101.                 diffuse 0.8 }
  102.         translate <0.15, 1.25, .0>
  103.         } // fin du cylindre
  104. }  // fin de la FORME_EXT
  105. //
  106. #declare forme_int = // interieur du Pac_men
  107. difference {
  108. //
  109.         sphere {
  110.         <0, 1, 0> 
  111.         0.45      
  112.         pigment {
  113.         Black }  // l'interieur sera de couleur noire
  114.                 finish {
  115.                 ambient 0.2
  116.                 diffuse 0.8 }
  117.         }  // fin de la sphere
  118.         
  119.         prism {
  120.         linear_sweep
  121.         linear_spline
  122.         0, 
  123.         1.2,
  124.         4,
  125.         <0.5,0.4>, <0.1,0>, <0.7, -0.1>, <0.5,0.4>
  126.         pigment { Red }   // la surface decoupee de la bouche sera rouge
  127.         finish {
  128.                 ambient 0.2
  129.                 diffuse 0.8 }
  130.         rotate <90, 90, -0> // <dX  dY  dZ> 
  131.         translate <-.6, 1, .0>  // <dX dY dZ>
  132.         } // fin du prisme
  133. }  // fin de la forme interieure
  134.  
  135. #declare Pac_man = // opperation CSG definissant le Pac_Man final
  136. //
  137. union   // ajoutons la forme interieure et la forme exterieure
  138. {
  139.  object {
  140.   forme_int} 
  141.  
  142.  object {
  143.   forme_ext}  
  144. }  // fin de la definition
  145. //
  146. //----------------------------------MISE EN PLACE DU PAC-MAN-----------------------------------------
  147. //
  148. object {
  149.   Pac_man
  150.   rotate <0, -25, 0> // <dX  dY  dZ> 
  151. } // fin de l'appel de l'objet PAC-MAN
  152. //
  153. //----------------------------------DEFINITIONS d'un SOL METALLIQUE----------------------------------
  154. // creation d'une surface plane infinie
  155. plane
  156. {
  157.   y, // <X Y Z> vecteur normal a la surface
  158.   .45 // distance de l'origine au plan normal
  159.   hollow on 
  160.   
  161.   pigment { // definition d'une texture granite
  162.     granite
  163.     color_map {   // carte des couleurs
  164.       [0.3 rgb <0.82, 0.57, 0.46>]
  165.       [0.3 rgb <0.00, 0.00, 0.00>]
  166.       [0.6 rgb <0.85, 0.85, 0.95>]
  167.       [0.6 rgb <0.82, 0.57, 0.46>]
  168.       [1.0 rgb <0.85, 0.85, 0.95>]
  169.     }
  170.   }
  171.   finish {
  172.     metallic   // aspect metallique
  173.     brilliance 6.0
  174.     reflection 0.55   // reflexion α 55% pour un effet miroir
  175.     phong 0.75
  176.   }
  177. } // fin de la definition du sol
  178.  
  179. //----------------------------------OUF!------------------------------------------------------------
  180.