顯示具有 40447023S_林佳慧 標籤的文章。 顯示所有文章
顯示具有 40447023S_林佳慧 標籤的文章。 顯示所有文章

2017年12月14日 星期四

林佳慧課堂筆記 week14


1.
size(600,600,P3D);
background(255);
beginShape(TRIANGLE);
stroke(255,0,0);
vertex(300,100);
stroke(255,255,0);
vertex(500,500);
stroke(0,0,255);
vertex(100,500);
endShape();

2.
size(600,600,P3D);
background(255);
beginShape(TRIANGLE);
fill(255,0,0);
vertex(300,100);
fill(255,255,0);
vertex(500,500);
fill(0,0,255);
vertex(100,500);
endShape();

3.試畫兩個三角形,觀察不同z值時兩三角形的前後關係(z值會影響每個點填的顏色)
void setup(){
  size(600,600,P3D);
}
void draw(){
  background(255);
  beginShape(TRIANGLE);
  fill(255,0,0);
  vertex(100,100,0);
  fill(255,0,255);
  vertex(100,500,100);
  fill(255,255,0);
  vertex(500,500,0);
  endShape();
  beginShape(TRIANGLE);
  fill(0,255,0);
  vertex(500,100,0);
  fill(0,255,255);
  vertex(500,500,100);
  fill(255,255,0);
  vertex(100,500,0);
  endShape();
}

2017年12月7日 星期四

林佳慧課堂筆記 week13


1.嘗試畫色彩圖(HSB)
*
1.嘗試做出茶壺並貼上地球貼圖(雙重貼圖)
*
1.嘗試讓茶壺等速轉動

2017年11月30日 星期四

林佳慧課堂筆記 week12

1.嘗試執行老師的程式先開一GLUT專案,將dll和txt檔放到專案資料夾

2.在main加入參數

3.即可執行(須取消setting-compiler的第二蘭勾勾)

*
1.下載processing並添加下面兩種library


6.執行其中的viwer2D範例

7.修改 boolean modelsEnabled[] = new boolean[]{true,false,false,false,false,false,true};的參數更換不同模型

8.且不同按鍵可做不同動作等等

9.試執行picking中的simple範例程式並觀察藉由標籤依照不同物件改變邊邊的顏色

2017年11月23日 星期四

林佳慧課堂筆記 week11

1.新增GLUT專案











2.播放wav檔案
加上#include<mmsystem.h>多媒體,並在main中加PlaySoundA("file.wav",NULL,SND_ASYNC);
即可播出file.wav檔案的音樂,如果將SND_ASYNC改成SND_SYNC,會等播完音樂才跑出3D圖形

3.播放mp3檔案
需先加入CMP3_MCI.h檔
#include<stdio.h>
#include"CMP3_MCI.h"
CMP3_MCI mp3;
int main()
{
    mp3.Load("file.mp3");
    mp3.Play();
    printf("輸入任意字母結束\n");
    int a=0;
    scanf("%d",&a);
}
4.用processing播音樂
需先下載Minim(速寫本-引用文件庫-添加文件庫)並將file.mp3拖到程式中
import ddf.minim.*;
Minim minim;
AudioPlayer player;
void setup(){
  minim=new Minim(this);
  player=minim.loadFile("file.mp3");
  player.play();
}
void draw(){}

2017年11月16日 星期四

林佳慧課堂筆記 week10

1.展示期末專題範例
2.嘗試製作簡單手機app
*小畫家
void setup()
{fullScreen();}
void draw()
{if(mousePressed) background(255,0,0);
 else background(0,255,0);
}


2017年11月9日 星期四

林佳慧課堂筆記 week09



1.進入https://www.openprocessing.org/sketch/249457網站觀察Bump mapping模型

2.下載processing嘗試執行剛剛網頁上的模型

3.嘗試用processing簡單的圖檔

