2017年12月7日 星期四

周欣融 week07

*因本週生病請假,以下筆記是參考老師FB講義及同學課堂筆記而成
GLUT demo code 講解
  1. 可以用鍵盤(in key function)的加號和減號控制圖形的經線和緯線(in display function),分別以slicesstacks控制


  2. resize function: 用來等比例的放大和縮小圖形,比例透過變數ar控制
  3. idle function: 在電腦有空的時候呼叫glutPostRedisplay(),用來更新畫面
-----------------------------------------------------------------------------------------------------------------------------

滑鼠移動改變打光

  1. 找到第129行 const GLfloat light_position[],刪除const,使之可以被改變
  2. 新增motion function,使滑鼠移動時可以影響光源,並重新更新畫面

  3. 最後在main function裡面新增glutMotionFunc(motion),呼叫寫好的motion程式
結果


陳陞凱的計圖筆記WEEK07

打開glut專案擋


尋找main中之 glLightfv函式

加入
void motion(int x,int y)
{
    light_position[0]= (x-150)/150.0*2;
    light_position[1]=-(y-150)/150.0*2;
    glLightfv(GL_LIGHT0,GL_POSITION,light_position);
    glutPostRedisplay();
}

執行後就可以用滑鼠調整光源

陳陞凱的計圖筆記WEEK06

打開上次的week05


並加上以下幾行 在程式中:

GLfloat pos[]={0.0, 0.0, -1.0, 0.0}; //打光(3)
glEnable(GL_DEPTH_TEST); //3D深度測試,打開Enable
glEnable(GL_LIGHTING); //打光(2),打開Enable
glEnable(GL_LIGHT0); //打光(1),打開Enable
glLightfv(GL_LIGHT0, GL_POSITION, pos);

陳陞凱的計圖筆記WEEK05

1.至jsyeh.org/3dcg10/下載win32.data.glut32.dll檔案

2.解壓縮檔案並注意是否在同個目錄(data資料夾需放入windows資料夾)

3.執行Transformation.exe




glTranslatef() x,y,z的位移

glRotatef(角度,x,y,z)    以x,y,z軸為軸心旋轉


glScalef(a,b,c)    對x軸,y軸,z軸放大a,b,c



gluPerspective(fovy, aspect, zNear, zFar)
fovy => 視野
aspect => x/y比例(寬窄)
zNear => 前界(前面的平面)
zFar => 後界(後面的平面)

gluLookAt
eye => 照相機圍繞著人物旋轉
center => 照相機固定位置,以中心做旋轉
up => 以哪一個軸為上

俊凱的week12筆記

一.
1.下載上課檔案區 myGL_Frustrum221_MultiView_2012_1221-20171130T060949Z-001.zip檔案
2.開啟glut專案複製程式碼
3.修改程式碼如下並執行
二.
1.開啟Processing
2.下載collada,picking Library
3.執行collada example(Viewer 2D)
三.
1.執行老師程式碼
2.此程式可捕捉影片畫面動作

2017年12月5日 星期二

吳映廷 計算機圖學 week12

今天上課主要是把一些library的程式試跑
可以在下面看到一些跑的捷圖




吳映廷 計算機圖學 week11

1.先把把音樂檔放在bin 然後用以下程式碼撥放

#include "CMP3_MCI.h"(在FB下載外掛)
CMP3_MCI mp3;
int main()
{
mp3.Load("filename.mp3");
mp3.Play();
int a;
scanf("%d", &a);(要等待輸入才不會結束程式)
}
這樣可以撥放MP3檔案,如果要播放wav可以用以下的程式碼,檔案記得放在bin
#include <mmsystem.h>
    PlaySoundA("file.wav", NULL,  SND_ASYNC);

2.在Processing添加Minim library

3. 打上程式碼播放MP3
import ddf.minim.*;
Minim minim;
AudioPlayer player;
AudioPlayer player2;
void setup(){
minim = new Minim(this);
player = minim.loadFile("file.mp3");
player.play;
}
void draw(){
}