Übungen für den Unterricht
|
Alle Beispiele des gesamten Lehrganges können hier heruntergeladen werden. |
Programmiere in VRML folgendes Objekt:
AUFZIEHEN EINES BILDES AUF EINEM OBJEKT appearance Appearance { texture ImageTexture { url "Mauer.gif" } textureTransform TextureTransform { scale 1 1 } }Eine sich drehende Litfass-Säule entwerfen, auf der ein Werbeplakat aufgezogen ist. |
KANTENMODELL DES POLYEDERS ... EDGESShape { appearance Appearance { material Material {} } geometry IndexedLineSet { coord Coordinate { point [ 2, 0, 2, -2, 0, 2, -2, 0,-2, 2, 0,-2, 0, 3, 0 ] }Achtung: wird u.U. schwarz gezeichnet, daher: heller Hintergrund Variable verwenden für die Punkte: DEF Punkte Coordinate { point [ 2, 0, 2, -2, 0, 2, -2, 0,-2, 2, 0,-2, 0, 3, 0 ]wird dann aufgerufen mit USE Punkte |
FLÄCHENMODELL DES POLYEDERSShape { appearance Appearance { material Material {} } geometry IndexedFaceSet { solid FALSE coord Coordinate { point [ 2, 2,0, -2, 2,0, -2,-2,0, 2,-2,0, 0, 0,3 ] } coordIndex [ 0,1,4,0,-1, 1,2,4,1,-1, 2,3,4,2,-1, 3,0,4,3,-1 ] } }Es kann auch eine beliebige (!) Liste von Farben angegeben und jedem Punkt dann eine Farbe zugewiesen werden (genauso viele Zuweisungen wie Punkte colorPerVertex FALSE color Color { color [ 1 0 0 0 1 0 0 0 1 ] colorIndex [ 2 1 0 1 0 ] } |
Vier Sechsecke werden mit je einer Kante aneinandergeheftet, da der
Winkel dann insgesamt mehr als 360° beträgt entsteht ein räumliches
Objekt. Jedes Sechseck erhält eine andere Farbe.
Hier.#VRML V2.0 utf8 Background { skyColor 0.2 0.2 0.3 } Shape { appearance Appearance { material Material {} } geometry IndexedFaceSet { solid FALSE coord Coordinate { point [ -2,-2,1, -2,-1,0, -2, 1,0, -2,2,1, -1,-2,2, -1,0,0, -1,2,2, 0,-1,2, 0,0,1, 0,1,2, 1,-2,2, 1,0,0, 1,2,2, 2,-2,1, 2,-1,0, 2,1,0, 2,2,1] } coordIndex [ 0,1,5,8,7,4,0, -1 2,3,6,9,8,5,2, -1 7,8,11,14,13,10,7, -1 8,9,12,16,15,11,8, -1 ] colorPerVertex FALSE color Color { color [ 1.0 0.0 0.0, 0.0 1.0 0.0, 0.0 0.0 1.0 1.0 0.5 0.0 ] } colorIndex [ 3 1 2 0 ] } } |
WENDELFLÄCHE MIT EXTRUSIONShape { appearance Appearance { material Material { diffuseColor 1 0 0 } }Die Punkte eines Kreises kann man für verschiedene Zwecke brauchen. Falls man den Kreis mit drei Koordinaten braucht, kann man als 3. Koordinate 0 hinzufügen, z.B. in der Mitte, dann hat man einen waagrechten Kreis. |
Vase entwerfen beliebige Annahme, unten geschlossen, oben offen. Kreiskonoid Kreis extrudieren: spine enthält die Punkte 0 00 0 und 0 2 0 und die Skalierungsfaktoren 1 1 und 0 1 Drehkegelstumpf entwerfen
dann Extrusion auf 0 0 0 mit scale 2.111 (ergibt wieder
Wandstärke 0.1 |
Geometrische Transformationen Sie sind bezüglich der Hintereinanderausführung nicht immer kommutativ. Muster: Transform { children [ Shape { appearance Appearance { material Material {} } geometry Box {} ] translation 2.0 0 0 scale ex ey ez, rotation ax ay az wink (Achse und Drehwinkel im Bogenmaß) } |
Säule Eine Säule mit VRML durch Extrusion eines Kreises entwerfen. (der Schaft wird etwas eingezogen, das Kapitell geht stark auseinander. Darüber eine quadratische Platte. Speichern unter Saeule.wrl Sechs solcher Säulen aneinanderreihen (inline), speichern als Querfront.wrl, 13 Säulen speichern als Langfront.wrl. Damit einen Tempel zusammensetzen. Dasselbe mit einem Kugelkapitell, das Skript ist durch Exportieren mit einem anderen Programm entstanden (Blender). |
Bildergalerie Einige Räume werden entworfen (aus Fußboden und Wänden, ohne Decke. Es soll meine Bildergalerie gestaltet werden (Bilder auf dünnen Qudern aufziehen und an den Wänden platzieren. Plane Sensor verwenden, damit man sie verschieben kann. |
Torus Querschnitt ein verschobener Kreis in der xz-Ebene, spine ein Kreis in der x-y-Ebene. |