Home
- POV-Ray Tutorial
Casualità con POV-Ray
- Numeri casuali in Loops
> Quadratico e cubico
- Colori e Scale
- Inclinare e piegare
- Alberi con casualità
- L'include file 'rand.inc'
- height_field riempito
- Fiore casuale
- Insert Menu Add-on
& Download
|
|
La collocazione aleatoria quadratica e cubica
|
Qui possiamo vedere come si può arrangiare oggetti bidimensionale e tridimensionale
con una irregolarià casuale.
Usiamo una serie di sfere che arrangiamo con un while loop.
|
Qui l'arrangiamento bidimensionale
in un piano:
//--------------------------------------
// Choosing random series:
#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 ---------------------- |
|
|
E poi lo stesso in tridimensionale:
//------------------------------------
// Choosing random series:
#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 -------------------- |
|
|
top
|
|