2024年9月16日 星期一

11160906-互動2

001.

 void setup() {

  size(400, 400);

}

void draw() {

  fill(#FFDC0F);

  background(255);

  //ellipse(50,50,100,100);

  float a =radians(mouseX);

  for (int x=0; x<400; x+=100) {

    for (int y=0; y<400; y+=100) {

      arc(x+50, y+50, 100, 100, 0+a, PI*2-a, PIE);

    }

  }

}

__________________________________________________________________________________

002.

void setup() {

  size(400, 400);

}

void draw() {

  fill(#FFDC0F);

  background(255);

  //ellipse(50,50,100,100);

  float a = frameCount % 180;

  if(a<45) a = radians(a);

  else if(a<90) a = radians(90-a);

  else if(a<135) a = radians(a-90);

  else if(a<180) a = radians(180-a);

  arc(200, 200, 300, 300, 0+a, PI*2-a,PIE);

}

__________________________________________________________________________________

003.
void setup() {
  size(400, 400);
}
void draw() {
  fill(#FFDC0F);
  background(255);
  //ellipse(50,50,100,100);
  //float a =radians(mouseX);
  for (int x=0; x<400; x+=100) {
    for (int y=0; y<400; y+=100) {
      float a = frameCount % 180;
      if (a<45) a = radians(a);
      else if (a<90) a = radians(90-a);
      else if (a<135) a = radians(a-90);
      else if (a<180) a = radians(180-a);
      arc(x+50, y+50, 100, 100, 0+a, PI*2-a, PIE);
    }
  }
}

__________________________________________________________________________________

004.
void setup() {
  size(400, 400);
}
int x = 200, y = 200;
void draw() {
  fill(#FFDC0F);
  background(255);
  if (keyPressed &&keyCode==RIGHT) x++;
  if (keyPressed &&keyCode==LEFT) x--;
  if (keyPressed &&keyCode==UP) y--;
  if (keyPressed &&keyCode==DOWN) y++;
  ellipse(x, y, 100, 100);
}
__________________________________________________________________________________
005.
void setup() {
  size(400, 400);
}
void draw() {
  fill(#FFDC0F);
  background(255);
  //ellipse(50,50,100,100);
  float a = frameCount % 180;
  float b =radians(mouseX);
  if (a<45) a = radians(a);
  else if (a<90) a = radians(90-a);
  else if (a<135) a = radians(a-90);
  else if (a<180) a = radians(180-a);
  arc(200, 200, 300, 300, b+0+a, b+PI*2-a, PIE);
}

__________________________________________________________________________________

006.
void setup() {
  size(400, 400);
}
float x= 200, y=200, d=0;
void draw() {
  fill(#FFDC0F);
  background(255);
  //ellipse(50,50,100,100);
  float a = frameCount % 180;
  float b =radians(mouseX);
  if (a<45) a = radians(a);
  else if (a<90) a = radians(90-a);
  else if (a<135) a = radians(a-90);
  else if (a<180) a = radians(180-a);
  arc(x, y, 100, 100, d+0+a, d+PI*2-a, PIE);
}
void keyPressed() {
  if (keyPressed &&keyCode==RIGHT) {
    x+=4;
    d = PI/2*0;
  }
  if (keyPressed &&keyCode==LEFT) {
    x-=4;
    d = PI/2*2;
  }
  if (keyPressed &&keyCode==UP) {
    y-=4;
    d = PI/2*3;
  }
  if (keyPressed &&keyCode==DOWN) {
    y+=4;
    d = PI/2*1;
  }
}


__________________________________________________________________________________

007.
void setup() {
  size(400, 400);
}
int x= 200, y=200, d=0;
void draw() {
  fill(#FFDC0F);
  background(255);
  //ellipse(50,50,100,100);
  float a = radians(abs(frameCount % 90 -45));
  int [] dx ={1, 0, -1, 0};
  int [] dy ={0, 1, 0, -1};
  x +=dx[d];
  y +=dy[d];
  arc(x, y, 100, 100, PI/2*d+a, PI/2*d+PI*2-a, PIE);
}
void keyPressed() {
  if (keyPressed &&keyCode==RIGHT) d=0;
  if (keyPressed &&keyCode==LEFT) d=2;
  if (keyPressed &&keyCode==UP) d=3;
  if (keyPressed &&keyCode==DOWN) d=1;
}


沒有留言:

張貼留言