Matemática e Computação
 

A amizade é uma união de almas entre pessoas virtuosas. Porque: - os maus têm cúmplices
- os interesseiros, sócios - os voluptuosos, companheiros de vícios - os ídolos, admiradores
- os políticos, partidários - os príncipes, cortesãos (Autor desconhecido)

 

 

6.5.3 - OrientationInterpolator

OrientationInterpolator - nó que controla a orientação em função de uma fração do tempo, permitindo que sejam aplicadas rotações. Sua sintaxe é:

OrientationInterpolator {
......set_fraction
......key []
......keyValue []
......value_changed
}

key [] - lista de tempos fracionais chave

keyValue [] - lista de rotações chave - cada uma composta por X,Y,Z e um ângulo de rotação.

Exemplo 50: Animação 3

#VRML V2.0 utf8

DEF ES Transform {
    translation -2 0 0
    children Shape {
        appearance Appearance {
            material Material{
                diffuseColor 0 0 1
            }
        }
        geometry Box {
            size 1 1 1
        }
    }
}

DEF PI PositionInterpolator {
    key [ 0 .5 1 ]
    keyValue [ -2 0 0, 2 0 0, -2 0 0 ]
}

DEF OI OrientationInterpolator {
    key [0 .5 1]
    keyValue [0 0 1 0, 0 0 1 -3.14, 0 0 1 0]
}

DEF TS TimeSensor {
    # loop TRUE
    cycleInterval 5
}

DEF Touch TouchSensor {}
ROUTE Touch.touchTime TO TS.startTime

ROUTE TS.fraction_changed TO PI.set_fraction
ROUTE PI.value_changed TO ES.translation

ROUTE TS.fraction_changed TO OI.set_fraction
ROUTE OI.value_changed TO ES.rotation

 

6.5.4 - ColorInterpolator

ColorInterpolator - nó que gera interpolação entre valores de cores RGB. Seu campo keyValue terá valores do tipo [1 0 0, 0 1 0, 0 0 1].. Sua sintaxe é:

ColorInterpolator {
......set_fraction
......key []
......keyValue []
......value_changed
}

Exemplo 51: Animação 4

#VRML V2.0 utf8
#color changer
#demonstrates how color interpolation works

Background {
     skyColor 1 1 0
}
Shape {
     appearance Appearance {
          material DEF theColor Material {
               diffuseColor 0 0 1
          } # end material
     } # end appearance

     geometry Sphere {
          radius 2
     } # end geometry
} # end shape

DEF timer TimeSensor {
     loop TRUE
     cycleInterval 12
}

DEF colorChanger ColorInterpolator {
      key[ 0   0.12   0.24   0.36   0.48   0.60   0.72   0.84   1 ] # end key
      keyValue [ 0 0 1    0 1 1    0 1 0    1 0 1    1 1 0    1 0 0    0 1 0    1 1 0    0 0 1 ] # end keyValue
} # end colorChanger

ROUTE timer.fraction_changed TO colorChanger.set_fraction
ROUTE colorChanger.value_changed TO theColor.set_diffuseColor