06.01.2013 Views

Learning Processing: A Beginner's Guide to Programming Images ...

Learning Processing: A Beginner's Guide to Programming Images ...

Learning Processing: A Beginner's Guide to Programming Images ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

240 <strong>Learning</strong> <strong>Processing</strong><br />

<strong>Processing</strong> will also allow for rotation around the x or y -axis with the functions rotateX( ) and rotateY( ) ,<br />

which each require P3D or OPENGL mode. Th e function rotateZ( ) also exists and is the equivalent of<br />

rotate( ). See Examples 14-6, 14-7 and 14-8.<br />

fi g. 14.17 fi g. 14.18<br />

fi g. 14.19<br />

Example 14-6: rotateZ Example 14-7: rotateX Example 14-8: rotateY<br />

float theta = 0.0;<br />

void setup() {<br />

size(200,200,P3D);<br />

}<br />

void draw() {<br />

background(255);<br />

stroke(0);<br />

fill(175);<br />

translate(width/2,<br />

height/2);<br />

rotateZ(theta);<br />

rectMode(CENTER);<br />

rect(0,0,100,100);<br />

theta + = 0.02;<br />

}<br />

Th e rotate functions can also be used in combination. Th e results of Example 14-9 are shown in Figure 14.20 .<br />

Example 14-9: Rotate around more than one axis<br />

void setup() {<br />

size(200,200,P3D);<br />

}<br />

void draw() {<br />

background(255);<br />

stroke(0);<br />

fill(175);<br />

translate(width/2,height/2);<br />

rotateX(PI*mouseY/height);<br />

rotateY(PI*mouseX/width);<br />

rectMode(CENTER);<br />

rect(0,0,100,100);<br />

}<br />

float theta = 0.0;<br />

void setup() {<br />

size(200,200,P3D);<br />

}<br />

void draw() {<br />

background(255);<br />

stroke(0);<br />

fill(175);<br />

translate(width/2,<br />

height/2);<br />

rotateX(theta);<br />

rectMode(CENTER);<br />

rect(0,0,100,100);<br />

theta + = 0.02;<br />

}<br />

float theta = 0.0;<br />

void setup() {<br />

size(200,200,P3D);<br />

}<br />

void draw() {<br />

background(255);<br />

stroke(0);<br />

fill(175);<br />

translate(width/2,<br />

height/2);<br />

rotateY(theta);<br />

rectMode(CENTER);<br />

rect(0,0,100,100);<br />

theta + = 0.02;<br />

}<br />

fi g. 14.20

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!