Rotate

rotate.pde
/**
 * Rotate. 
 * 
 * Rotating a square around the Z axis. To get the results
 * you expect, send the rotate function angle parameters that are
 * values between 0 and PI*2 (TWO_PI which is roughly 6.28). If you prefer to 
 * think about angles as degrees (0-360), you can use the radians() 
 * method to convert your values. For example: scale(radians(90))
 * is identical to the statement scale(PI/2). 
 */

float angle;
float jitter;

void setup() {
    size(640, 360);

    noStroke();
    fill(255);

    rectMode(CENTER);
}

void draw() {
    background(51);

    // during even-numbered seconds (0, 2, 4, 6...)
    if (second() % 2 == 0) {
        jitter = random(-0.1, 0.1);
    }

    angle = angle + jitter;

    float c = cos(angle);

    translate(width / 2, height / 2);
    rotate(c);

    rect(0, 0, 180, 180);
}