PolarToCartesian
PolarToCartesian by Daniel Shiffman.
Convert a polar coordinate (r,theta) to cartesian (x,y): x = rcos(theta) y = rsin(theta)
float r; // Angle and angular velocity, accleration float theta; float theta_vel; float theta_acc; void setup() { size(640, 360); // Initialize all values r = height * 0.45; theta = 0; theta_vel = 0; theta_acc = 0.0001; } void draw() { background(0); // Translate the origin point to the center of the screen translate(width/2, height/2); // Convert polar to cartesian float x = r * cos(theta); float y = r * sin(theta); // Draw the ellipse at the cartesian coordinate ellipseMode(CENTER); noStroke(); fill(200); ellipse(x, y, 32, 32); // Apply acceleration and velocity to angle (r remains static in this example) theta_vel += theta_acc; theta += theta_vel; }
Functions Used
draw()
Called directly after setup(), the draw() function continuously executes the lines of code contained inside its block until the program is stopped or noLoop() is called
Learn More
ellipseMode()
Modifies the location from which ellipses are drawn by changing the way in which parameters given to ellipse() are intepreted
Learn More
background()
The background() function sets the color used for the background of the Processing window
Learn More