2019年10月3日 星期四

喬 的 無 形 壓 力 日 Week4

牛頓運動

左右滾















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;
}

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;   ///+-15  球的邊緣在框框內
  if(ballY<0 +15) vy =+2;
  if(ballY>400 -15) vy =-2
}

紀錄路徑




































float ballX=300, ballY=300;
float vx=-2, vy=-10;
void setup() {
  size(600, 400);
}
void draw() {
  //background(255);
  ellipse(ballX, ballY, 30, 30);
  ballX +=vx;
  ballY +=vy; println(vy);
  vy += 0.98;
  if (ballX<0 +15)      vx= -vx*0.9;
  if (ballX>700 -15)    vx= -vx*0.9;
  if (ballY<0 +15)      vy= -vy*0.9;
  if (ballY>400 -15)    vy= -vy*0.9;
}

































float ballX=300, ballY=300;
float vx=-2, vy=-10;
void setup() {
  size(600, 400);
}
void draw() {
  //background(255);
  ellipse(ballX, ballY, 30, 30);
  ballX +=vx;
  ballY +=vy; println(vy);
  vy += 0.98;
  if (ballX<0 +15)      vx= -vx*0.9;
  if (ballX>700 -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;
}

馬力歐
































PImage imgMario;
float marioX=100 , marioY=100;
float marioVX=0 , marioVY=0;
void setup() {
  size(500, 500);
  imgMario = loadImage("mario.png");
}
void draw() {
  //background(255); ///背景
  rect(0, 200, 500,50); ///樓梯
  image(imgMario, marioX, marioY, 100, 100);
  marioX +=marioVX;
  marioY +=marioVY;
  if(marioY<=100) marioVY +=0.9;
  else marioY = 100; ///hold on floor
}
void keyPressed(){
  if(keyCode==RIGHT) marioX+=3;
  if(keyCode==LEFT)  marioX-=3;
  if(keyCode==UP){
    marioVY = -15;
  }
}

















PImage imgMario;
float marioX=100 , marioY=100;
float marioVX=0 , marioVY=0;
void setup() {
  size(500, 500);
  imgMario = loadImage("mario.png");
}
void draw() {
  background(255);
  rect(0, 200, 500,50);  ///樓梯

  image(imgMario, marioX, marioY, 100, 100);
  marioX +=marioVX;
  marioY +=marioVY;
  if(softBrake==1) marioVX *=0.9;
  if(marioY<=100) marioVY +=0.9;
  else marioY = 100; ///hold on floor
}
int softBrake=0;
void keyReleased(){
  if(keyCode==RIGHT) softBrake=1;
  if(keyCode==LEFT)  softBrake=1;
}
void keyPressed(){
  if(keyCode==RIGHT){
    marioVX=3; ///marioX+=3;
    softBrake=0;
  }else if(keyCode==LEFT){
    marioVX=-3; ///marioX-=3;
    softBrake=0;
  }else if(keyCode==UP){
    marioVY = -15;
  }
}

2019年9月26日 星期四

喬現在才來上課日常Week3

用鼠標繪圖















有小點點 (這密集的有點噁心 
















其他功能
















void draw() {
  fill(0,255,0);   ///填充顏色
  stroke(255,0,0);  ///線的顏色
  if(mousePressed){   ///if 按下滑鼠
  line(mouseX, mouseY, pmouseX, pmouseY);  ///開始繪圖
  }

}
















void draw() {
  if(key=='1') stroke(255,0,0);  ///按下鍵盤 改變顏色
  if(key=='2') stroke(255,255,0);
  if(key=='3') stroke(0,255,0);
  if(mousePressed){
  line(mouseX, mouseY, pmouseX, pmouseY);
  }

}
































void setup() {
  size(600, 400);
  fill(255, 0, 0);
  rect(0, 0, 50, 50);
  fill(255, 255, 0);
  rect(0, 50, 50, 50);
  fill(0, 255, 0);
  rect(0, 100, 50, 50);
  fill(0, 255, 255);
  rect(0, 150, 50, 50);
  fill(0, 0, 255);
  rect(0, 200, 50, 50);
  line(25, 250, 25-7, 400);
  line(25, 250, 25+7, 400);
}
void draw() {
  if (mouseX<50 && mousePressed) {
    if (mouseY<50) stroke(255, 0, 0);
    else if (mouseY<100) stroke(255, 255, 0);
    else if (mouseY<150) stroke(0, 255, 0);
    else if (mouseY<200) stroke(0, 255, 255);
    else if (mouseY<250) stroke(0, 0, 255);
    else {
      strokeWeight((mouseY-250)/10);
    }
  }
}
void mouseDragged() {
  if (mouseX>50 && mousePressed) {
    line(mouseX, mouseY, pmouseX, pmouseY);
  }
}
void keyPressed() {
  if (key=='1') stroke(255, 0, 0);
  if (keyCode==UP) line(300, 200, 300, 0);
  if (keyCode==DOWN) line(300, 200, 300, 400);
  if (keyCode==LEFT) line(300, 200, 0, 200);
  if (keyCode==RIGHT) line(300, 200, 600, 200);
}

2019年6月30日 星期日

期末作品

作品網址:
https://www.youtube.com/watch?v=FSfYXZ9hkiE&feature=

機器人是自己製作的,背景音樂是meme裡面很紅的一首音樂
Dancin - Krono Remix
這首我自己很喜歡,感覺蠻毒的。

期末作品

YouTube影片連結:https://youtu.be/D91QIlI-NBw

程式操作簡介&作品簡介:
這次的期末作品是用數字鍵1~8去調關節的位置,調完之後按下W會記住motion值,每調一次動作之後他的motion值會改變,然後慢慢記錄下來,最後把它統整成一個完整的動作,搭配上動感的音樂,
就變成一個會跳舞的機器人了,然後按P可以播放。這次的設計理念是一個愛跳舞的機器人,他是一位原住民,很愛跳民族舞蹈,她想要把民族舞蹈發揚光大,因此去參加比賽,也得了冠軍!

期末作品

影片連結:
https://youtu.be/eQK3pTWzE9w


程式操作&作品簡介:

剛開始先在網路上找我的機器人的模型,然後思考我的機器人要做什麼主題,後來看了很多
學長姐的影片,發現很多手腳並用的動作很像我玩過的遊戲的人物,這個人物是一個魔域的
音樂法師,他的手腳都會360度的移動,且很喜歡單腳站立,所以我就以這個人物的動作特
性、配上帶耳機的機器人模型來做這個主題。

剛開始做報告時就先做MAYA模型,但我在做模型時我有做手腳的道具,轉換成OBJ檔後沒辦
法顯示到程式碼的小黑視窗上,但因為影響不大所以沒有再更改,然後開始喬位置及角度,
這時又發生問題,每個模型的面都不同,可能調整x y z的位置都不相同所以很難調整,都要
慢慢的一個一個改變位置及轉動的角度,好不容易調整好了,就要加上音樂,音樂很順利的
放入,之後要調整一些小細節,小細節調整後就開始設定動作剛開始不清楚要怎麼用,所以motion一直消失,後來詢問朋友,才得以成功儲存,我想讓他符合我設定的角色特性,要讓
她的四肢能夠360度旋轉還有單腳站立的動作,但不知道該怎麼讓它旋轉,剛開始一直失敗,
後來才找到訣竅,總之過程是失敗連連。

再來是我的程式碼,剛開始是標頭檔,以及設定model,再來是之前作業的打光及程式碼的剪
貼調整,調整位置及大小,而且不知道為何,我的MAYA模型似乎做得太小,小黑視窗內沒
有任何模型,後來調整大小也要用極小數才能好好調整(用原先練習的數值區域不是太大或太
小),旋轉也因為x y z軸的不同要調整很多,後來加入音樂,慢慢的做出動作,才成功完成。

2019年6月29日 星期六

期末作業介紹及網址

我這次應用的機器人是上次HW5所使用的MAYA機器人,一開始是先整打光的部分,再來就是依序匯入身體關節的部分,並解用期中考考的程式碼T-R-T來調整的他的位置、角度及大小,輸入mouse操縱所需設定及鍵盤數字代表的關節等,加日音樂設定就完成了。
而我的作品音樂是用時下最夯的兒歌「Baby Shark」,配上親手製作帶著童年夢想為雛形的機器人「YY1」號,可愛生動的動作變化,看了真的不自覺就面帶微笑啊!
真的很喜歡這堂課,很喜歡老師幫我們編排的課程模式,每次的作業、小考其實都是為我們的期末做鋪成,上課方式不只淺顯易懂,只要有問題老師真的不管幾點都會為大家解答,每次上了老師的各真的都是收穫滿滿,謝謝老師那麼用心為我們。



影片網址:https://youtu.be/y9eahHg_veY

期末作品


作品介紹:日本女高中生的舞蹈。




影片連結:https://www.youtube.com/watch?v=UTPiAkUGROI