Verzweigungen in Schleifen
Ein Beispiel für den Gebrauch der Einfach-Verzweigung #if ... #else... #end in Schleifen:
|
a) Mit einer While-Schleife:
union{
#local Nr = 0; // Start-Wert
#local EndNr = 20; // End-Wert
#while (Nr< EndNr)
sphere{ <0,0,0>,0.25
#if( Nr/2 = int(Nr/2) )
// d.h. nur bei gerade Zahlen
texture{ pigment{ color rgb<1,0.65,0>}
finish { phong 1}
}
scale<1,1.5,1>
#else // bei ungeraden
texture{ pigment{ color rgb<1,0,0.35>}
finish { phong 1}
}
scale<1.5,1,1>
#end // end of "#if( Nr/2 = int (Nr/2)"
translate<1,0.25,0>
rotate<0,Nr * 360/EndNr,0>}
#local Nr = Nr + 1; // next Nr
#end // --------------- end of loop
rotate<0,0,0>
translate<0,0,0>
} // end of union ------------------- |
a) Mit einer For-Schleife:
union{
#local EndNr = 20; // End-Wert
//#for(Var.,Start,End,Step)
#for (Nr, 0, EndNr-1, 1)
sphere{ <0,0,0>,0.25
#if( Nr/2 = int(Nr/2) )
// d.h. nur bei gerade Zahlen
texture{ pigment{ color rgb<1,0.65,0>}
finish { phong 1}
}
scale<1,1.5,1>
#else // bei ungeraden
texture{ pigment{ color rgb<1,0,0.35>}
finish { phong 1}
}
scale<1.5,1,1>
#end // end of "#if( Nr/2 = int (Nr/2)"
translate<1,0.25,0>
rotate<0,Nr * 360/EndNr,0>}
#local Nr = Nr + 1; // next Nr
#end // --------------- end of loop
rotate<0,0,0>
translate<0,0,0>
} // end of union ------------------- |
|
|
|