Seminar Multimedia und Electronic Publishing
Kapitel 3: Virtual Reality Modeling Language (VRML):
Interaktive 3D-Dokumente
Next: Events
Up: Spezifikation
Previous: Instantiierung
Es gibt zwei Klassen von Feldern:
- Felder, die einen einzelnen Wert enthalten (wobei ein Wert z.B. eine Zahl,
ein Vektor oder sogar ein Bild sein kann)
- Felder, die mehrere Werte enthalten
Felder, die nur einen Wert enthalten, beginnen alle mit ,,SF``. Mehrwertige Felder
haben Namen die mit ,,MF`` anfangen.
Mehrwertige Felder werden als Folge von Werten, die durch Whitespaces (z.B. Kommas) getrennt sind, geschrieben und in eckige Klammern eingeschlossen.
Es gibt die folgenden einwertigen und mehrwertigen Felder:
- SFBool: Boolesche(-r) Wert(-e). Bsp.:
einZustand TRUE
- SFColor/MFColor: Farbwert(-e) bestehen aus je drei Gleitkommazahlen (RGB) im Bereich von 0.0 bis 1.0. Bsp. (Die Farben Rot, Grün und Blau):
someColors [ 1.0 0. 0.0, 0 1 0, 0 0 1]
- SFFloat/MFFloat: Gleitkommawert(-e) im ANSI C Format. Bsp.:
someFloats [ 3.1415926, 12.5e-3, .0001 ]
- SFImage: Unkomprimiertes 2-dimensionales Farb- oder Schwarzweißbild.
Angegeben werden die Breite, die Höhe, die Anzahl der Komponenten
und die einzelnen Pixelwerte von links-unten nach rechts oben.
Bsp.:
einBild 2 4 3 0xFF0000 0xFF00 0 0 0 0 0xFFFFFF 0xFFFF00
# Rot Gruen Schwarz Weiss Gelb
Das Ergebnis sieht folgendermaßen aus:
| Weiß | Gelb |
| Schwarz | Schwarz |
| Schwarz | Schwarz |
| Rot | Grün |
- SFInt32/MFInt32: 32-Bit Wert(-e). Bsp.:
einigeWerte [ 17, -0xE20, -518820 ]
- SFNode/MFNode: VRML Node(-s). Beispiel mit 4 Nodes:
vierNodes [ Transform { translation 1 0 0 }
DEF CUBE Box {}
USE CUBE
USE SOME_OTHER_NODE ] - SFRotation/MFRotation: Beliebige rechtsorientierte Rotation(-en) um
einen Rotationsvektor. Angegeben werden 3 SFFloats für den Rotationsvektor und
dann der Winkel in Radianten. Bsp. (Drehung um 180 Grad um die Y-Achse):
eineRotation 0.0 1.0 0.0 3.14159265
- SFString/MFString: UTF-8 Zeichenkette(-n). Um Hochkommatas auszugeben,
muß ein Backslash vorangestellt werden. Für einen Backslash benötigt man dann zwei Backslashs. Bsp.:
einText [ " \" Ersma guten ", "Tach hier ! \" " ]
- SFTime/MFTime: Zeitangabe(-n). Anzahl der Sekunden (Gleitkommazahl mit doppelter Genauigkeit) nach dem 1.1.1970 00:00:00 GMT.
- SFVec2f/MFVec2f: Zweidimensionale(-r) Vektor(-en) angegeben als
Gleitkommazahlen. Bsp.:
einVektor [ 42 666, 7.7 10 ]
- SFVec3f/MFVec3f: Dreidimensionale(-r) Vektor(-en) angegeben als
Gleitkommazahlen. Bsp.:
nochEinVektor [ 1 42 666, 7.7 9 10 ]
Die Standardeinheiten für Längen und Abstände sind Meter.
Next: Events
Up: Spezifikation
Previous: Instantiierung
Jürgen Moßgraber,
Freitag, 14. Februar 1997, 12:22:19 Uhr MET