Descriptions et exemples pour le raytracer POV-Ray par Friedrich A. Lohmüller
Le hasard en POV-Ray - part 2     
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
                                   
 Arrangement aléatoire
  quadratique et cubique.

Ici nous voyons comme on peut arranger des objets à deux et à trois dimensions avec une irrégularité par hasard avec nombres aléatoires.
Nous utilissons une série de sphères, lequelle nous arrangeons avec un boucle double et triple avec 'while'.

Ici l'arrangement aléatoire sur un plan :

//--------------------------------------
// choisir la série aléatoire :
#declare Random_1 = seed (2655);
#declare Random_2 = seed (1153);
//--------------------------------
union{
 // outer loop -------------------
 #declare NrX = - 2.5;  // start x
 #declare EndNrX =  2.5;// end   x
 #while (NrX< EndNrX+1)
  // inner loop ------------------
  #declare NrZ = 0;     // start z
  #declare EndNrZ =  5; // end   z
  #while (NrZ< EndNrZ+1)

  sphere{ <0,0,0>, 0.5
    texture{ pigment{color rgb<1,.65,0>}
             finish {phong 1}
           } // end of texture
    // Reguläre Anordnung:
    //translate< 2*NrX, 0.5, 2*NrZ>

    // Anordung mit Zufall:
    translate
     < 2*NrX+1.5*(-0.5+rand(Random_1)),
       0.5,
       2*NrZ+1.5*(-0.5+rand(Random_2))
     >
  } // end of sphere --------------

  #declare NrZ = NrZ + 1; // next Nr z
  #end // -------------- end of loop z
  // end inner loop
 #declare NrX = NrX + 1;  // next Nr x
 #end // --------------- end of loop x
// end of outer loop
} // end of union ----------------------

 
 
 
 

Et maintenant à trois dimensions:

//------------------------------------
// choisir la série aléatoire:
#declare Random_0 = seed (91125);
#declare Random_1 = seed (2655);
#declare Random_2 = seed (1153);
//--------------------------------
union{
 // outer loop -------------------
#declare NrX = -3;  // start x
#declare EndNrX =  3;// end   x
#while (NrX< EndNrX+1)
 // more inner loop --------------
 #declare NrY = -3;   // start y
 #declare EndNrY = 3; // end   y
 #while (NrY< EndNrY+1)
  // innerst loop ----------------
  #declare NrZ = -3;   // start z
  #declare EndNrZ = 3; // end   z
  #while (NrZ< EndNrZ+1)

  sphere{ <0,0,0>, 0.15
   texture{pigment{color rgb<1,.65,0>}
           finish {phong 1}
          } // end of texture
   // Reguläre Anordnung:
   //translate<0.5*NrX,0.5*NrY,0.5*NrZ>

   // Anordung mit Zufall:
   translate
   <0.5*NrX+0.25*(-0.5+rand(Random_0)),
    0.5*NrY+0.25*(-0.5+rand(Random_1)),
    0.5*NrZ+0.25*(-0.5+rand(Random_2))>
  } // end of sphere --------------

  #declare NrZ = NrZ + 1; // next Nr z
  #end // -------------- end of loop z
  // end innerst loop
 #declare NrY = NrY + 1; // next Nr y
 #end // -------------- end of loop y
 // end more inner loop
#declare NrX = NrX + 1;  // next Nr x
#end // --------------- end of loop x
// end of outer loop
rotate <0,-40,0>
translate <0,2,2>}
} // end of union --------------------

 
 
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
top

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