Random Key Values

#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