Fortschrittsanzeige

1.6.6

 

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

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 }
Aufgabe

Ü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

Konstruktion eines Wagens (1.6.6-2)