This example is for Processing 3+. If you have a previous version, use the examples included with your software. If you see any errors or have suggestions, please let us know.

**Sine Cosine.**

Linear movement with sin() and cos(). Numbers between 0 and PI*2 (TWO_PI which angles roughly 6.28) are put into these functions and numbers between -1 and 1 are returned. These values are then scaled to produce larger movements.

float x1, x2, y1, y2; float angle1, angle2; float scalar = 70; void setup() { size(640, 360); noStroke(); rectMode(CENTER); } void draw() { background(0); float ang1 = radians(angle1); float ang2 = radians(angle2); x1 = width/2 + (scalar * cos(ang1)); x2 = width/2 + (scalar * cos(ang2)); y1 = height/2 + (scalar * sin(ang1)); y2 = height/2 + (scalar * sin(ang2)); fill(255); rect(width*0.5, height*0.5, 140, 140); fill(0, 102, 153); ellipse(x1, height*0.5 - 120, scalar, scalar); ellipse(x2, height*0.5 + 120, scalar, scalar); fill(255, 204, 0); ellipse(width*0.5 - 120, y1, scalar, scalar); ellipse(width*0.5 + 120, y2, scalar, scalar); angle1 += 2; angle2 += 3; }