// week05_1_i_love_you
size(300,300);
stroke(255,0,0);
for(int xx=0; xx<300; xx++){
for(int yy=0; yy<300; yy++){
float x = (xx-150)/100.0;
float y = -(yy-150)/100.0;
float d = x*x + y*y -1;
if( d*d*d - x*x*y*y*y < 0) point(xx,yy);
}
}
// week05_1b_i_love_you
size(300,300);
stroke(255,0,0);
translate(width/2,height/2);
for(int xx=-150; xx<150; xx++){
for(int yy=-150; yy<150; yy++){
float x = xx/100.0;
float y = -yy/100.0;
float d = x*x + y*y -1;
if( d*d*d - x*x*y*y*y < 0) point(xx,yy);
}
}
//week05_2_for_ellipse_arc_arc_radians_360
size(600, 600);
background(0);
for(int i=0; i<6; i++){
for(int j=0; j<6; j++){
int now = i*6 + j;
ellipse( 50+j*100, 50+i*100, 80, 80);
arc(50+j*100, 50+i*100, 60, 60, 0, now, PIE);
arc(50+j*100, 50+i*100, 40, 40, 0, radians(now*10), PIE);
text(now,j*100,i*100+30);
}
}
//week05_3_atan2_dy_dx_text_radians_degrees
void setup(){
size(400, 400);
}
void draw(){
background(128);
line(200, 200, 400, 200);
line(200, 200, mouseX, mouseY);
float dx = mouseX-200, dy = mouseY-200;
float a = atan2(dy, dx);
arc( 200, 200, 200, 200, 0, a, PIE);
textSize(30);
text("radians:"+ a , 100, 100);
text("degress:"+ degrees(a), 100, 130);
}
//week05_3b_atan2_dy_dx_text_radians_degrees
void setup(){
size(400, 400);
}
void draw(){
background(128);
line(200, 200, 400, 200);
line(200, 200, mouseX, mouseY);
float dx = mouseX-200, dy = mouseY-200;
float a = atan2(dy, dx);
if(a<0) arc( 200, 200, 200, 200, 0, a, PIE);
else arc( 200, 200, 200, 200, 0, a, PIE);
textSize(30);
text("radians:"+ a , 100, 100);
text("degress:"+ degrees(a), 100, 130);
}
//week05-4_translaye_mouseX_mouseY_rotate_radians
void setup(){
size(400, 400);
}
void draw(){
background(204);
translate(mouseX, mouseY);
rotate(radians(frameCount));
rect(-50,-5, 100, 10);
}
week05-5_translaye_mouseX_mouseY_rotate_radians
void setup(){
size(400, 400);
}
void draw(){
background(204);
rotate(radians(frameCount*10));
translate(mouseX, mouseY);
rect(-50,-5, 100, 10);
}
//week05_6_pushMatrix_popMatrix_bad
void setup(){
size(400, 400);
}
void draw(){
background(204);
translate(width/2, height/2);
rotate(radians(frameCount)*10);
rect(-50, -5, 100, 10);
translate(width/2-100, height/2);
rotate(radians(frameCount)*10);
rect(-50, -5, 100, 10);
}
//week05_6_pushMatrix_popMatrix_good
void setup(){
size(400, 400);
}
void draw(){
background(204);
pushMatrix();
translate(width/2, height/2);
rotate(radians(frameCount)*10);
rect(-50, -5, 100, 10);
popMatrix();
pushMatrix();
translate(width/2-100, height/2);
rotate(radians(frameCount)*10);
rect(-50, -5, 100, 10);
popMatrix();
}
沒有留言:
張貼留言