Ho aggiornato il codice ma sorgono due problemi:
quando l'asse sulle x diventa 0 io ho compiuto solo metà ellisse e in più... non sembra essersi risolto il problema della distanza tra i pallini.
http://dl.dropbox.com/u/4064417/ellisseFlash4.jpg
PS: la funzione la chiamo ad ogni fotogramma dell'animazione come mostra la prima riga di questo codice
	Codice PHP:
	
stage.addEventListener(Event.ENTER_FRAME, quartoCirconferenza);
var angle:Number;
var progress:Number = 0.0;
var velocity:Number = 10;
var pallino:Pallino;
var centerX:int = 200;
var centerY:int = 200;
var radiusX:Number = 150;
var radiusY:Number = 100;
var a:Number = (radiusX > radiusY) ? radiusX : radiusY;
var b:Number = (radiusX < radiusY) ? radiusX : radiusY;
var xTemp:Number = radiusX;
var s:Shape = new Shape();
s.graphics.lineStyle(1, 0x000000);
s.graphics.drawEllipse(centerX - radiusX, centerY - radiusY,  radiusX*2, radiusY*2);
addChild(s);
function quartoCirconferenza(e:Event){
    if (progress > 1) {
        progress -= int(progress);
    } else if (progress < 0) {
        progress -= int(progress) - 1;
    }
    
    /*angle = (1-progress) * (-Math.PI * 2); //circonferenza completa
    
    pallino.x = centerX + radiusX * Math.cos(angle);
    pallino.y = centerY + radiusY * Math.sin(angle);*/
    
    pallino = new Pallino();
    addChild(pallino);
    
    trace(xTemp+" <= "+Math.sqrt(1)/a);
    //if(xTemp <= Math.sqrt(1)/a){
        pallino.x = centerX + xTemp;
        pallino.y = centerY + b * Math.sqrt(1 - Math.pow(xTemp / a, 2));
    //}
    
    xTemp -= velocity;
}