顯示具有 40347047S_魏建新 標籤的文章。 顯示所有文章
顯示具有 40347047S_魏建新 標籤的文章。 顯示所有文章

2018年1月12日 星期五

魏建新的第十二週學題單

(1)主題:場景Scene
              Mocap、Skeleton、Model

1.下載myGL_Frustum211_MultiView

2.開啟GLUT專題檔

3.解決EEROR:加上int main(int argc,char *argv[]),glutInit( & argc, argv );



  

魏建新的第十五週學題單

(1)專題進度檢視, Q&A
(2)主題:Antialias

Antialias:

簡單地說主要是應用調色技術將圖形邊緣的“鋸齒”緩和,邊緣更平滑。抗鋸齒是相對來來說較複雜的技術,一直是高檔加速卡的一個主要特徵。目前的低檔3D加速卡大多不支持反鋸齒。

維基。

魏建新的第十七週學題單

老師生病沒有上課

在家做專題

魏建新的第十四週學題單

1.主題:期末作品Q&A
2.主題:Rasterization光柵化

張鈞法的老師上網站:http://cg.csie.ntnu.edu.tw/CG/

Processing:

1.Processing三角形 ->滿色三角形

 

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

2.重疊三角形


void setup()
{size(600,600,P3D);
}
void draw()
{
background(255);
beginShape(TRIANGLE);
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();
}

2018年1月4日 星期四

魏建新的第九週學題單

  1. 上週Texture 貼圖、詳解
  2. 多重貼圖
  3. Bump Mapping

在MOODLE的上課軟體下載processing-3.3.6-windows64.zip打開

程式碼:
先RUN網友的程式碼:https://www.openprocessing.org/sketch/249457
把網路的程式碼COPY到processing

PImage img=loadImage("doraemon.jpeg"); 注載入圖片用 doraemon.jpeg為你要用的圖片名
size(600, 600);
image(img, 0,0, 600,600);

PImage img; 注用來呈現中BUG的圖片
void setup(){
  size(1280, 800);
  img=loadImage("error.jpg");
}

void draw(){
  //rect(mouseX, mouseY, 50, 50);  <- 用來畫正方形的碼
  image(img, mouseX,mouseY, 400,250);
}

魏建新的第七週學題單

(1)作業二展示,互評(2)主題: Mouse,Model,打光 ->用mouse調光源(3)主題: Lighting打光,Shading光影




程式碼: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);
    glutPostOverlayRedisplay();
}

GLfloat light_position[] = { 2.0f, 5.0f, 5.0f, 0.0f };  注:剛孕const 

圖例:


2017年12月7日 星期四

魏建新的第十三週學題單

計算機圖學 2017-12-07 Week13
(1)主題:VR體驗
(2)主題:期末作品點播
(3)主題:6張圖 


色彩系統

下載processing-3.3.6-windows64;

程式碼:
size(255,255);
colorMode(HSB,255);
for(int x=0;x<255;x++){
  for(int y=0;y<255;y++){
    stroke(x,y,255);
    point(x,y);
  }
}

有多貼圖方法

下載roach,OpenCV-2.1.0-win32-vs2008解壓安裝




 

2017年11月23日 星期四

魏建新的第十一週學題單

(1)主題:聲音-音效.音樂
(2)平台:windows,Java,etc
(3)期中 proposal提案分析
(4)Mocap

MP3檔的播放格式

MP3要放到freeglut/bin;

1.下載CMP3_MCI.h
2.include CMP3_MCI.h

程式碼:

#include<stdio.h>
#include"CMP3_MCI.h"//FB下載
CMP3_MCI mp3;
int main()
{
    mp3.Load("file.mp3");//載入
    mp3.Play();//PLAY播放
    printf("現在在待輸入a\n");
    int a;
    scanf("%d",&a);
}

Processing

1.速寫本->引用庫文件->添加庫文件->library->下載Minim
2.


魏建新的第十週學習單

分組+上課分享+APP開發

2017年11月2日 星期四

魏建新的第八週單

(1)主軸:Texture貼圖
(2)OpenV安裝
(3)OpenGL貼圖設定
(4)範例:轉動地球

Texture貼圖



1.去jsyeh.org/3dcg10 下載data.zip、windows.zip、glut32.dll、soure.zip分別在桌面解壓

2.去moodle下載OpenCV-2.1.0-win32-vs2008及安裝

3.在codeblock開project

4.下載好地球跟程式碼

5.在WEEK08設定ADD include lib cv210 cxcore210 highgui210

6.Run


轉動地球





2017年10月19日 星期四

魏建新的第六週學習單

1.在MOODLE上下載week05跟freeglut解壓
2.解決編輯問題

