Indice Generale Struttura Gerarchica


"Viaggio nel Sistema Solare"

TERRA.WRL
Il file TERRA.WRL definisce la struttura geometrica del pianeta Terra, 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 satellite naturale, viene incluso in questo livello della gerarchia tramite l'inlining del file TER_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 TERRA.WRL

DEF TerraLight Transform {
  translation -2885.2 0 0
    children [
      SpotLight {
        direction -1 0 0
        beamWidth   0.785
        cutOffAngle 0.785
        radius 102.4
        intensity 0.1
      }
    ]
  }
} 

DEF Terra Transform {
  translation -3090 0 0
  children [
    Shape {
      appearance Sony_Appearance {
        description "TERRA"
        material Material {
          diffuseColor  0.5 0.5 0.5
          emissiveColor 0 0 0
        }
        texture DEF TerraTexture ImageTexture {
          url "..\..\images\terra.jpg"
        }
        textureTransform TextureTransform {
          scale 3 3
        }
      }
      geometry Sphere {
        radius 102.4
      }
    },
    DEF TerraSatelliti Inline {
      url "ter_sat.wrl"
    }  
  ]
}

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

DEF TerraRotation OrientationInterpolator {
  key [0, 0.25, 0.5, 0.75, 1]
  keyValue [
    0.39 -0.92 0.0 0.0,
    0.39 -0.92 0.0 1.57,
    0.39 -0.92 0.0 3.14,
    0.39 -0.92 0.0 4.71,
    0.39 -0.92 0.0 6.28
  ]
}

ROUTE TerraTime.fraction_changed  TO TerraRotation.set_fraction
ROUTE TerraRotation.value_changed TO Terra.set_rotation