- Github
2021電腦圖學 Computer Graphics 授課教師: 葉正聖 銘傳大學資訊傳播工程系 每週主題: 程式環境、點線面顏色、移動/旋轉/縮放與矩陣(Matrix)、階層性關節轉動(T-R-T)、做出機器人、打光、貼圖、glu/glut函式、鍵盤、滑鼠、計時器(timer)、讀入3D模型、粒子系統、聲音、特效、投影矩陣、攝影機與運鏡、機器人2.0、期末作品
2021年6月22日 星期二
距地表面160 Week03
2021年4月28日 星期三
2021年3月10日 星期三
懶嵐\(。∀ ° )/ Week03
註冊Github
新增repository
Upload File
之後就可以在github上傳自己的程式碼了
正題
今天畫圓形(標靶)
888888
Xian筆記-Week03
第一節未到
今日上課內容:
註冊、認識 github.com
更改 profile 的照片
新增 GitHub 的專案倉庫(類似雲端,但對於程式設計來說可以做更多事情)
(之後上課做的內容、自己做的東西,都可以把 CodeBlocks專案放上去)
如何上傳檔案:
在 2020graphics專案倉庫Add file
Upload files(檔案,目錄) commit確認
將上課做的week03-1、2上傳 GitHub 囉!!!
![]() |
week03-1 week03-2 |
如何做單位圓:
基本做圓型
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor3f(1,1,0);///yellow
glutSolidSphere(0.5, 30, 30);//實心圓球 (0.5是半徑)
glutSwapBuffers();
}
int main(int argc, char**argv)
{
glutInit( &argc, argv );
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("Week03-circle");
glutDisplayFunc( display );
glutMainLoop();
}
--------------------------------------------------------------
進階做圓形:
#include <GL/glut.h>
#include <math.h> //有用到數學、記得加
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor3f(1,1,0);///yellow
glBegin(GL_POLYGON);//開始畫圖
for( int i=0; i<30 ; i++){
float a = 3.1415926 * 2 /30 *i;
glVertex2f( 0.3 + 0.2*cos(a) , 0.6 + 0.2*sin(a));
}
//使用迴圈以及三角函數等分的方式去畫圓,迴圈、等分越多次,越圓。ex:只分三次就只會形成三角形。
glEnd();//結束
glutSwapBuffers();
}
int main(int argc, char**argv)
{
glutInit( &argc, argv );
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("Week03-circle");
glutDisplayFunc( display );
glutMainLoop();
}
小乖的圖學筆記 week03
1.註冊GitHub帳號
2.新增GitHub專案倉庫
2-1
2-2
2-3
3.創建一個Open GL專案(week01有)
4.上傳至GitHub
4-1
4-2
5.再創建一個GLUT專案(week01有)
與步驟3.一樣
6.上傳至GitHub
與步驟4.一樣
------------------------------------------------------------------------------------------
畫圓形
方法1
1.複製程式碼
#include <GL/glut.h>///使用GLUT外掛
static void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///清背景
glutSolidTeapot(0.5);///畫茶壺
glutSwapBuffers();///更新畫面
}
int main(int argc, char *argv[])///main()函式
{
glutInit(&argc, argv);///Init初始化GLUT
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);///Init初始化Display功能
glutCreateWindow("07160325 小乖的茶壺");///建立自訂名稱的GLUT視窗
glutDisplayFunc(display);///準備display()函式
glutMainLoop();///主要函式
}
2.在display()加上glutSolidSphere(r,d,30),r=半徑,d=頂點數
static void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//清背景
glColor3f(1,0,0);//畫紅色
glutSolidSphere(0.5,30,10);///畫圓形方法1
glutSwapBuffers();//更新畫面
}
------------------------------------------------------------------------------------------
方法2
1.複製程式碼
#include <GL/glut.h>///使用GLUT外掛
static void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///清背景
glutSolidTeapot(0.5);///畫茶壺
glutSwapBuffers();///更新畫面
}
int main(int argc, char *argv[])///main()函式
{
glutInit(&argc, argv);///Init初始化GLUT
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);///Init初始化Display功能
glutCreateWindow("07160325 小乖的茶壺");///建立自訂名稱的GLUT視窗
glutDisplayFunc(display);///準備display()函式
glutMainLoop();///主要函式
}
2.在display()加上
glBegin(GL_POLYGON);///開始畫
for(int i=0;i<30;i++)///畫圓形方法2
{
float a=3.1415926535897832384626*2/30*i;
glVertex2f(cos(a),sin(a));///cos,sin前面可以*倍率或+-位移
}
glEnd();///結束畫
------------------------------------------------------------------------------------------NEKO no Computer Graphics_week03
今天介紹github的使用,放程式碼很方便
先註冊完帳號,然後新增一個專案
把之前開過的兩個專案資料夾丟進去就搞定了
首先練習畫了一個圓
與上週不同的是這次是先用函式打參數
用角度的觀念來定位座標,就順利完成了
電腦圖學_09136054_week03
今天教github上傳自己的作品
老師也分享了自己對於github看法
後面做的第一個程式
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glColor3f(1,1,0);
glutSolidSphere(0.5,30,30);
glutSwapBuffers();
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("try-t");
glutDisplayFunc(display);
glutMainLoop();
}
因為專案開錯,所以一直運行不起來,可以識別的方法就是注意附檔名應該為.cpp
#include <GL/glut.h>
#include <math.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glColor3f(0.5,0,1);
//glutSolidSphere(0.5,30,30);
glBegin(GL_POLYGON);
for (float a=0;a<3.14159*2;a+=0.1)
{
glVertex2f(cos(a)/2,sin(a));
}
glEnd();
glutSwapBuffers();
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("try-t");
glutDisplayFunc(display);
glutMainLoop();
}
築損 Week03
Week03
註冊Github
改圖片新增倉庫
新增opengl&glut檔案 add file/upload file
上傳成功
打開上星期的程式碼
今天教畫圓
第二種方式
hahaha
嘿嘿嘿(⊙v⊙) Week03
- 開始使用GitHub

距地表面160 Week11
#include "glm.h" GLMmodel* pmodel = NULL; void drawmodel(void) { if (!pmodel) { pmodel = glmReadOBJ("data/porsche.obj...
-
先用上一周的開始加新的東西 ///把 Week15_file 的 main.cpp 拿來用 #include <stdio.h> #include <GL/glut.h> float angle[20]={}, diff=2;///Step05 本來只有...
-
加背 景 上程式碼 #include <opencv/highgui.h> ///使用 OpenCV 2.1 比較簡單, 只要用 High GUI 即可 #include <opencv/cv.h> #include <GL/glut.h>...
-
下載 OpenCV-2.1.0-win32-vs2008.exe 下載選第2個 Add OpenCV to PATH(執行的目錄之一) 位置用預設的 C:\OpenCV2.1 安裝完重開codeblocks cv210 cxcore210 highgui210 ---...












































