package
{
import flash.display.*;
import flash.events.*;
public class Main extends MovieClip
{
var points:Array;
var degree2Arr:Array = new Array()
var t:Number = 0.0; // de facut intre 0 si 1 ... sau 0% 100% :P
var num:int = 5;
var canContinue:Boolean = true;
var gRotation:Number = 0;
public function Main()
{
points = new Array();
for(var i:int = 0; i<num; i++)
{
var dot:Dot = new Dot();
dot.x = Math.random()*stage.stageWidth;
dot.y = Math.random()*stage.stageHeight;
dot.dotNumber.text = String(i+1);
addChild(dot);
points.push(dot);
}
addEventListener(Event.ENTER_FRAME, movePoints);
}
public function movePoints(ev:*):void
{
//if(degree2Arr.length != 0)
//while(degree2Arr.length != 0)
//removeChild(degree2Arr[0]);
if(!canContinue) return;
var total:int = num;
/* INCARC PUNCTELE ... */
for(var k=0; k<total; k++)
degree2Arr[k] = points[k];
/* INCEP SA CALCULEZ */
for(var q=total-1; q>0; q--)
for(var v:int = 0; v<q; v++)
{
var X = degree2Arr[v].x + (degree2Arr[v+1].x - degree2Arr[v].x)*t;
var Y = degree2Arr[v].y + (degree2Arr[v+1].y - degree2Arr[v].y)*t;
var i:Intermediar = new Intermediar();
i.x = X;
i.y = Y;
degree2Arr[v] = i;
}
addChild(degree2Arr[0]);
gRotation += 1;
if(t<=1)
t+= 0.003;
else
canContinue = false;
}
}
}
am vrut sa il mai modific sa ii mai adaug cate ceva ... da ma f*** o lene de numa numa

EDIT: pentru a trece in 3D pur si simplu trebuie adaugata a 3-a dimensiune (Z) ... am tinut sa editez pentru ca initial m-am gandit(poate chiar si altii) ca trebuie calculat pe perechi de coordonate dupa care va trebui pus x,y si z ... dar dupa mai multe experimente la lucru' am observat ca merge pe toate cele 3 coordonate odata