Aller au menu - Aller au contenu

Icône Les bases de POV-ray

Mise à jour : 01/07/2010
525 visites depuis 7 jours, dont 16 sur ce chapitre classé 218/786
Bon, je sais que vous êtes impatients de réaliser votre premier chef-d'oeuvre, mais encore un tout petit peu de patience... Voilà les bases de la programmation POV-Ray.
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Le langage POV-Ray

POV-Ray, je vous l'ai dit, transforme un fichier texte en image.
Le fichier texte est le descriptif de la scène. C'est VOUS qui décrirez la scène, en écrivant ce qu'elle doit contenir.
La description de la scène se fait avec un langage spécifique à POV-Ray, qui ressemble assez à de nombreux langages déjà existants ; il est séparé en 2 parties :
  • un langage de description brut : c'est celui que nous verrons tout d'abord. Il permet d'ajouter les objets à la scène. Ce langage est nécessaire à toute scène.
    Pour ajouter un objet, il suffit d'écrire le mot-clé correspondant à cet objet hors de toute description.
  • Un autre langage, qui ne sert pas directement à la description de la scène, mais qui peut s'avérer très utile. Il permet d'exécuter des boucles, de traiter des variables, etc...
    Nous l'étudierons plus tard.
Le langage de description de scène de POV-Ray n'est PAS difficile. Il emploie de mots-clés qui seront évocateurs aux anglophones, et qui seront (pour la plupart) faciles à retenir pour les autres...

L'espace...

Quand je vous dit "L'espace", vous pensez à quoi ?
-> A Star Wars !


Bon, l'espace, c'est... le monde. Le monde en 3 dimensions en fait, tel que nous le percevons (on va pas chipoter sur le temps ^^).
Pour pouvoir se repérer, l'ordinateur va représenter cet espace par un repère, comme quand il le fait en 2 dimensions.
En 2D, il y a les x et les y (ça vous rappelle les cours de maths ?... :p ), et chaque point peut être repéré par ces deux coordonnées.
En 3D, c'est pareil... sauf qu'il y a en plus la profondeur, les z.

Mais puisqu'un schéma est mille fois mieux que tout ce que je pourrais vous dire, voilà une représentation des axes de l'espace :
Image utilisateur
Comme vous pouvez le voir, en haut c'est +y, en bas c'est -y, à droite c'est +x, à gauche -x, devant c'est +z et derrière c'est -z.
Retenez ça, c'est un point FONDAMENTAL.
Un moyen très simple de retenir l'orientation des axes (les z sont positifs devant et négatifs derrière, ...) est de se dire que le repère est de type "main gauche". En effet, si vous pointez votre pouce gauche à droite, et l'index vers le haut, représentant respectivement les x et les y, alors le majeur, représentant les z, pointera devant vous : les z sont donc positifs devant. Retenez ce principe "main gauche", il sera utile plus tard.

En cours physique, on utilise aussi souvent des axes... Mais attention ! En physique, on utilise un repère "main-droite", ce qui inverse le sens des z... Ne confondez pas les deux ! ;)

Par exemple, un point de coordonnées (x = 1,y = 2,z = 3) sera un peu à droite, un peu en haut, et assez devant vous (si vous vous tenez en x=0,y=0,z=0).

Les vecteurs

