float radius = 500;

float radius2= 500;

float step_rad = 0.1;

int centX = 250;

int centY = 250;

void setup(){

size(500,500,P3D);

frameRate(30);

background(0);

strokeWeight(2);

smooth();

}

void draw(){

translate(width/3,height/3);

rotateX(centY);

rotateY(radius);

stroke(255,10);

noFill();

ellipse(centX, centY, radius2*2.7, radius2*2.1);

radius2 = radius2 - step_rad;

stroke(255,10);

float x,y;

float lastx = -999;

float lasty = -999;

for(float ang = 0; ang <= 1440; ang+=5){

radius-=0.5;

float rad = radians(ang);

x = centX + (radius2 * cos(rad));

y = centY + (radius2 * sin(rad));

point(x,y);

}

}