Jeff Ostergaard
Programming Concepts and Applications

ACCAD 756


Task# 08
Using Noise
Due Date October 31, 2002
Source Code

//
// Ostergaard, Task 08
// Using Noise
//
//
// define a function to perform updates to the stage
function circleAnimationstep(allCircles, curCircle) {

      // period of time for cycle
     var period = 5 * 1000;

     // returns a large, steadily increasing number
     var milliseconds = (new Date()).getTime();

     // mod range by period to get range over time,
     // then normalize to range [0,1],
     var progress = (milliseconds % period) / period;

     // scale to the input range of our periodic function [0,2PI]
     var radians = (2 * Math.PI) * progress;

     // define periodic function controls
     var frequency = 2; //speed of tunnel (wave)
     var norm = curCircle / allCircles.Length;
     var phaseShift = norm * (2 * Math.PI);

     // circle position
     allCircles[curCircle]._x = Stage.width * .5;
     allCircles[curCircle]._y = Stage.height * .5;

     // circle scale
     allCircles[curCircle]._xscale = rangedSin(radians, frequency, phaseShift + 1.5, 10,
     7000);
     allCircles[curCircle]._yscale = rangedSin(radians, frequency, phaseShift + 1.5, 10,
     7000);

     // circle transparency
     allCircles[curCircle]._alpha = rangedSin(0, frequency, phaseShift, 5, 50);
}