Bon, maintenant vous savez localiser un point dans l'espace.
Mais reste à savoir le faire comprendre à POV-Ray !
Les coordonnées dans POV-Ray sont notées sous la forme de vecteur : <x,y,z> (où vous remplacez, évidemment, x, y et z par les coordonnées réelles de l'objet).
Par exemple, pour noter les coordonnées (x = 5,y = -2, z = 0.2) il faudra écrire...
Secret (cliquez pour afficher)
<5,-2,0.2>

Vous aviez trouvé ? :lol: Trop facile hein ?

Encore une chose à propos des vecteurs de positions : des raccourcis existent... :D
Par exemple, au lieu de faire <0,1,0> (qui correspond à... x=0, y=1 et z=0), vous pouvez tout simplement écrire "y" ! De même, x et z correspondent respectivement à <1,0,0> et <0,0,1>
De plus, vous pouvez les multiplier et les ajouter :
  • 2*y correspond à <0,2,0>
  • x+3*z correspond à <1,0,3>
  • (7/2)*x+2*(z+2y) correspond à <3.5,4,2> o_O

Ça simplifie assez souvent la lecture (sauf dans le dernier cas... :-°)

Voilà, vous savez maintenant écrire les coordonnées d'un point en vecteur !
Avouez que jusque là, ce n'était pas VRAIMENT difficile... n'est-ce pas ?
(Mais non, je veux pas dire qu'à partir de maintenant ça va devenir impossible, roooh...)

Les couleurs

Vous verrez, faire de jolies formes, c'est cool, mais vous allez vite vouloir donner un peu de couleur à vos scènes...

Les couleurs que nous connaissons (vert, violet, orange, turquoise, rose fushia, coca-cola) se composent de 3 couleurs : vert, bleu, et rouge. Le noir correspond à rien du tout (0 de rouge, de bleu et de vert), tandis que le blanc correspond au max de chaque... si vous avez un peu l'habitude des ordinateurs, je ne vous apprends rien. ^^

Dans POV-Ray, ces valeurs vont de 0 (rien du tout) à 1 (max). Le blanc correspond donc à (rouge = 1, vert = 1, bleu = 1), et le noir (rouge = 0, vert = 0, bleu = 0)...
Maintenant, à votre avis, comment on va dire à POV-Ray qu'on veut 0.164486 de rouge, 0.68412 de bleu et 0 de vert ??? :o
Les vecteurs ! :lol:
Mais pour différencier ces vecteurs à 3 couleurs des anciens vecteurs à 3 coordonnées, on va placer devant le vecteur un petit mot-clé qui va lui dire qu'on donne des valeurs de rouge, vert et bleu, et non x, y et z : on va ajouter "rgb" (pour Red Green Blue) :
rgb <1,0,0> donnera un rouge pur.
rgb <0,1,0> donnera du vert.
rgb <0,0,1> donnera un joli bleu.
Bien entendu, les décimales sont acceptées :
<0.5,0.5,0.5> donnera du gris
<0.1654,0.654684,0.3213> donnera du... euh... bah, essayez. ^^

Et voilà pour les couleurs !
Cette fois, il n'y a pas de raccourcis directement intégrés dans POV-Ray pour faire des couleurs déjà préparées. Il existe un autre moyen d'accéder à des raccourcis, mais nous verrons ça plus tard.

L'échelle

POV-Ray ne force aucune échelle de distance...
En effet, les distances se comptent en "unités". C'est à vous de choisir, si vous souhaitez utiliser 1 unité pour 1 mètre, pour 1 cm, 1 km, 273.5 mètres, etc.
Bah oui, c'est normal : qu'est-ce qui fait, dans la vie, qu'une chose est grande ?
  • La vitesse à laquelle nous nous déplaçons. Vous aurez beau rouler en voiture, une montagne paraîtra avancer très lentement, ce qui ne sera pas le cas pour un lampadaire.
  • Les autres objets autour : si un homme se tient prêt de votre boîte et arrive à la moitié, vous conclurez que votre boîte est grande...

Ainsi, vous êtes libres d'utiliser l'échelle de votre choix, tant que vous l'appliquerez à tous les objets de votre scène.
Lors de scènes réalistes, je vous conseillerais d'utiliser 1 unité = 1 mètre, par simplicité...

Voila pour les distances et les échelles !

Petits trucs

Dernière petite chose, vous pouvez, à la place de n'importe quelle valeur numérique, mettre une opération. Par exemple, 6/3 au lieu de 2, (3+0.5)*(2-1) pour 3.5, etc...

Ce n'est pas forcément super utile, mais ça peut vachement aider, parfois... enfin, vous verrez bien !

Q.C.M.

Où se situe le point de coordonées <-3,-1,5> si l'on est en <0,0,0> et qu'on regarde vers les z positifs ?...
Quelle couleur va donner le code suivant :

Code : Autre
1
rgb <(0.5*4)-(5+(4-8)),(0.6*10-6),(1.5*3)-(2+2.5)>

Statistiques de réponses au QCM

Et voilà ! A présent (et cette fois-ci, pour de bon !), vous savez tout ce qu'il faut savoir pour commencer... Dans le prochain chapitre, nous entamerons immédiatement votre première scène !!
Chapitre précédent Sommaire Chapitre suivant

Partager

4 commentaires pour "Les bases de POV-ray"
Note moyenne : 3.96 / 4 (24 votes)
Pseudo Commentaire
Hors ligne Knacki # Posté le 25/06/2006 à 13:55:47

Ca reste basique, mais tout de même bien expliqué et interessant ^^
Cependant, certaines choses avec lesquelles je ne suis pas d'accord :

Quand tu dis "où se trouve le point machin ?", tu pars d'une origine forcément (<0,0,0> ^^ j'ai bien suivit maître), mais cette origine, c'est "nous" ...
Je trouve le choix de cette origine trop vague, on choisit quoi? le nombril? les yeux? les pieds? notre centre de gravité? (c'est con il est mobile) ...

Il me semble par ailleurs avoir trouvé une erreur :-° :

Citation : Gyscos
  • (7/2)*x+2*(z+2y) correpond à <3.5,4,4> o_O


Ca serait pas plutôt <3.5,4,2> ?? 2*z = 2*z != 4*z (la justification mathématique d'une précision :p ).

Bien expliqué et cool à lire. ^^ 14/20

EDIT : L'abruti que je suis a oublié la note :-°
Hors ligne titi.be # Posté le 17/07/2006 à 12:11:51
Avatar

Bon merci maintenant je rebosse meme mes mattes :D j'ai toujours été nul
mais ca a l'air tellement interesant qu'on va bosser j'ai mis 16
Hors ligne G-Climber # Posté le 17/07/2006 à 14:43:05
Let's go CLIMBING !
Avatar

Bien expliqué, c'est clair !
Secret (cliquez pour afficher)
17/20


... même si un peu compliqué pour moi :-°
Hors ligne DarkSquall # Posté le 16/10/2006 à 21:16:53
Les mots sont inutiles, Snake.
Avatar

Bien fait ce tutorial avec des menus clairs et des explictaions précises
17/20 :)

Voir tous les commentaires