Author Archives: Zevan

k-th Order Catmull-Rom Spline

CLICK HERE TO COPY
Actionscript:

var canvas:BitmapData = new BitmapData(400,400,false, 0x000000);

addChild(new Bitmap(canvas));

var pnts:Array = new Array();

// make 8 control points

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

    pnts.push(dot(50 + i * (30 + Math.random()*10),

                             50 + i * (30 + Math.random()*10)));

}

addEventListener(Event.ENTER_FRAME, onLoop);

function onLoop(evt:Event):void {

  [...]

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

Catmull-Rom Spline

CLICK HERE TO COPY
Actionscript:

var canvas:BitmapData = new BitmapData(400,400,false, 0x000000);

addChild(new Bitmap(canvas));

 

var p0:Sprite = dot(100, 100);

var p1:Sprite = dot(120, 180);

var p2:Sprite = dot(220, 180);

var p3:Sprite = dot(250, 250);

 

addEventListener(Event.ENTER_FRAME, onLoop);

function onLoop(evt:Event):void {

    canvas.lock();  

    canvas.fillRect(canvas.rect, 0x000000);

 

    curve(p0, p1, p2, p3);

    canvas.unlock();

}

 

 

// all math from http://en.wikipedia.org/wiki/Cubic_Hermite_spline

function curve(p0:Sprite, p1:Sprite, p2:Sprite, p3:Sprite, rez:Number=.02):void{

    var px:Number [...]

Posted in Math, graphics algorithms, setPixel | Tagged , | 5 Comments

Cubic Hermite Spline

CLICK HERE TO COPY
Actionscript:

var canvas:BitmapData = new BitmapData(400,400,false, 0x000000);

addChild(new Bitmap(canvas));

 

// create some draggable dots

var p0:Sprite = dot(100, 100);

var p1:Sprite = dot(200, 200);

var m0:Sprite = dot(200, 100, 0xFFFFFF, 3)

var m1:Sprite = dot(100, 200, 0xFFFFFF, 3);

 

addEventListener(Event.ENTER_FRAME, onLoop);

function onLoop(evt:Event):void {

    canvas.fillRect(canvas.rect, 0x000000);

    var px:Number = 0;

    var py:Number = 0;

    for (var t:Number = [...]

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

more(nesting(functions(graphDrawing)));

CLICK HERE TO COPY
Actionscript:

[SWF(width=800, height=600)]

 

var canvas:Graphics;

var graphData:Array = sineData();

 

var graph0:Shape = Shape(addChild(new Shape()));

graph0.x = 50;

graph0.y = 150;

 

var graph1:Shape = Shape(addChild(new Shape()));

graph1.x = 400;

graph1.y = 150;

 

var graph2:Shape = Shape(addChild(new Shape()));

graph2.x = 50;

graph2.y = 400;

 

// use graphData to draw 3 different looking graphs:

 

canvas = graph0.graphics;

axis(lines(graphData));

 

canvas = graph1.graphics;

axis(dots(graphData, 0xFF0000), 0xFFCC00, 2);

 

canvas = graph2.graphics;

axis(dots(dots(lines(lines(graphData, 0xCCCCCC, 20))), 0x0022FF, 0, [...]

Posted in Graphics, functions, misc | Tagged , | Leave a comment