vers l'index général de l'aide / vers l'index des directives
Répéter automatiquement une instruction un certain nombre de fois, tant qu'une condition particulière est vraie.
POV-Ray 3.0 +sup.
#while (Condition) ... #end
while signifie "tant que". Tant que la Condition est vraie (égale à 1, yes, on,...), les instructions situées entre #while et #end sont exécutées inlassablement. Dès que la Condition est fausse, POV-Ray "sort" de la boucle, et embraye sur les instructions situées après #end.
#declare I=0;
#while (I < 10) //la boucle tournera tant que I sera plus petit que 10
sphere {<I*2,0,0>,1 pigment {Red}} //la sphère se répète le long de l'axe x,
//en utilisant I pour varier sa position
#declare I=I+1; //on incrémente I à chaque tour de boucle
#end
Une variante classique dans la façon d'incrémenter :
#declare I=0;
#while (I < 1)
sphere {<I*2,0,0>,1 pigment {Red}}
#declare I=I+0.2; //l'incrémentation est désormais décimale, cela permet
//d'ajuster plus facilement des problèmes d'intervalles
#end
Pour disposer du carrelage, par exemple. Notez comment la boucle "intérieure" est initialisée, c'est une source d'erreurs fréquente.
#declare I=0;
#while (I < 20)
#declare J=0;
#while (J < 20)
sphere {<I*2,0,J*1.5>,1 pigment {Red}}
#declare J=J+1;
#end
#declare I=I+1;
#end
Rédacteur: Fabien Mosen