Descriptions et exemples pour le raytracer POV-Ray par Friedrich A. Lohmüller
Le hasard en POV-Ray - part 4     
English English English
Italiano Italiano
Deutsch Deutsch

Home- Page d'accueil
- Tutoriel POV-Ray

- Hasard en POV-Ray
   - Nombres aléatoires
   - Quadratique et cubique
   - 'color' et 'scale'
  > Basculer et incliner
   - Les arbres avec hazard
   - Le fichier 'rand.inc'
   - height_field rempli
   - Fleur aléatoire

  - Insert Menu Add-on
    & Téléchargement
                                   
 Basculer et incliner avec hazard.

Comment incliner irrégulièrement et par hasard une série des objets.
Pour une démonstration nous utilissons une série de cylindres, que nous arrangeons sur une ligne avec un boucle 'while'.

//------------------------------------
#declare Mast =  // le māt
cylinder{ <0,0,0>,<0,2,0>,0.1
 texture{
  pigment{ color rgb<0.40,0.25,0.15>}
  normal { bumps 0.5
           scale <0.005,0.25,0.005>}
  finish { phong 0.5}
 } // end of texture
} // end of cylinder -----------------

#declare NrX = -10;     // start
#declare EndNrX = 10;   // end
#while (NrX < EndNrX+1)
   object{ Mast
           translate<0,0,Nr*1.5>
         } // end of object

 #declare NrX = NrX + 1;  //next Nr
#end // ------------ end of loop -----

Parce que l'expression 'rand(Random_1)' produit des valeurs aléatoires entre 0 et 1, nous pouvons obtenir avec l'expression 'rand(Random_1) - 0.5' des valeurs aléatoires entre -0.5 et +0.5. Par conséquent l'expression ' 2 * ( rand(Random_1) - 0.5 )' livre des valeurs entre -1 et 1.
Pour une rotation autour du axe z de par ex. +/-10 degré au maximum nous devons multiplier l'expression antérieur par le montant maximal de l'angle :

//-------------------------------------
#declare NrX = -10;     // start
#declare EndNrX = 10;   // end
#while (NrX < EndNrX+1)
object{
  Mast
  rotate<0,0,10*2*(rand(Random_1)-0.5)>
  translate<0,0,Nr*1.5>
} // end of object

 #declare NrX = NrX + 1;  //next Nr
#end // -------------- end of loop ----

Cette scène on peut perfectionner très facilement come on peut voir dans les images suivantes :

 
click for higher resolution
Cliquer sur l'image por une résolution plus haut!
 
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
top

© Friedrich A. Lohmüller, 2013
www.f-lohmueller.de