#VRML V2.0 utf8 DEF MOVEE Transform { children Shape { appearance Appearance { material Material {} } geometry Sphere {} } } Background { skyColor 1 1 1 } NavigationInfo { type "NONE" } DEF TIMER TimeSensor { cycleInterval 2 loop TRUE } DEF SCRIPT Script { eventIn SFFloat set_fraction eventIn SFTime cycleTime eventOut SFVec3f value_changed field SFVec3f p1 0 0 0 field SFVec3f p2 0 0 0 url "vrmlscript: function plerp(p1, p2, t) { return p1.add(p2.subtract(p1).multiply(t)); } function set_fraction(val) { value_changed = plerp(p1, p2, val); } function cycleTime(val) { p1 = p2; x = p1.x + Math.random()*3-1.5; y = p1.y + Math.random()*3-1.5; z = p1.z + Math.random()*3-1.5; p2 = new SFVec3f(x, y, z); } " } ROUTE TIMER.fraction_changed TO SCRIPT.set_fraction ROUTE SCRIPT.value_changed TO MOVEE.translation ROUTE TIMER.cycleTime TO SCRIPT.cycleTime
mrl