Author Archives: Zevan

Babylonian Method for Square Root

CLICK HERE TO COPY
Actionscript:

var xn:Number = 1;

var xn1:Number = 0

var square:Number =39;

 

trace("find the sqrt of ", square);

trace("Math.sqrt: ", Math.sqrt(square))

 

// no starting approximation, just try up to 35 iterations

for(var i:int = 0; i<35; i++){

    xn1 = .5 * (xn  + square / xn);

    if (xn1== xn){

        trace("other sqrt: ", xn1);

    [...]

Posted in Math | Tagged , | 2 Comments

Supershapes / Superformula

CLICK HERE TO COPY
Actionscript:

// Superformula (equations from):

// http://www.geniaal.be/downloads/AMJBOT.pdf

// http://en.wikipedia.org/wiki/Superformula

const TWO_PI:Number = Math.PI * 2;

function superShape(a:Number, b:Number, m:Number, n1:Number, n2:Number, n3:Number, pnt:Point, scale:Number):void{

    var r:Number = 0

    var p:Number = 0;

    var xp:Number = 0, yp:Number = 0;

    while(p <= TWO_PI){

        var ang:Number = m * p / 4;

  [...]

Posted in Math, graphics algorithms, misc, setPixel | Tagged , | Leave a comment

Fracture a Number

CLICK HERE TO COPY
Actionscript:

var target:Number = 1024;

var slices:Array = [target];

var leng:int = 11;

 

for (var i:int = 0; i<leng-1; i++){

     var index:int = int(Math.random()*slices.length);

     var val:Number = slices[index];

     var rand:Number = Math.random() * val/2;

     slices[index] = val - rand;

     slices.push(rand);

}

 

trace(slices);

 

// test that they all add up

var sum:Number = 0;

for (i = [...]

Posted in arrays, misc | Tagged , | Leave a comment

Random Walk to Target

CLICK HERE TO COPY
Actionscript:

var target:Number = 360;

var steps:Array = new Array();

for (var step:Number = 0; step <target; step += int(Math.random() * 36 + 36)){

    steps.push(Math.min(target,step));

}

steps.push(target);

trace(steps);

/* outputs something similar to:

0,46,99,144,189,259,330,360

*/

This is something I've had to do a few times recently.... it randomly steps a number toward a given target...

Posted in arrays, misc | Tagged , | Leave a comment