华北电力大学计算机图形学实验报告,华北电力大学计算机图形学实验报告分析.doc...
華北電力大學計算機圖形學實驗報告分析
科 技 學 院
課程設計(綜合實驗)報告
( 2013 -- 2014 年度第 2 學期)
實驗名稱 OpenGL基本圖元繪制實驗
課程名稱 計算機圖形學
|
|
專業班級:計算機11K1 學生姓名:曲強
學 號:111909010118 成 績:
指導教師:姜麗梅 實驗日期:2014.6.5
實驗一、OpenGL基本圖元繪制實驗
實驗目的及要求
掌握計算機圖形學及交互式計算機圖形學的定義,了解OpenGL的功能及工作流程,掌握基于OpenGL Glut庫的程序框架。
掌握基本的二維線畫圖元的繪制算法及屬性,掌握OpenGL基本圖元的繪制。
理解二維、三維圖形的繪制流程,掌握二維圖形和三維圖形的圖形變換。
了解形體的真實感表示的內容,包括消隱技術、簡單光照明模型、多邊形的明暗繪制技術以及紋理映射技術。
要求使用OpenGL及GLUT庫在Visual C++環境下編寫圖形繪制程序實現基本圖元繪制。
要求對繪制的簡單場景綜合利用幾何變換或gluLookAt函數實現交互式三維觀察程序。
實驗內容
在兩個具有不同屬性的窗口中分別顯示一個旋轉的三角形來演示單緩存和雙緩存,在旋轉過程中不斷改變圖形的顏色,利用鼠標或菜單可終止/啟動圖形旋轉。明確程序包括哪些函數,各個函數的功能以及整個流程,從而為進一步做綜合性的圖形繪制實驗奠定基礎。
所用儀器、設備
Windows XP系統,Visual C++,OpenGL及GLUT庫
實驗方法與步驟
先配置環境,把相關文件放到相應的文件夾
C:\Program Files\Microsoft Visual Studio\VC98\Include\GL
C:\WINDOWS\system32
C:\Program Files\Microsoft Visual Studio\VC98\Lib
再通過VC++進行編譯
程序代碼
#include
#include
#include < stdio.h >
#include
#define DEG_TO_RAD 0.017453
static GLfloat theta = 0.0;
GLfloat r = 1.0; //設置三角形的初始顏色
GLfloat g = 0.0;
GLfloat b = 0.0;
int singleb,doubleb;
void display(void)
{ glClear(GL_COLOR_BUFFER_BIT); //三角形顏色漸變
glColor3f(r, g,b);
r = r - 0.002;
g = g + 0.002;
b = b + 0.001;
if(r < 0.001)
{ r = 1.0;
g = 0.0;
b = 0.0;}
glBegin(GL_POLYGON);
glVertex2f(cos(DEG_TO_RAD*theta), sin(DEG_TO_RAD*theta));
glVertex2f(cos(DEG_TO_RAD*(theta+120)), sin(DEG_TO_RAD*(theta+120)));
glVertex2f(cos(DEG_TO_RAD*(theta+240)), sin(DEG_TO_RAD*(theta+240)));
glEnd();
glutSwapBuffers();
}
void spinDisplay (void) //三角形轉動弧度設置
{
theta = theta +5;
if (theta > 360.0)
theta = theta - 360.0;
glutSetWindow(singleb);
glutPostWindowRedisplay(singleb);
glutSetWindow(doubleb);
glutPostWindowRedisplay(doubleb);
}
void spinDisplay1(void)
{
glutPostRedisplay();
}
void myReshape(int w, i
總結
以上是生活随笔為你收集整理的华北电力大学计算机图形学实验报告,华北电力大学计算机图形学实验报告分析.doc...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人社局计算机考试报名时间,内蒙古人社局:
- 下一篇: 悉尼大学计算机研究生学制,悉尼大学研究生