4.嘗試讓圖片隨著滑鼠不斷貼上
5.嘗試製作簡易的馬力歐
int [][]map={{0,0,0,0,0,0,0,0,0,0,0,0,0,0},
             {0,0,0,0,0,0,0,0,0,0,0,0,0,0},
             {0,0,0,0,0,0,0,0,0,0,0,0,0,0},
             {0,0,0,0,0,0,0,0,0,0,0,0,0,0},
             {0,0,0,0,0,0,0,0,0,0,0,0,0,0},
             {0,0,0,0,0,0,0,0,0,0,0,0,0,0},
             {0,0,1,1,1,2,2,1,0,0,0,0,0,0},
             {0,0,0,0,0,0,0,0,0,0,0,0,0,0},
             {0,0,0,0,0,0,0,0,0,0,0,0,0,0},
             {0,0,0,0,0,0,0,0,0,0,0,0,0,0},
             {1,1,1,1,1,1,1,1,1,1,1,1,1,1}};
PImage imgMario, imgBrick, imgBrick2;
void setup()
{
size(800,600);
imgMario=loadImage("mario.png");
imgBrick=loadImage("brick.png");
imgBrick=loadImage("brick2.png");
}
float marioX=200,marioY=100,marioVX=0,marioVY=0;
boolean marioOnFloor=false;
void draw()
{
  background(255);
  for(int x=0;x<14;x++)
  {
    for(int y=0;y<11;y++)
  {
    if(map[y][x]==1) image(imgBrick, x*50, y*50, 50,50);
    if(map[y][x]==2) image(imgBrick2, x*50, y*50, 50,50);
  }
  }
  image(imgMario,marioX,marioY,100,100);
  marioY+=marioVY;
  marioX+=marioVX;
  marioVY+=0.98;
  if(marioY>=500-80)
  {
    marioY=500-80;
    marioVY=0;
    marioOnFloor=true;
  }
}
void keyPressed()
 {
   if(keyCode==UP && marioOnFloor)
   {
     marioVY=-15;
     marioOnFloor=false;
   }
   if(keyCode==RIGHT) marioVX=5;
   if(keyCode==LEFT) marioVX=-5;
 }
 void keyReleased()
 {
   if(keyCode==RIGHT || keyCode==LEFT) marioVX=0;
 }

2017年11月2日 星期四

林佳慧課堂筆記 week08


1.將.dll檔與data資料夾放進window資料夾即可執行Texture執行檔

2.嘗試各種參數對圖的影響

3.安裝openCV2.1.0且安裝時點第三個選項

4.開console application專案

5.在buide options-search directories中的compiler加入C:\OpenCV2.1\include

6.linker中加入C:\OpenCV2.1\lib

7.在linker settings中加入三個lib檔案

8.寫好main

9.即可執行出圖檔

10.再新增一glut專案

11.加入opencv部分的程式碼

12.記得將圖檔放進freeglut的bin

13.即可同時執行glut及opencv圖檔

14.地球轉動程式碼


2017年10月26日 星期四

林佳慧課堂筆記 week07


1.開啟一個GLUT專案並加入motion函式用滑鼠改變光源位置
*記得在main中呼叫且須把GLfloat light_position[]的const刪掉才能更改裡面的變數

2017年10月19日 星期四

林佳慧課堂筆記 week06


1.取消Settings-Compiler裡的C++11選項即可執行

2.加入打光程式碼

3.加入keyboard和mouse函式當滑鼠移動到某處按下鍵盤任意字元按鍵則可顯示出該處座標

4.用鍵盤123控制圖案對xyz軸旋轉

5.用滑鼠拖動控制圖案旋轉(mouse函式和motion函式)

2017年10月12日 星期四

林佳慧課堂筆記 week05


1.在jsyeh.org/3dcg10網頁中另存檔案data、win32及glut32.dll

 2.將win32解壓縮並將glut32.dlldata資料夾放入win32資料夾

3.執行Transformation即可用滑鼠拖動調整位置、旋轉、縮放

4.執行Projection觀察gluPerspective中的fovy(視野)、aspect(比例)等各個參數

5.換成垂直投影glOrtho觀察各參數

6.觀察gluLookAt中的九個參數,第一行為視角的座標,第二行為主角座標,第三行為視線頂端的方向
*
1.開新glut專案

2.將原本的main從project移除並將畫面中三個檔案移入資料夾且改檔案類型為cpp檔

3.將兩個cpp檔案加入project

4.在freeglut中的bin中建立data資料夾並將畫面中兩個檔案移入