2024年11月18日 星期一

Week11-唐門外系弟子-林活修行互動技術秘笈

 week11_01_optical_illusion_ball_analyze

視覺遮蔽,其實圖中的球體都是同一個顏色。

PImage img = loadImage("ball.png");
size(640, 569);
background(img);
fill(0);
for (float y=21; y<569; y+=13.748) {
  for (float x=2; x<640; x+=30) {
    //ellipse(32, y, 11, 11);
    //ellipse(32, 35, 11, 11);
    ellipse(x, y, 12, 12);
  }
}
for (float y=21; y<569; y+=13.748) {
  for (float x=2+15; x<640; x+=30) {
    //ellipse(32, y, 11, 11);
    //ellipse(32, 35, 11, 11);
    ellipse(x, y, 12, 12);
  }
}
week11_02_optical_illusion_draw
開始來自己畫一個看看
size(600,600);
noStroke();
fill(236, 152, 52);
rect(0, 0, 300, 300);

fill(122, 202, 249);
rect(300, 0, 300, 300);

fill(129, 241, 128);
rect(0, 300, 300, 300);

fill(230, 95, 115);
rect(300, 300, 300, 300);

fill(122, 202, 249);
for(float y=0; y<300; y+=15){
  for(float x = 0;x<300; x+=30){
    ellipse(x, y, 11, 11);
    ellipse(x+15, y+7, 11, 11);
  }
}

fill(236, 152, 52);
for(float y=0; y<300; y+=15){
  for(float x = 0;x<300; x+=30){
    ellipse(x, y, 11, 11);
    ellipse(x+15, y+7, 11, 11);
  }
}
week11_03_optical_illusion_draw_better
劃出我們要的遮蔽效果
size(600,600);
noStroke();
fill(236, 152, 52);
rect(0, 0, 300, 300);

fill(122, 202, 249);
rect(300, 0, 300, 300);

fill(129, 241, 128);
rect(0, 300, 300, 300);

fill(230, 95, 115);
rect(300, 300, 300, 300);

fill(191, 156, 205);
ellipse(150, 150, 150, 150);
ellipse(450, 150, 150, 150);
ellipse(150, 450, 150, 150);
ellipse(450, 450, 150, 150);

for(float y=0; y<600; y+=15){
  for(float x = 0;x<600; x+=30){
    if(6+x<300 && 6+y<300) fill(122,202,249);
    if(6+x<300 && 6+y<300) fill(236, 152, 52);
    if(6+x<300 && 6+y<300) fill(230, 95, 115);
    if(6+x<300 && 6+y<300) fill(129, 241, 128);
    ellipse(6+x, y, 11, 11);
    ellipse(6+x+15, y+7, 11, 11);
  }
}
week11_04_ArrayList_for_loop
來學習一個新資料結構的東西。
ArrayList<Integer> a= new ArrayList<Integer>();

a.add(3);
a.add(5);
a.add(7);
for(Integer i : a){//進階的 for迴圈
  println(i);  
}

for(int i=0; i<a.size(); i++){//傳統的 for迴圈
  println(a.get(i) );//用.get()取出要的那一個
}
week11_05_ArrayList_class_Card_draw
利用新學的招式來做出一個撲克牌
class Card {//物件裡, 有方法畫圖
  int x, y;
  void draw() {
    rect(x, y, 100, 150);
  }
}
Card card1 = new Card();
void setup() {
  size(500, 400);
  card1.x= 100;
  card1.y= 100;
}

void draw() {
  card1.draw();
}

week11_06_class_Card_Card_x_y_draw
開始學習物件導向的用法,利用撲克牌。
class Card {//發明一種類別 class 叫大寫的卡片
  int x, y;
  Card(int _x, int _y) {
    x = _x; y= _y;
  }
  void draw(){
    rect(x, y, 100, 150);
  }
}//下面: 照著卡片類別, 發明1個物件card1
Card card1 = new Card(100, 100);//座標 100,100
void setup(){
  size(500, 400);
}
void draw(){
  card1.draw();  
}

  






沒有留言:

張貼留言