#VRML V2.0 utf8
# Scene 5
# Satellit, Erdkugel, Hintergrund
# Lichtquelle, Ton, Animation
# Erde kann mit der Maus gedreht werden
# Satellit beschleunigt bei Anklicken
#
Group {
children [
# Meta-Infos
Viewpoint {
position 0 0 300
orientation 0 0 1 0
description "Fernansicht"
},
Viewpoint {
position 275 0 100
orientation 0 1 0 1
description "Nahansicht"
},
Viewpoint {
position 0 400 500
orientation 1 0 0 -.75
description "Ansicht von Oben"
},
NavigationInfo {
headlight FALSE
avatarSize [1.0, 1.6, 0.75]
},
# Beleuchtung
DirectionalLight {
direction 1.0 -0.2 -0.3
color 1.0 1.0 1.0
},
# Timer
DEF RotationTimer TimeSensor {
cycleInterval 30.0
loop TRUE
startTime 1.0
stopTime 0.0
},
# script to generate path
DEF SatPath Script {
url "javascript:
function set_fraction(fraction, eventTime) {
value_changed[0] = r0 * Math.cos(6.28 * nTurns * fraction);
value_changed[1] = 0.0;
value_changed[2] = r0 * Math.sin(6.28 * nTurns * fraction);
}
function set_accelerate(hit, eventTime) {
if (hit) {
nTurns += 1.0;
}
}"
field SFFloat nTurns 1.0
field SFFloat r0 200
eventIn SFFloat set_fraction
eventIn SFBool set_accelerate
eventOut SFVec3f value_changed
},
# Satellit mit Ton
DEF Satellite Transform {
translation 200 0 0
children [
Inline {
url "ers-1f.wrl"
},
Sound {
source AudioClip {
url "ding.wav"
description "Background music"
loop TRUE
startTime 1
stopTime 0
},
location 0 0 0
minFront 30
minBack 30
maxFront 300
maxBack 300
spatialize TRUE
},
DEF SatHit TouchSensor {
}
]
},
# Erde mit Link
DEF Earth Transform {
children [
Inline {
url "erde.wrl"
},
DEF EarthHandle SphereSensor {
}
]
},
# Hintergrund
Background {
backUrl "stars.jpg"
frontUrl "stars.jpg"
leftUrl "stars.jpg"
rightUrl "stars.jpg"
topUrl "stars.jpg"
bottomUrl "stars.jpg"
}
]
}
# satellite circles the earth
ROUTE RotationTimer.fraction_changed TO SatPath.set_fraction
ROUTE SatPath.value_changed TO Satellite.set_translation
# earth can be rotated manually
ROUTE EarthHandle.rotation_changed TO Earth.set_rotation
# when the satellite is hit the rotation accelerates
ROUTE SatHit.isActive TO SatPath.set_accelerate