2024年9月30日 星期一

week04

 (1)

//week04_1_PShape_loadShape_shpae
//google :taiwan svh 下載svg檔(檔案總管-檢視-附檔名)
size(500,500);
PShape taiwan=loadShape("Taiwan-icon.svg");
PShape taiwan2=loadShape("tw.svg");
shape(taiwan);
shape(taiwan2);
***來畫台灣,要去維基百科下載svg檔

(2)
//week04_2_pushMatrix_scale_popMatrix
//google :taiwan svh 下載svg檔(檔案總管-檢視-附檔名)
size(500, 500);
PShape taiwan=loadShape("Taiwan-icon.svg");
PShape taiwan2=loadShape("tw.svg");
pushMatrix();
  scale(10);
  shape(taiwan);
popMatrix();
pushMatrix();
  scale(0.5);
  shape(taiwan2);
popMatrix();

(3)
//week04_3_void_setup_void_draw_void_mouseWheel
PShape taiwan, taiwan2;
void setup() {
  size(500, 500);
  taiwan=loadShape("Taiwan-icon.svg");
  taiwan2=loadShape("tw.svg");
}
float taiwanScale=1;
void draw() {
  background(#92C2F5);
  pushMatrix();
       scale(10*taiwanScale);
       shape(taiwan);
  popMatrix();
  pushMatrix();
      scale(0.5*taiwanScale);
      shape(taiwan2);
  popMatrix();
}
void mouseWheel(MouseEvent e) {//mouseWheel 是mouse的滾輪
  float d= e.getCount();
  if (d>0)taiwanScale*=1.1;
  else taiwanScale*=0.9;
}//滾輪打小,可調整大小

(4)
//week04_4_world_svg_float_s_scale_s_void_mouseWheel_s
PShape world;
void setup(){
  size(800,400);
  world=loadShape("world.svg");
}
float s=0.4;
void draw(){
  background(#92C2F5);
  scale(s);
  shape(world);
} 
void mouseWheel(MouseEvent e){
  if(e.getCount()>0)s*=1.1;
  else s*=0.9;
}  //世界地圖,調整大小

(5)
//week04_5_world_svg_translate_x_y
PShape world;
void setup(){
  size(800,400);
  world=loadShape("world.svg");
}
float s=0.4,x=0,y=0;
void draw(){
  background(#92C2F5);
  translate(x,y);
  scale(s);
  shape(world);
} 
void mouseDragged(){
  x+=mouseX-pmouseX;
  y+=mouseY-pmouseY;
}
void mouseWheel(MouseEvent e){
  if(e.getCount()>0)s*=1.1;
  else s*=0.9;
}  


(6)
//week04_6_better_scale
PShape world;
void setup(){
  size(800,400);
  world=loadShape("world.svg");
}
float s=0.4,x=0,y=0;
float realX=0,realY=0;
void draw(){
  background(#92C2F5);
  translate(x,y);
  scale(s);
  shape(world);
  ellipse(realX,realY,10,10);
} 
void mouseDragged(){
  x+=mouseX-pmouseX;
  y+=mouseY-pmouseY;
}
void mouseWheel(MouseEvent e){//void_mouseWheel(MouseEvent e)
   realX=(mouseX-x)/s;///地圖上,真的座標
   realY=(mouseY-y)/s;///地圖上,真的座標
   float oldS=s;
  if(e.getCount()>0)s*=1.1;
  else s*=0.9;
  x=x+realX*oldS-realX*s;
  y=y+realY*oldS-realY*s;
}  

(7)
//week04_7_carrot01_background_stroke_fill_ellipse
size(600,500);
background(0);
stroke(255);
fill(0);
ellipse(50,50,100,100);
(8)
//week04_8_carrot02_void_setup_void_draw_void_mouseDragged
void setup() {
  size(600, 500);
  background(0);
  stroke(255);
  fill(0);
}
void draw() {
  //ellipse(50,50,100,100);
}
void mousePressed() {//mousePressed()
  ellipse(mouseX, mouseY, 100, 100);
}


(9)
//week04_9_carrot03_float_s_mouseButton_LEFT_RIGHT
void setup() {
  size(600, 500);
  background(0);
  stroke(255);
  fill(0);
}
void draw() {
  //ellipse(50,50,100,100);
}
float s=25;
void mousePressed() {//mousePressed()
  ellipse(mouseX, mouseY, s, s);
  if(mouseButton==LEFT)s*=1.1;
  if(mouseButton==RIGHT)s*=0.9;
}


(10)
//week04_a_carrot04_float_t_cos_t_sin_t
void setup() {
  size(600, 500);
  background(0);
  stroke(255);
  fill(0);
}
void draw() {
  //ellipse(50,50,100,100);
}
float s=25,t=0;
void mousePressed() {//mousePressed()
  ellipse(300+200*cos(t), 250+250*sin(t), s, s);
  t+=0.06;
  if(mouseButton==LEFT)s*=1.1;
  if(mouseButton==RIGHT)s*=0.9;
}

沒有留言:

張貼留言