2019年10月3日 星期四

Week04_牛頓定義

1.當球碰到邊邊球會反彈(但反彈為中心)
int ballX=300, ballY=300;
int vx= -2;
void setup(){
  size(700,400);
}
void draw(){
  background(255);
  ellipse(ballX,ballY,30,30);
  ballX += vx;
 
  if(ballX<0) vx = +2;
  if(ballX>700) vx = -2;
}




2.牛頓第一運動

int ballX=300, ballY=300;
int vx = -2, vy = +2;
void setup(){
  size(700,400);
}
void draw(){
  background(255);
  ellipse(ballX,ballY,30,30);
  ballX += vx;
  ballY += vy;
  if(ballX<0+15) vx = +2;
  if(ballX>700-15) vx = -2;
  if(ballY<0+15) vy = +2;
  if(ballY>400-15) vy = -2;
}



3.重力加速度(牛頓第二定律)

float ballX=300, ballY=300;
float vx = +2, vy = -2;
void setup(){
  size(600,400);
}
void draw(){
  //background(255);
  ellipse(ballX,ballY,30,30);
  ballX += vx;
  ballY += vy; println(vy);
 
  if(ballX<0+15)   vx = -vx*0.9;
  if(ballX>600-15) vx = -vx*0.9;
  if(ballY<0+15)   vy = -vy*0.9;
  if(ballY>400-15){                            //讓他有摩擦力到停止
    vy = -vy*0.9;
    vx = vx*0.9;
    ballY=400-15;
  }
  vy += 0.98;
}










沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

回顧這學期的作品:  期中作業:LANDING:PLANET 賣點&特點: 炫麗的特效 物理(星球重力及降落)及粒子系統(噴射) 世界地圖可根據視角縮放 困難點: 重寫3次最終改寫成物件導向的CLASS寫法...