VRML Features Scenengraph Wichtige Knotentypen Einfaches Beispiel einer Animation
#VRML V2.0 utf8
# Der Kommentar der ersten Zeile ist zwingend vorgeschrieben

# Einfaches Hello World Programm das einen String darstellt und 
# einen Link ins World Wide Web darauf legt
# Animiert ueber einen Tranformknoten

DEF SCHRIFT  Transform
   {
   children
      [
      Anchor 
         {
         children 
            [
            Shape 
               {
               geometry Text 
                  {
                  string ["Hello World"]
                  }
               }
            ]
            description "Hello World"
            url "http://www.fourmilab.ch/cgi-bin/uncgi/Earth?imgsize=320&opt=-l&lat=0.184093&ns=North&lon=359.53&ew=West&alt=1000000&img=learth.evif"
         }
      ]
   }
   
DEF ROTOTATOR OrientationInterpolator 
   {
   key [0, 0.5, 1]
   keyValue 
      [
      0 1 0 0, 
      0 1 0 3.14, 
      0 1 0 6.28 
      ]
   }

DEF TIMER TimeSensor 
   {
   cycleInterval 10
   loop TRUE
   }


ROUTE TIMER.fraction_changed TO ROTOTATOR.set_fraction
ROUTE ROTOTATOR.value_changed TO SCHRIFT.set_rotation


Rotation/Mathematik

In der nummerischen Mathematik werden Drehungen meist über Eulersche Winkel und Drehmatrizen behandelt.

Nachteil: VRML definiert Drehungen über einen Vektor und eine Winkel (4 Werte pro Drehung)

Mathematisch fasst man den Vektor und den Cosinus des Winkels zum Quaterion zusammen, einer Art 3 dimensionale Erweiterung der Imaginäre Zahlen.

Mit Hilfe der Rechenregeln der Quaterionen lassen sich mathematische Probleme lösen (z.B. die Kombination zweier Drehungen, ohne dafür 2 Transformknoten einsetzen zu müssen).

Geschichte/Versionen/Ausblick

Linuxtools
  • 3D Modeller (z.B. auch für Rayshader wie Povray geeignet)