kramann.info
© Guido Kramann

Login: Passwort:










3.3 Zusammengesetzte animierte Figuren

  • Durch Einfügen von Sensoren und deren Verknüpfung mit Timern über Routen, können Elemente animiert werden:
Code VRML
#VRML V2.0 utf8
#2. Beispiel eines animierten zusammengesetzten Körpers

DEF KOERPER1 Transform
{
    translation 0 0 0
    rotation 0 0 1 0.7854
    children
    [
        DEF QUADER Transform
        {
            translation 0 -0.1 0
            rotation 0 0 1 0.0
            children
            [
                Shape
                {
                    geometry Box
                    {
                        size 2.0 0.2 2.0
                    }
                    appearance Appearance
                    {
                        material Material
                        {
                            diffuseColor  0.2 0.2 0.8
                        }
                     }
                }
            ]
        }

        Transform
        {
            translation 0 0.5 0
            rotation 0 0 1 0.0
            children
            [
                Shape
                {
                    geometry Sphere
                    {
                        radius 0.5
                    }
                    appearance Appearance
                    {
                        material Material
                        {
                            diffuseColor  0.8 0.8 0.2
                        }
                     }
                }
            ]
        }

        DEF START TouchSensor {}
    ]
}

DEF ZEIT TimeSensor 
{
  cycleInterval 8
}

DEF BEWEGUNG PositionInterpolator
{
    #Zeit
    key
    [
        0.0
        0.2
        0.4
        0.6
        0.8
        1.0
    ]

    #x y z
    keyValue
    [
        0.0 -0.1 0.0     
        0.0  0.0 0.0     
        0.0  0.1 0.0     
        0.0  0.2 0.0     
        0.0  0.3 0.0     
        0.0  0.4 0.0     
    ]
}

DEF DREHUNG OrientationInterpolator
{
    #Zeit
    key
    [
        0.0
        0.2
        0.4
        0.6
        0.8
        1.0
    ]

    #Drehachse: x y z  Winkel
    keyValue
    [
        0.0  1.0 0.0  0.0
        0.0  1.0 0.0  1.2   
        0.0  1.0 0.0  2.4   
        0.0  1.0 0.0  3.6   
        0.0  1.0 0.0  4.8   
        0.0  1.0 0.0  6.0   
    ]
}

ROUTE START.touchTime TO ZEIT.startTime

ROUTE ZEIT.fraction_changed TO BEWEGUNG.set_fraction
ROUTE ZEIT.fraction_changed TO DREHUNG.set_fraction

ROUTE BEWEGUNG.value_changed TO QUADER.translation
ROUTE DREHUNG.value_changed  TO QUADER.rotation


zusammengesetzt

Tabelle 3.3-1: Zusammengesetzter animierter Körper in VRML