Indice Generale Struttura Gerarchica


"Viaggio nel Sistema Solare"

GIOVE.WRL
Il file GIOVE.WRL definisce la struttura geometrica del pianeta Giove, posizionato in modo decentrato rispetto alle sue coordinate locali, in modo da permettere, una volta incluso nel file della gerarchia immediatamente superiore tramite il nodo Inline, la simulazione del moto di rivoluzione attorno al Sole lungo un'orbita circolare di raggio assegnato. Viene inoltre specificato un punto luce del tipo SpotLight solidale con il pianeta, per rafforzare l'effetto di illuminazione solare.
Essendo un pianeta provvisto di satelliti naturali, vengono inclusi in questo livello della gerarchia tramite l'inlining del file GIO_SAT.WRL a cui si rimanda per ulteriori chiarimenti.
Il moto di rotazione viene simulato per mezzo del nodo OrientationInterpolator al quale vengono forniti tramite la dichiarazione di ROUTE degli eventi generati dal nodo TimeSensor preventivamente programmato, come ad esempio il set_rotation.

#VRML V2.0 utf8

#File GIOVE.WRL

DEF GioveLight Transform {
  translation -6570.8 0 0
    children [
      SpotLight {
        direction -1 0 0
        beamWidth   0.785
        cutOffAngle 0.785
        radius 559.6
        intensity 0.3
      }
    ]
  }
} 

DEF Giove Transform {
  translation -7690 0 0
  children [
    Shape {
      appearance Sony_Appearance {
        description "GIOVE"
        material Material {
          diffuseColor  1 1 1
          emissiveColor 0 0 0
        }
        texture DEF GioveTexture ImageTexture {
          url "..\..\images\giove.jpg"
        }
        textureTransform TextureTransform {
          scale 1 1
        }
      }
      geometry Sphere {
        radius 559.6
      }
    },
    DEF GioveSatelliti Inline {
      url "gio_sat.wrl"
    }  
  ]
}

DEF GioveTime TimeSensor {
    cycleInterval 10
    loop TRUE
    stopTime -1
}

DEF GioveRotation OrientationInterpolator {
  key [0, 0.25, 0.5, 0.75, 1]
  keyValue [
    0.05 -0.99 0.0 0.0,
    0.05 -0.99 0.0 1.57,
    0.05 -0.99 0.0 3.14,
    0.05 -0.99 0.0 4.71,
    0.05 -0.99 0.0 6.28
  ]
}

ROUTE GioveTime.fraction_changed  TO GioveRotation.set_fraction
ROUTE GioveRotation.value_changed TO Giove.set_rotation