Home
- POV-Ray Tutorial
- Bedingte
Anweisungen
Verzweigungen
>#if(...) ... #else ... #end
- in Schleifen
- in Macros
- in Animationen
- Ein-/Ausschalten von Teilen
#switch(...) #case(..) ...
#range(..) ... #end
- Auswahl-Listen
Existenz-Überprüfungen
#ifdef(...) #ifndef(...)
- Check in Include-Dateien
- Defaults in Include-Dateien
Schleifen
Prechecked, Postchecked,
Count-controlled, Early-Exit
#while(...)... #end
#for(...)... #end
- Beispiele:
- Schleifen in POV-Ray
- Schleifen, Sinus, Kosinus
|
Verzweigungen mit bedingten Anweisungen
In der Szenenbeschreibungssprache (SDL) von POV-Ray existieren 2 verschiedene
Strukturen, die es ermöglichen bedingte Anweisungen in Form von Verzweigungen darzustellen,
wie sie aus Programmiersprachen bekannt sind:
|
Einfach-Verzweigung
#if-Anweisung
(Wenn... dann ... sonst ...) |
Mehrfach-Verzweigung
#switch-Anweisung
(Schalter-Verzweigung) |
Syntax in POV-Ray:
#if (Bedingung)
... Anweisungen1
#else // (optional)
... Anweisungen2
#end
|
Syntax in POV-Ray:
#switch (Schalter-Variable)
#case (Schalter-Wert1)
... Anweisungen
#break
#case (Schalter-Wert2)
... Anweisungen
#break
#range (Startwert, Endwert)
... Anweisungen
#break
#else // (optional)
... Anweisungen
#break
#end // end of #switch |
Äquivalende Strukturen in anderen Programmiersprachen:
|
IF <Bedingung>
THEN
<Aktionen>
ELSE
<Alternative Aktionen>
ENDIF
|
SWITCH (EinZeichen) {
CASE 'a': <AktionFalls"a">;
BREAK;
CASE 'x': <AktionFalls"x">;
BREAK;
CASE 'y':
CASE 'z': <AktionFalls"y"und"z">;
BREAK;
DEFAULT: <AktionAndernfalls>;
} |
JavaScript:
if (Bedingung) {
(Aktionen) ;
}
if (Bedingung) {
(AktionWenn) ;
} else {
(AktionSonst) ;
} |
JavaScript:
switch (Variable) {
case "1":
(AktionWenn1);
break;
case "2":
(AktionWenn2);
break;
default:
(AktionSonst);
break;
} |
Hinweis: Wenn man in den Bedingungen Flieskommazahlen verwendet, dann
muß beachtet werden, dass extrem kleine Werte um ca. 1e-10
aufgrund der unvermeidbaren Rundungsfehler als Null gewertet werden.
|