3.加入光影,鍵盤,mouse函式

4.RUN


函式:
GLfloat pos[] = { 0.0, 0.0, -1.0, 0.0 };
glutMouseFunc(mouse);
glutKeyboardFunc(keyboard);
glEnable(GL_DEPTH_TEST);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glLightfv(GL_LIGHT0, GL_POSITION, pos);
int rotateX=0,rotateY=0,rotateZ=0;
int oldX=0,oldY=0;
void keyboard(unsigned char key,int x,int y)
{
    printf("now: %c (%d %d)\n",key,x,y);
    if(key=='1')
    {
        rotateX++;
    }
    if(key=='2')
    {
        rotateY++;
    }
    if(key=='3')
    {
        rotateZ++;
    }
    glutPostRedisplay();
}
void mouse(int button,int state,int x,int y)
{
    if(state==GLUT_DOWN)
    {
        oldX=x;
        oldY=y;
    }
}
void motion(int x,int y)
{
    rotateX+= -(x-oldX);
    rotateY+= -(y-oldY);
    oldX=x;
    oldY=y;
    glutPostRedisplay();
}

2017年10月12日 星期四

魏建新的第5週學習單

複習上周內容
1.去jsyeh.org/3dcg10把data.zip,windows.zip,glut32.dll下載解壓到同一個文件中

2.把EXE打開複習




透視投影:
void gluPerspective(GLdouble fovyGLdouble aspectGLdouble zNear, GLdouble zFar);
fovy:指定在y方向的視角角度
aspect:指定x方向視野的比例(y/x)
zNear、zFar:指定觀察者到可視最近、遠平面的距離

平行投影-正交投影:
void glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble topGLdouble nearVal, GLdouble farVal);   正方體
left、right:指定左、右剪切平面
bottom、top:指定上、下剪切平面
nearVal、farVal:指定近、遠剪切平面

指定視角:
void gluLookAt(GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ,
GLdouble centerX, GLdouble centerY, GLdouble centerZ,
GLdouble upX, GLdouble upY, GLdouble upZ);
eyeX, eyeY, eyeZ:指定從哪裡看
centerX, centerY, centerZ :指定看哪裡
upX, upY, upZ :指定向上的向量

2017年10月5日 星期四

魏建新的第四週學習單

code 重點

1.主題:移動、旋轉、縮放
2.實作:Translate、Rotate、Scale
3.觀念:矩陣Matrix、Rush Pop
4.作業:加入移動,旋轉

glScaled(X,Y,Z)的倍數

glRotated(a,X,Y,Z);旋轉方向

glTranslated(X,Y,Z)移動

const double t = glutGet(GLUT_ELAPSED_TIME) / 1000.0;   ///時間變數

const double a = t*90.0;

glPushMatrix(); 備份矩陣

glPopMatrix(); 還原矩陣


1.個專案打開

2.更改及測試程式碼


2017年9月28日 星期四

魏建新的第三週學習單

1.選出5個心中最好的功課
2.啟動學姐的CPP並上傳到MOODEL
2.在老師的3D模型

在MOODLE下載並COPY啟動

1.先下載明 3D Exploration
2.轉出SampleAPP
3.修正ERROR

2017年9月21日 星期四

魏建新的學習單week2

1.開啟專案

2.把老師教的程式碼打上專案

3.把專案打開

4.第2程專案


程式碼:
#include <GL/glut.h>

void display(void)
{
    ///背景顏色(R, G, B, 透明度)
    glClearColor(0,1,0,0);
    ///清除背景buffer
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    ///設定GL顏色 (R, G, B)
    glColor3f(1,0,1);
    ///茶壺 
    glutSolidTeapot(0.3);
    ///刷新 延伸閱讀
    glutSwapBuffers();
    ///開始晝圖(多邊形)
    glBegin(GL_POLYGON);
    ///坐標設定
   glVertex3f(1,1,0);
   ///END
   glEnd();

   
}

int main(int argc, char *argv[])
{
    ///初始化glut
    glutInit(&argc, argv);
    ///設定顯示模式
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    ///創建glut 3D視窗
    glutCreateWindow("GLUT Shapes");
    ///呼叫display function
    glutDisplayFunc(display);
    ///主要LOOP
    glutMainLoop();

    return EXIT_SUCCESS;
}

2017年9月14日 星期四

魏建新的第一週學習內容

堂上作業1:
1.下載codeblock

2.開啟專案

3.重設系統

4.啟動專案


堂上作業2:
1.下載freeglut-MinGW-3.0.0-1.mp

2.更改freeglut內容

3.開啟新的專案

4.啟動專案