Home
- POV-Ray Tutorial
Schleifen mit POV-Ray
1. For + While
Vergleich
2. Lineare
Transformationen
>3. Zirkuläre
Transformationen
4. Möbius etc.
5. Schrauben
& Spiralen
6. Verdrehte
Spiralen
7. Schnecken
& Ammoniten
8. Sphärische Spiralen1
9. Sphärische Spiralen2
10. Fibonacci Spiralen
- Download
|
Schleifen und zirkuläre Transformationen
Die While-Schleife mit einfacher Rotationsbewegung:
|
#declare Ball =
sphere{ <0,0,0>,0.50
texture{
pigment{ color rgb<0.75,0,0>}
finish{ phong 1 } }
} //----------------------------------
#declare Radius = 3.00;
#declare Nr = 0; // start
#declare EndNr = 16; // end
#while (Nr < EndNr)
object{ Petal
translate<Radius,0.5,0>
rotate<0,Nr* 360/EndNr,0>}
#declare Nr = Nr + 1;// next Nr
#end // --------- end of loop ------- |
Eine "florale" Version:
|
|
Die Kugeln zusätzlich um die
z-Richtung rotieren ergibt eine zum Kreis gebogene Spirale:
|
#declare Ball =
sphere{<0,0,0>,0.25
texture{
pigment{ color rgb<1,0,0>}
finish { phong 1}
} //
} //----------------------------------
#declare R_major = 3.00;
#declare R_minor = 1.00;
#declare N_major = 10;
#declare N_minor = 430;
#declare Nr = 0; //start
#declare EndNr=N_major*N_minor;//end
#while (Nr < EndNr)
object{Ball
translate<R_minor,0,0>
rotate<0,0,Nr * 360/N_minor>
translate<R_major,0,0>
rotate<0,Nr * 360/EndNr,0>}
#declare Nr = Nr+1; // next Nr
#end // ---------- end of loop ------- |
|
Szenenbeschreibung für POV-Ray: .pov
oder .txt
|
Treibt man dieses Spiel so weiter, so erhält man eine zu
einem Kreis gebogene Doppelspirale - die Kugelanzahl erhöht sich schnell
beträchtlich. Im folgenden sind ca. 25 000 Kugeln im Spiel, die 17 MB RAM benötigen.
|
#declare Ball =
sphere{<0,0,0>,0.1
texture{see scene file}}}
//------------------------------------
#declare R_major = 3.50;
#declare R_minor = 1.00;
#declare R_inner = 0.30;
#declare N_maj = 14;
#declare N_min = 18;
#declare N_in = 100;
//------------------------------------
#declare Nr = 0; / start loop
#while (Nr < N_maj*N_min*N_in)
object{Ball
translate<0,0,R_inner>
rotate<0,Nr * 360/N_inner,0>
translate<R_minor,0,0>
rotate<0,0,Nr * 360/(N_min*N_in)>
translate<R_major,0,0>
rotate<0,
Nr * 360/(N_maj*N_min*N_in),0>}
#declare Nr = Nr + 1; // next Nr
#end // ------------ end of loop ----- |
|
Szenenbeschreibung für POV-Ray: .pov
oder .txt
|
|