|
Instanziierung mit DEF und USE
|
|
|
Wenn innerhalb einer virtuellen Welt ein Objekt - z.B. ein Stuhl in einem
Raum oder eine Materialeigenschaft - häufiger vorkommt, so kann man
auf dieses Objekt beliebig oft referenzieren (verweisen), dies nennt man
Instanziierung oder auch Instantiierung (diese Technik wurde bereits angewandt,
um z.B. Farben zu definieren).
|
|
|
Zu diesem Zweck muss man ein Objekt vorher über die Anweisung DEF
bezeichnen und kann es dann über die Anweisung USE referenzieren.
Das folgende Beispiel zeigt, wie man die Eigenschaft »violett strahlend«
{emissiveColor 0.8 0 0.8} auf das Objekt Kugel anwenden kann und dann
auf diese so instanziierte Kugel dreimal referenziert, um insgesamt vier
violett strahlende Kugeln im Raum anzuordnen. Das folgende Bild zeigt
das Ergebnis dieses Programms. (Allgemeines zum Thema Instanzenbildung
bei der objektorientierten Programmierung wird später beschrieben.)
|
|
Vier Kugeln im Raum (1.6.6-1)
|
|
|
#VRML V2.0 utf8
Background {
skyColor 0.2 0.3 0.7
}
DEF VIO Appearance {
material Material {
emissiveColor 0.8 0 0.8
}
}
DEF KUGEL Shape {
appearance USE VIO geometry Sphere { radius 1 }
}
Transform { translation 1.5 0 0 children USE KUGEL }
Transform { translation 0 1.5 0 children USE KUGEL }
Transform { translation 0 0 1.5 children USE KUGEL }
|
|
Übungsaufgabe 1.6-3: Wagenkonstruktion
|
(Dies ist eine Übungsaufgabe, die Sie auch
auf der Abschlussseite finden)
|
Konstruieren Sie einen Wagen - wie im folgenden Bild dargestellt
- indem Sie DEF und USE benutzen!
|
|
|
Konstruktion eines Wagens (1.6.6-2)
|
|