vr2-6-01.wrl
[ VRML source code ]
#VRML V2.0 utf8
#vr2-6-01.wrl
Background { skyColor 1 1 1 }
Shape {
appearance Appearance {
material Material {
transparency 0.5
diffuseColor 0 1 0
}
}
geometry Box { size 2 2 2 }
}
Group {
children [
DEF Ball1 Transform {
children Shape {
appearance Appearance {
material Material {
diffuseColor 1 1 0
}
}
geometry Sphere { radius 0.15 }
}
},
DEF Timer1 TimeSensor {
cycleInterval 10.0
loop TRUE
startTime 1.0
stopTime 0.0
},
DEF Change1 Script {
eventIn SFFloat set_angle
eventOut SFVec3f coord
url "javascript:
function set_angle(angle, eventTime) {
coord[0] = Math.sin(7*angle*6.28);
coord[1] = Math.cos(5*angle*6.28);
coord[2] = Math.cos(3*angle*6.28);
}"
}
]
}
Group {
children [
DEF Ball2 Transform {
children Shape {
appearance Appearance {
material Material {
diffuseColor 0 1 1
}
}
geometry Sphere { radius 0.1 }
}
},
DEF Timer2 TimeSensor {
cycleInterval 2.0
loop TRUE
startTime 1.0
stopTime 0.0
},
DEF Change2 Script {
eventIn SFFloat set_angle
eventOut SFVec3f coord
url "javascript:
function set_angle(angle, eventTime) {
coord[0] = Math.sin(2*angle*6.28);
coord[1] = Math.cos(4*angle*6.28);
coord[2] = Math.cos(6*angle*6.28);
}"
}
]
}
Group {
children [
DEF Ball3 Transform {
children Shape {
appearance Appearance {
material Material {
diffuseColor 1 0 1
}
}
geometry Sphere { radius 0.125 }
}
},
DEF Timer3 TimeSensor {
cycleInterval 7.5
loop TRUE
startTime 1.0
stopTime 0.0
},
DEF Change3 Script {
eventIn SFFloat set_angle
eventOut SFVec3f coord
url "javascript:
function set_angle(angle, eventTime) {
coord[0] = Math.sin(6*angle*6.28);
coord[1] = Math.cos(7*angle*6.28);
coord[2] = Math.cos(5*angle*6.28);
}"
}
]
}
ROUTE Timer1.fraction_changed TO Change1.set_angle
ROUTE Change1.coord_changed TO Ball1.set_translation
ROUTE Timer2.fraction_changed TO Change2.set_angle
ROUTE Change2.coord_changed TO Ball2.set_translation
ROUTE Timer3.fraction_changed TO Change3.set_angle
ROUTE Change3.coord_changed TO Ball3.set_translation