Home
- POV-Ray Tutorial
- POV-Ray Details
- Über Variable
> Vordefinierte Variable
#declare, #local
Ausdrücke
- Ein kurzes
Include File Tutorial
|
Vordefinierte Variable in POV-Ray
In der Szenenbeschreibungssprache (SDL) von POV-Ray sind einige
Variable fest eingebaut und daher gebrauchsfertig - aber sie können nicht mittels #declare oder #local neu-deklariert werden.
|
Vordefinierte Variable mit festen Werten |
Vordefinierte Variable ohne feste Werte |
pi = 3.1415926535897932384626
true = 1
yes = 1
on = 1
false = 0
no = 0
off = 0
u = <1,0>
v = <0,1>
o = <0,0,0>
x = <1,0,0>
y = <0,1,0>
z = <0,0,1>
t = <0,0,0,1> |
Zum Gebrauch in Animationen:
clock // gegnwärtiger 'clock'-Wert in Animationen (0..1)
clock_delta // clock step between frames
initial_clock // start clock value (+KIn.n)
final_clock // end clock value (+KFn.n)
initial_frame // start frame number (+KFIn.n)
final_frame // end frame number (+KFFn.n)
frame_number // current frame number
clock_on // 1(true) if animation
For use of controlling the aspect ration of the camera:
image_width // width of current render
image_height // height of current render
For compatibility of POV-Ray version:
version // version (default value is 3.6, or 3.7
// depending of the POV-Ray version you use.
// Can be changed with #version) |
Um jegliche Kollision vordefinierten Variablen und reservierten Wörter in POV-Ray
zu vermeiden, ist es dringend empfohlen, bei durch den Benutzer definierten Variablen
nur Worte zu verwenden, die mit Großbuchstaben beginnen.
In zukünftigen Versionen enthält die obige Liste möglicherweise noch weitere
Kleínbuchstaben als reservierte Wörter.
Aus diesem Grund und zum Erhalt der Bedeutungsklarheit in einer Szenedatei sollte obiger Rat
befolgt werden.
Beispiele:
schlecht / zu vermeiden |
okay |
Begründung |
#declare x = 2.5; |
#declare X = = 2.5; |
Kleines 'x' ist vordefiniert als <1,0,0> !
|
#declare v = <1.5,2,0>; |
#declare V = <1.5,2,0>; |
Kleines 'v' ist vordefiniert als <0,1> !
|
#local x = 0; // start
#local End = 10; // end
#while ( x < End )
sphere{ <0,0,0>,0.5
pigment{ rgb<1,0,0> }
translate<x*1.5,0,0>
}
#local x = x + 1; // next
#end // ------ end of loop |
#local I = 0; // start
#local End_I = 10; // end
#while ( I < End_I )
sphere{ <0,0,0>,0.5
pigment{ rgb<1,0,0> }
translate< I*1.5,0,0>
}
#local I = I + 1; // next I
#end // ------ end of loop |
Kleines 'x' ist vordefiniert als <1,0,0> !
Man verwende statt dessen etwas wie 'X, 'I', 'J', 'Ctr', 'Zaehler', ... ! |
#local i = 0; // start
#local End = 10; // end
#while (i < End )
sphere{ <0,0,0>,0.5
pigment{ rgb<1,0,0> }
translate<i*1.5,0,0>
}
#local i = i + 1; // next
#end // ------ end of loop |
#local I = 0; // start
#local End_I = 10; // end
#while ( I < End_I )
sphere{ <0,0,0>,0.5
pigment{ rgb<1,0,0> }
translate< I*1.5,0,0>
}
#local I = I + 1; // next I
#end // ------ end of loop |
Kleines 'i' ist kein wirklicher 'Parse Error'!
Es ist nur ein inkonsequenter Gebrauch eines Kleinbuchstabens,
der vermieden werden sollte, wenn wir auf der sicheren Seite sein wollen.
Denn beginnt man einmal damit, fördert
dies das Nachlassen der Aufmerksamkeit darauf, wie Benutzervariable
deklariert werden sollten. |
|