Initial Commit
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
/**
|
||||
* Arctangent.
|
||||
*
|
||||
* Move the mouse to change the direction of the eyes.
|
||||
* The atan2() function computes the angle from each eye
|
||||
* to the cursor.
|
||||
*/
|
||||
|
||||
Eye e1, e2, e3;
|
||||
|
||||
void setup() {
|
||||
size(640, 360);
|
||||
noStroke();
|
||||
e1 = new Eye( 250, 16, 120);
|
||||
e2 = new Eye( 164, 185, 80);
|
||||
e3 = new Eye( 420, 230, 220);
|
||||
}
|
||||
|
||||
void draw() {
|
||||
background(102);
|
||||
|
||||
e1.update(mouseX, mouseY);
|
||||
e2.update(mouseX, mouseY);
|
||||
e3.update(mouseX, mouseY);
|
||||
|
||||
e1.display();
|
||||
e2.display();
|
||||
e3.display();
|
||||
}
|
||||
|
||||
class Eye {
|
||||
int x, y;
|
||||
int size;
|
||||
float angle = 0.0;
|
||||
|
||||
Eye(int tx, int ty, int ts) {
|
||||
x = tx;
|
||||
y = ty;
|
||||
size = ts;
|
||||
}
|
||||
|
||||
void update(int mx, int my) {
|
||||
angle = atan2(my-y, mx-x);
|
||||
}
|
||||
|
||||
void display() {
|
||||
pushMatrix();
|
||||
translate(x, y);
|
||||
fill(255);
|
||||
ellipse(0, 0, size, size);
|
||||
rotate(angle);
|
||||
fill(153, 204, 0);
|
||||
ellipse(size/4, 0, size/2, size/2);
|
||||
popMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user