2025年4月17日 星期四

week09 陳楷中

 //week09_1

PShape body, head;

void setup(){

  size(400, 400, P3D);

  body = loadShape("body.obj");

  head = loadShape("head.obj");

}

void draw(){

  background(204);

  translate(200, 300);

  sphere(10);

 

scale(10, -10, 10);

shape(body, 0, 0);

shape(head, 0, 0);

}




//week09_2_gundam_head_body_push_trt_pop

PShape body, head;

void setup(){

  size(400, 400, P3D);

  body = loadShape("body.obj");

  head = loadShape("head.obj");

}

void draw(){

  background(204);

  translate(200, 300);

  sphere(10);

 

  scale(10, -10, 10);

 

  shape(body, 0, 0);

  pushMatrix();

    translate(0, 22.5);

    rotateY(radians(mouseX-200));

    rotateX(radians(mouseY-60));

    translate(0, -22.5);

    shape(head, 0, 0);

   popMatrix();

}




// week09_3_gundan_uparm_upuparm

PShape uparml, upuparml;

void setup(){

  size(400, 400, P3D);

  uparml = loadShape("uparnl.obj");

  upuparml = loadShape("upuparnl.obj");

}

void draw(){

  background(204);

  translate(200, 300);

  sphere(10);

 

  scale(10, -10, 10);

 

  shape(upuparml, 0, 0);

  pushMatrix();

    translate(-4.1, 19,9);

    rotateY(radians(mouseX));

    translate(-4.1, 19,9);

    //rotateX(radians(mouseY-60));

    //translate(mouseX/10.0, -mouseY/10.0);

    //println(mouseX/10.0, -mouseY/10.0);

    shape(uparml, 0, 0);

   popMatrix();

}


//week09_4_gundan_uparm_upuparm_hand1

PShape uparml, upuparml,hand1;

void setup(){

  size(400, 400, P3D);

  uparml = loadShape("uparnl.obj");

  upuparml = loadShape("upuparnl.obj");

  hand1 = loadShape("hand1.obj");

}

void draw(){

  background(204);

  translate(200, 300);

  sphere(10);

 

  scale(10, -10, 10);

 

  shape(upuparml, 0, 0);

  pushMatrix();

    translate(-4.1, 19,9);

    rotateZ(radians(mouseX));

    translate(-4.1, 19,9);

    shape(uparml, 0, 0);

    pushMatrix();

     translate(mouseX/10.0, -mouseY/10.0);

     rotateX(radians(mouseY));

     translate(4.5, -16.9);

    //println(mouseX/10.0, -mouseY/10.0);

    shape(hand1, 0, 0);

   popMatrix();

  popMatrix();

}




//week09_5_gundan_uparm_upuparm_hand1

PShape uparml, upuparml,hand1;

void setup(){

  size(400, 400, P3D);

  uparml = loadShape("uparnl.obj");

  upuparml = loadShape("upuparnl.obj");

  hand1 = loadShape("hand1.obj");

}

float [] angle = new float[20];

int ID = 0;

void keyPressed(){

  if(key=='1') ID = 1;

  if(key=='2') ID = 2;

}

void mouseDragged(){

  angle[ID] += mouseX - pmouseX;

}

void draw(){

  background(204);

  translate(200, 300);

  sphere(3);

 

  scale(10, -10, 10);

 

  shape(upuparml, 0, 0);

  pushMatrix();

    translate(-4.1, 19,9);

    rotateZ(radians(mouseX));

    translate(-4.1, 19,9);

    shape(uparml, 0, 0);

    pushMatrix();

     translate(mouseX/10.0, -mouseY/10.0);

     rotateX(radians(mouseY));

     translate(4.5, -16.9);

    //println(mouseX/10.0, -mouseY/10.0);

    shape(hand1, 0, 0);

   popMatrix();

  popMatrix();

}




// week09_6_save_saveStrings_loadStrings

void setup(){

  size(300,300);

  rect(10,10,80,80);

  rect(110,110,80,80);

  save("file.png");

  another = loadStrings("lines.txt");

}

int x=10,y=10,ID=0;

void draw(){

  background(204);

  if(another != null){

    int [] now = int(split(another[ID]));

    rect(now[0], now[1], 80, 80);

    ID = (ID+1) % another.length;

  }  

  rect(x,y,80,80);

}

void mouseDragged(){

  x += mouseX - pmouseX;

  y += mouseY - pmouseY;

  String now = x +" " + y;

  lines.add(now);

}

ArrayList<String> lines = new ArrayList<String>();

String [] another;

void keyPressed(){

  String [] arr = new String[lines.size()];

  lines.toArray(arr);

  if(key=='s') saveStrings("lines.txt", arr);

}  



沒有留言:

張貼留言