home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Freelog Special Edition 9
/
FreelogHS09.iso
/
Pov
/
TP
/
Pac-Pov.pov
< prev
Wrap
Text File
|
2001-12-26
|
6KB
|
180 lines
// Persistence of Vision Ray Tracer Scene Description File
// File: Pac-Pov.pov
// Vers: 3.1
// Desc: modelage d'un pac-man
// Date: 12/2001
// Auth: Alonso Eusebio Pablo pour HS_Freelog #9 (Dp-Presse)
//
//----------------------------------DEFINITIONS STANDARDS-------------------------------------------
//
#include "colors.inc" // Inclusions des librairies de couleurs
#include "textures.inc" // Inclusions des librairies de textures
#version 3.1 // Permet au module de rendu d'utiliser les instructions propre α Pov v 3.1
//
//----------------------------------DEFINITIONS DE LA CAMERA----------------------------------------
//
camera
{
location <.0, 1.1, -3.0> // position de le camera <X Y Z>
look_at <0.0, .8, 0.0> // point de mire de la camera <X Y Z>
}
//
//----------------------------------DEFINITIONS D'UNE ZONE LUMINEUSE--------------------------------
//
light_source
{
0*x // position de depart de la zone lumineuse
color rgb 1.0 // couleur de la lumiΦre
area_light
<8, 0, 0> <0, 0, 8> // definition de la zone (x * z)
4, 4 // nombre total de lampes dans la grille (4x*4z = 16 lampes)
adaptive 0 // 0,1,2,3...
jitter // ajoute un adoucissement aleatoire a la lumiere
translate <30, 50, -30> // <x y z> translation de la zone jusqu'a sa situation definitive
}
//
//----------------------------------DEFINITIONS D'UN FOND UNIFORME---------------------------------
//
background { color MidnightBlue } // couleur bleu nuit
//
//----------------------------------DEFINITIONS du PAC-MAN-------------------------------------------
//
#declare corps = // creation d'une sphere creuse appelee CORPS
difference { // debut d'une operation CSG
//
sphere { // objet de depart une sphere
<0, 1, 0> // centre de la sphere <X Y Z>
0.5 // rayon de la sphere
pigment { // definition de la couleur de la sphere
Yellow } // jaune standard
finish { // definition de la finition du materiau
ambient 0.2
diffuse 0.8 }
} // fin de la sphere
sphere { // objet qui sera soustrait une sphere plus petite
<0, 1, 0>
0.45
pigment {
Yellow }
finish {
ambient 0.2
diffuse 0.8 }
} // fin de la deuxieme sphere
} // fin de l'objet CORPS
//
#declare forme_ext = // creation de la partie exterieure avec bouches et yeux
difference {
//
object { corps} // appel de l'object CORPS qui subira les decoupes
prism { // creation du prisme qui servira a decouper la bouche
linear_sweep
linear_spline
0, // point de depart de l'extrusion
1.2, // point d'arrivee
4, // nombre de point du polygone extrude (3+1) en fait le premier et le dernier sont confondus
<0.5,0.4>, <0.1,0>, <0.7, -0.1>, <0.5,0.4> // coordonnees des points
pigment { Yellow }
finish {
ambient 0.2
diffuse 0.8 }
rotate <90, 90, -0> // <dX dY dZ> rotation du prisme
translate <-.6, 1, .0> // <dX dY dZ> deplacement du prisme
} // fin du prisme
cylinder { // creation du cylindre qui decoupera le premier oeil
0*z, -2*z, 0.1 // depart, arrivee, diametre
pigment { Yellow }
finish {
ambient 0.2
diffuse 0.8 }
translate <-0.15, 1.25, .0>
} // fin du cylindre
cylinder { // decoupe du deuxiΦme oeil
0*z, -2*z, 0.1
pigment { Yellow }
finish {
ambient 0.2
diffuse 0.8 }
translate <0.15, 1.25, .0>
} // fin du cylindre
} // fin de la FORME_EXT
//
#declare forme_int = // interieur du Pac_men
difference {
//
sphere {
<0, 1, 0>
0.45
pigment {
Black } // l'interieur sera de couleur noire
finish {
ambient 0.2
diffuse 0.8 }
} // fin de la sphere
prism {
linear_sweep
linear_spline
0,
1.2,
4,
<0.5,0.4>, <0.1,0>, <0.7, -0.1>, <0.5,0.4>
pigment { Red } // la surface decoupee de la bouche sera rouge
finish {
ambient 0.2
diffuse 0.8 }
rotate <90, 90, -0> // <dX dY dZ>
translate <-.6, 1, .0> // <dX dY dZ>
} // fin du prisme
} // fin de la forme interieure
#declare Pac_man = // opperation CSG definissant le Pac_Man final
//
union // ajoutons la forme interieure et la forme exterieure
{
object {
forme_int}
object {
forme_ext}
} // fin de la definition
//
//----------------------------------MISE EN PLACE DU PAC-MAN-----------------------------------------
//
object {
Pac_man
rotate <0, -25, 0> // <dX dY dZ>
} // fin de l'appel de l'objet PAC-MAN
//
//----------------------------------DEFINITIONS d'un SOL METALLIQUE----------------------------------
// creation d'une surface plane infinie
plane
{
y, // <X Y Z> vecteur normal a la surface
.45 // distance de l'origine au plan normal
hollow on
pigment { // definition d'une texture granite
granite
color_map { // carte des couleurs
[0.3 rgb <0.82, 0.57, 0.46>]
[0.3 rgb <0.00, 0.00, 0.00>]
[0.6 rgb <0.85, 0.85, 0.95>]
[0.6 rgb <0.82, 0.57, 0.46>]
[1.0 rgb <0.85, 0.85, 0.95>]
}
}
finish {
metallic // aspect metallique
brilliance 6.0
reflection 0.55 // reflexion α 55% pour un effet miroir
phong 0.75
}
} // fin de la definition du sol
//----------------------------------OUF!------------------------------------------------------------