計算機圖形學實驗及課程設計課件_第1頁
計算機圖形學實驗及課程設計課件_第2頁
計算機圖形學實驗及課程設計課件_第3頁
計算機圖形學實驗及課程設計課件_第4頁
計算機圖形學實驗及課程設計課件_第5頁
已閱讀5頁,還剩98頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

計算機圖形學實驗及課程設計孔令德2012年春于太原實驗任務書

實驗目的:鞏固學生對計算機圖形學的直線掃描轉換原理、有效邊表填充原理、三維透視投影原理、ZBuffer深度緩沖消隱原理和真實感圖形生成原理的理解,增加學生對真實感圖形生成算法的感性認識,強化訓練學生使用VisualC++的MFC編寫相關圖形類的技能。此前,課堂上已經完成《計算機圖形學實踐教程(VisualC++版)》的43個驗證性實驗的講解,在此基礎上,要求學生能綜合使用全部教學內容完成綜合性實驗。

實驗要求:要求學生在實驗前了解綜合性實驗的目的和要求,觀察實驗效果圖。在實驗中認真理解每個類的結構,通過搭積木的方式完成實驗任務。實驗結束后按要求整理相關類的源程序,撰寫實驗報告,尤其需要對難點和重點進行詳細說明。一、實驗目的與要求實驗任務書

學時:教學總學時48,其中實驗學時8。二、實驗項目與提要實驗任務書

三、成績考核方法

本實驗與計算機圖形學課程同步開設,成績占期末總成績的20%~40%。四、本課程與其他課程的聯系和分工先修課程:高等數學、線性代數、MFC程序設計、數據結構。實驗1繪制金剛石圖案1.1實驗目的掌握二維坐標系模式映射方法。掌握動態內存的分配和釋放方法。掌握二維點類的定義方法。掌握對話框的創建及調用方法。掌握對話框的數據交換和數據校驗方法。掌握Test工程實驗框架的創建方法。掌握金剛石圖案的設計方法。實驗1繪制金剛石圖案1.2實驗要求定義二維坐標系原點位于屏幕中心,x軸水平向右為正,y軸鉛直向上為正。以二維坐標系原點為圓心繪制半徑為r的圓,將圓的n等分點使用直線彼此連接形成金剛石圖案。程序運行界面提供“文件”、“繪圖”和“幫助”三個彈出菜單項。“文件”菜單提供“退出”子菜單項,用于退出應用程序;“繪圖”菜單提供“金剛石”子菜單項,用于繪制金剛石圖案;“幫助”菜單提供“關于”子菜單項,用于說明開發信息。選擇“金剛石”子菜單項,打開“輸入參數”對話框,輸入“等分點個數”和“圓的半徑”。在屏幕客戶區中心繪制金剛石圖案。實驗1繪制金剛石圖案1.3效果圖

將半徑為300的圓,劃分30個等分點后,得到的金剛石圖案實驗效果如圖1-1所示。圖1-1金剛石圖案效果圖實驗2繪制任意斜率的直線段

2.1實驗目的掌握任意斜率直線段的中點Bresenham掃描轉換算法。掌握CLine直線類的設計方法。掌握狀態欄編程方法。

實驗2繪制任意斜率的直線段2.2實驗要求設計CLine直線類,其數據成員為直線段的起點坐標P0和終點坐標P1,成員函數為MoveTo()和LineTo()函數。CLine類的LineTo()函數使用中點Bresenham算法繪制任意斜率k的直線段,包括k=±∞、k>1、0≤k≤1、-1≤k<0和k<-1五種情況。在屏幕客戶區按下鼠標左鍵選擇直線的起點,保持鼠標左鍵按下并移動鼠標到另一位置,彈起鼠標左鍵繪制任意斜率的直線段。在狀態欄動態顯示鼠標光標移動時的位置坐標。實驗2繪制任意斜率的直線段2.3效果圖任意斜率的直線段繪制效果如圖2-1所示。圖2-1任意效率直線段繪制效果圖實驗3交互式繪制多邊形

3.1實驗目的掌握雙緩沖繪圖技術。掌握人機交互技術。掌握填充動態多邊形的有效邊表算法。實驗3交互式繪制多邊形3.2實驗要求使用鼠標在屏幕客戶區繪制任意點數的多邊形。要求使用橡皮筋技術動態繪制每條邊;鼠標移動過程中按下Shift鍵時可繪制垂直邊或水平邊;將多邊形的終點移動到多邊形的起點時自動封閉多邊形;在繪制多邊形的過程中,狀態欄動態顯示鼠標光標的位置坐標。當開始繪制多邊形時,更改鼠標光標為十字光標,多邊形繪制完畢后恢復為箭頭光標。多邊形閉合后自動調用有效邊表算法填充多邊形內部區域。實驗3交互式繪制多邊形3.3效果圖交互式繪制多邊形效果如圖3-1所示。圖3-1交互式繪制的多邊形效果圖實驗4二維幾何變換

4.1實驗目的掌握二維平移、比例、旋轉幾何變換矩陣。掌握矩陣乘法的編程實現。掌握相對于任一參考點的比例變換和旋轉變換。掌握定時器的使用方法。掌握邊界碰撞檢測方法。掌握靜態切分視圖框架的設計方法。實驗4二維幾何變換4.2實驗要求使用靜態切分視圖,將窗口分為左右窗格。左窗格為繼承于CFormView類的表單視圖類CLeftPortion,右窗格為一般視圖類CTestView。左窗格提供代表“圖形頂點數”(4、8、16和32)、“平移變換”(x方向和y方向)、“旋轉變換”(逆時針和順時針)和“比例變換”(放大和縮小)的滑動條,用于控制右窗格內的圖形變化。右窗格內以屏幕客戶區中心為圖形的幾何中心,繪制圖形頂點數從4變化為8、16和32的正多邊形。為了表達圖形的旋轉,多邊形的每個頂點和圖形中心使用直線連接。實驗4二維幾何變換4.2實驗要求使用雙緩沖技術控制圖形在右窗格內的無閃爍運動。設定屏幕背景色為黑色,圖形顏色為白色。使用客戶區邊界檢測技術,改變圖形在右窗格內和客戶區邊界碰撞后的運動方向。實驗4二維幾何變換4.3效果圖二維幾何變換效果如圖4-1所示。圖4-1二維幾何變換效果圖

實驗5直線段裁剪

5.1實驗目的掌握直線段端點編碼方法。掌握Cohen-Sutherland直線段裁剪算法。實驗5直線段裁剪5.2實驗要求定義二維坐標系原點位于屏幕中心,x軸水平向右為正,y軸鉛直向上為正。在客戶區中央固定繪制顏色為RGB(128,0,0)的3像素寬的矩形代表裁剪窗口。裁剪窗口的左上角點為(-300,100),右下角點為(300,-100)。使用鼠標在屏幕上動態繪制任意直線段。選擇裁剪按鈕根據直線段和窗口的相對位置,對直線段進行裁剪,得到位于窗口內的直線段,刪除窗口外的直線段。直線段繪制之前,裁剪按鈕無效;直線段繪制之后,裁剪按鈕有效。實驗5直線段裁剪5.3效果圖直線段裁剪前效果如圖5-1所示,直線段裁剪后效果如圖5-2所示。圖5-1直線段裁剪前效果圖圖5-2直線段裁剪后效果圖

實驗6立方體線框模型正交投影

6.1實驗目的掌握使用點表和面表構造立方體線框模型的方法。掌握立方體線框模型二維正交投影圖的繪制方法。掌握立方體線框模型二維正交投影圖的旋轉方法。實驗6立方體線框模型正交投影6.2實驗要求在屏幕中心建立三維坐標系Oxyz,x軸水平向右,y軸鉛直向上,z軸垂直于屏幕指向觀察者。以三維坐標系Oxyz的原點為立方體體心繪制邊長為a的立方體線框模型。使用旋轉變換矩陣計算立方體線框模型圍繞三維坐標系原點變換前后的頂點坐標。使用雙緩沖技術在屏幕上繪制三維立方體線框模型的二維正交投影圖。使用鍵盤方向鍵旋轉立方體線框模型。使用工具條上的“動畫”按鈕播放立方體線框模型的旋轉動畫。實驗6立方體線框模型正交投影6.3效果圖立方體線框模型正交投影效果如圖6-1所示。圖6-1立方體線框模型正交投影效果圖實驗7立方體線框模型透視投影

7.1實驗目的掌握使用點表和面表構造立方體線框模型的方法。掌握視點球坐標的計算方法。掌握立方體線框模型的二維透視投影圖的繪制方法。掌握立方體線框模型的二維透視投影圖的旋轉方法。實驗7立方體線框模型透視投影7.2實驗要求在屏幕中心建立三維坐標系Oxyz,x軸水平向右,y軸鉛直向上,z軸垂直于屏幕指向觀察者。以三維坐標系Oxyz的原點為立方體體心繪制邊長為a的立方體線框模型。使用雙緩沖技術在屏幕上繪制三維立方體的二維透視投影圖。使用鍵盤方向鍵旋轉立方體線框模型。使用工具條上的“動畫”圖標播放立方體線框模型的旋轉動畫。按下鼠標左鍵縮小立方體,按下鼠標右鍵增大立方體。實驗7立方體線框模型透視投影7.3效果圖立方體線框模型透視投影效果如圖7-1所示。圖7-1立方體線框模型透視投影效果圖實驗8動態三視圖

8.1實驗目的掌握主視圖變換矩陣。掌握俯視圖變換矩陣。掌握側視圖變換矩陣。掌握斜等測圖繪制方法。實驗8動態三視圖8.2實驗要求在屏幕中心建立三維坐標系Oxyz,x軸水平向右,y軸鉛直向上,z軸垂直于屏幕指向觀察者。將屏幕靜態切分為4個窗格。左上窗格繪制主視圖、左下窗格繪制俯視圖、右上窗格繪制側視圖,右下窗格繪制斜等測消隱線框模型。使用正交投影繪制主視圖、俯視圖和側視圖,使用斜等測投影繪制多面體線框模型。使用鍵盤方向鍵旋轉右下窗格多面體斜等測線框模型,其余三個窗格內的視圖隨之動態改變。使用工具條上的動畫按鈕播放所繪制物體的斜等測線框模型及三視圖的旋轉動畫。實驗8動態三視圖8.3效果圖多面體動態三視圖的效果如圖8-1所示。圖8-1多面體動態三視圖的效果圖實驗9動態繪制Bezier曲線

9.1實驗目的掌握直線的參數表示法。掌握德卡斯特里奧算法的幾何意義。掌握繪制二維Bezier曲線的方法。實驗9動態繪制Bezier曲線9.2實驗要求使用鼠標左鍵繪制個數為10以內的任意控制點,使用直線連接構成控制多邊形。單擊鼠標右鍵繪制Bezier曲線。在狀態欄顯示鼠標的位置坐標。Bezier曲線使用德卡斯特里奧(deCasteliau)算法繪制。實驗9動態繪制Bezier曲線9.3效果圖動態繪制Bezier曲線效果如圖9-1所示。圖9-1動態繪制Bezier曲線效果圖實驗10交互式三次B樣條曲線

10.1實驗目的掌握三次B樣條曲線的基函數。掌握分段三次B樣條曲線的繪制方法。掌握三次B樣條曲線的特殊構造技巧。掌握圖形頂點可視化移動技巧。實驗10交互式三次B樣條曲線10.2實驗要求給定9個控制點:P0(104,330),P1=(204,231),P2=(286,362),P3=(363,145),P4=(472,527),P5=(548,228),P6=(662,40),P7=(830,450),P8=(930,350)。繪制三次B樣條曲線。移動鼠標光標到控制點上,光標變為手形,顯示其坐標信息。拖動控制點,曲線形狀隨之發生改變,驗證三次B樣條曲線的特殊構造技巧。實驗10交互式三次B樣條曲線10.3效果圖三次B樣條曲線效果如圖10-1所示。圖10-1三次B樣條曲線效果圖實驗11旋轉的Koch雪花

11.1實驗目的掌握Koch雪花的構圖方法。掌握遞歸模型的實現算法。實驗11旋轉的Koch雪花11.2實驗要求建立平面二維坐標系,原點位于屏幕客戶區中心,x軸水平向右為正,y軸鉛直向上為正。以原點為圓心繪制半徑為r的圓,與y軸交于P0點。從P0點開始,順時針方向將圓三等分,得到P1和P2點。P0P1P2構成等邊三角形,如圖11-1所示。沿著等邊三角形的三條邊外側分別繪制三段遞歸深度為4,夾角為60°的Koch曲線,形成Koch雪花,如圖11-2所示。實驗11旋轉的Koch雪花11.2實驗要求設置背景色為黑色,Koch雪花為白色,代表雪花中心點的十字線以藍色繪制。設置動畫按鈕,控制Koch雪花圍繞坐標系原點順時針旋轉。實驗11旋轉的Koch雪花11.3效果圖旋轉的Koch雪花繪制效果如圖11-3所示。圖11-3旋轉的Koch雪花效果圖實驗12顏色漸變立方體

12.1實驗目的掌握凸多面體消隱算法。掌握雙線性顏色插值算法。建立基本三維場景。實驗12顏色漸變立方體12.2實驗要求建立三維坐標系Oxyz,原點位于屏幕客戶區中心,x軸水平向右為正,y軸鉛直向上為正,z軸垂直于屏幕指向觀察者。以原點為體心繪制透視投影立方體,立方體8個頂點的顏色分別為黑色、白色、紅色、綠色、藍色、黃色、品紅色和青色。背景色為黑色,如圖12-1所示。實驗12顏色漸變立方體12.2實驗要求使用凸多面體消隱算法消隱,只繪制立方體的可見表面。立方體的每個可見表面的內點根據4個頂點的顏色進行漸變填充。使用鼠標左鍵縮小立方體,使用鼠標右鍵放大立方體,使用鍵盤方向鍵旋轉立方體。設置動畫按鈕,播放或停止立方體動畫。實驗12顏色漸變立方體12.3效果圖顏色漸變立方體繪制效果如圖12-2所示。圖12-2顏色漸變立方體效果圖實驗13地理劃分線框球

13.1實驗目的掌握球體地理劃分法。實驗13地理劃分線框球13.2實驗要求建立三維坐標系Oxyz,原點位于屏幕客戶區中心,x軸水平向右為正,y軸鉛直向上為正,z軸垂直于屏幕指向觀察者。球體中心位于坐標系原點,使用地理劃分法繪制球體線框模型。使用點表和面表構造球體數據文件使用凸多面體消隱算法對球體線框模型進行消隱。使用鍵盤方向鍵旋轉球體。使用動畫按鈕,播放或停止球體動畫。實驗13地理劃分線框球13.3效果圖使用地理劃分法繪制的線框球體效果如圖13-1所示。

圖13-1地理劃分線框球效果圖

實驗14交叉條消隱

14.1實驗目的掌握深度緩沖消隱算法。掌握深度排序消隱算法。實驗14交叉條消隱14.2實驗要求建立三維坐標系Oxyz,原點位于屏幕客戶區中心,x軸水平向右為正,y軸鉛直向上為正,z軸垂直于屏幕指向觀察者。在原點的上、下、左、右位置繪制4個矩形條,每個條各使用一種顏色表示,上條為紅色、下條為黃色、左條為綠色、右條為藍色。屏幕背景色為黑色。如果4個條彼此交叉,即上條的左端深度高于右端深度,下條的左端深度低于右端深度,左條的上端深度低于下端深度,右條的上端深度高于下端深度時,使用深度緩沖算法消隱。如果4個條彼此平行,4個條的深度值彼此不同,但每個條上四個頂點具有統一的深度值,使用深度排序算法消隱。實驗14交叉條消隱14.2實驗要求在工具條上設置控制按鈕,當按鈕彈起時啟用深度緩沖,按鈕按下時禁用深度緩沖。當啟用深度緩沖消隱算法時,繪制4個交叉條。當禁用深度緩沖消隱算法時,按每個條深度排序結果從小到大,繪制4個疊加條。實驗14交叉條消隱14.3效果圖啟用深度緩沖繪制的交叉條效果如圖14-1所示,禁用深度緩沖繪制的交叉條效果如圖14-2所示。圖14-1啟用深度緩沖效果圖

圖14-2禁用深度緩沖效果圖

實驗15立方體光照模型

15.1實驗目的掌握光源數量的設置方法。掌握光源位置的設置方法。掌握光源顏色的設置方法。掌握物體材質的設置方法。掌握光源的開啟與關閉。建立簡單光照三維場景。實驗15立方體光照模型15.2實驗要求建立三維坐標系Oxyz,原點位于屏幕客戶區中心,x軸水平向右為正,y軸鉛直向上為正,z軸垂直于屏幕指向觀察者。繪制立方體的表面透視消隱模型,立方體體心和三維坐標系中心重合。使用點光源對立方體進行照射,改變光源的顏色和物體的材質,演示二者的交互作用效果。按下鼠標左鍵縮小立方體,按下鼠標右鍵增大立方體。使用鍵盤方向鍵旋轉立方體。使用動畫按鈕,播放或停止立方體動畫。實驗15立方體光照模型15.3效果圖立方體光照模型繪制效果如圖15-1所示。圖15-1立方體光照模型效果圖

實驗16球體Gouraud光照模型

16.1實驗目的掌握雙線性光強插值模型。實驗16球體Gouraud光照模型16.2實驗要求建立三維坐標系Oxyz,原點位于屏幕客戶區中心,x軸水平向右為正,y軸鉛直向上為正,z軸垂直于屏幕指向觀察者。繪制體心和坐標系中心重合的球體表面,使用ZBuffer消隱算法進行消隱。使用單點光源對球體進行照射生成Gouraud光照模型,光源位置位于球體右上方。背景色設置為RGB(128,0,0)。使用鍵盤方向鍵旋轉球體。使用動畫按鈕,播放或停止球體動畫。實驗16球體Gouraud光照模型16.3效果圖球體單光源Gouraud光照模型繪制效果如圖16-1所示。圖16-1球體單點光源Gouraud光照模型效果圖

實驗17球體Phong光照模型

17.1實驗目的掌握雙線性法矢插值模型。實驗17球體Phong光照模型17.2實驗要求建立三維坐標系Oxyz,原點位于屏幕客戶區中心,x軸水平向右為正,y軸鉛直向上為正,z軸垂直于屏幕指向觀察者。繪制體心和坐標系中心重合的球體表面,使用ZBuffer消隱算法進行消隱。使用單點光源對球體進行照射生成Phong光照模型,光源位置位于球體右上方。背景色設置為RGB(128,0,0)。使用鍵盤方向鍵旋轉球體。使用動畫按鈕,播放或停止球體動畫。實驗17球體Phong光照模型17.3效果圖球體Phong光照模型繪制效果如圖17-1所示。圖17-1球體Phong光照模型效果圖

實驗18立方體紋理映射

18.1實驗目的掌握位圖紋理讀入方法。掌握立方體紋理映射算法。實驗18立方體紋理映射18.2實驗要求建立三維坐標系Oxyz,原點位于屏幕客戶區中心,x軸水平向右為正,y軸鉛直向上為正,z軸垂直于屏幕指向觀察者。設置屏幕背景色為黑色。讀入6張構成天空盒的位圖作為紋理映射到立方體的可見表面上。按下鼠標左鍵縮小立方體,按下鼠標右鍵增大立方體。使用鍵盤方向鍵旋轉紋理立方體。使用動畫按鈕,播放或停止立方體動畫。實驗18立方體紋理映射實驗18立方體紋理映射18.3效果圖天空盒效果如圖18-2所示。圖18-2天空盒效果圖

課程設計任務書

一、課程設計目的培養對圖形建模、變換、投影、消隱、光照原理的理解和應用。培養圖形類的編程能力。培養計算機圖形學應用軟件開發的能力。課程設計任務書

二、課程設計要求深入研究計算機圖形學的生成原理,設計算法實現具體的類。1.構建基礎類實現CP2類繪制二維點;實現CP3類繪制三維點;實現CRGB類處理RGB顏色;實現CVector類處理矢量。2.構建直線類實現CLine類繪制任意斜率的直線、實現CALine類繪制任意斜率的反走樣直線、實現CCLine類繪制任意斜率的顏色漸變直線、實現CACLine類繪制任意斜率的反走樣顏色漸變直線。課程設計任務書

3.構建變換類實現CTransForm完成二維和三維圖形變換。4.構建填充類

實現CFill類使用有效邊表算法填充多邊形、實現CZBuffer類進行深度緩沖消隱,并使用Gouraud和Phong明暗處理填充圖形面片。5.構建光照類實現CLight類設置點光源、實現CMaterial類設置物體材質、實現CLighting類對物體實施光照。通過課程設計項目的設計、開發、測試、總結和驗收各階段,深入理解計算機圖形學課程中的理論和算法,學習計算機圖形學相關類的編程技巧,初步掌握游戲開發的前期技能。課程設計任務書

三、開發環境

ViusalC++6.0的MFC框架。四、課程設計時間一周。五、課程設計方式任選一個題目完成課程設計。可選題目為:基本圖元光柵掃描演示系統、遞歸動態球體演示系統、圓環動態紋理演示系統、動態光源演示系統和3DS接口演示系統。考慮到完整的開發過程一般需要付出很多的時間,因此可選擇如下的完成方式:(1)

獨立方式(1人),要求完成“基本圖元光柵掃描演示系統”和“動態光源演示系統”的全部基本內容。(2)小組方式(3人),要求完成“遞歸動態球體演示系統”、“圓環動態紋理演示系統”和“3DS接口演示系統”的全部基本內容,并對每人完成的內容作具體分工,合作完成。課程設計任務書

六、報告格式

課程設計報告由封面、需求分析、總體設計、詳細設計、源程序、程序運行效果圖、參考文獻組成。封面包括課程設計題目、學號、姓名、指導教師姓名和完成時間;需求分析包括項目的功能要求;總體設計給出類的結構;詳細設計給出算法流程圖;源程序給出主要模塊的頭文件和源文件;運行效果圖給出程序的動態效果圖;參考文獻給出課程設計中引用的文獻,并在報告中使用角標給出引文出處。七、評分標準

課程設計成績根據提交的課程設計報告以及軟件系統的驗收成績進行綜合評定,分為優,良,中,及格,不及格5個等級。要求在完成具體課程設計項目所要求功能的同時注重課程設計的創新性。完成課程設計項目所要求的功能及格設計了新類且類結構清晰中或良好在課程設計項目的基礎上,創新性地添加了新的內容優秀Ⅰ基本圖元光柵掃描演示系統1.1設計目標圖形的繪制實質上是像素的操作,像素有三個參數,位置坐標x、y以及顏色c。本設計使用正方形模擬像素,保持屏幕的縱橫比為4:3,將基本圖元(直線、圓和橢圓)在像素級別上繪制出來。由于圓是橢圓的特例,即長軸和短軸長度相等的橢圓,可以使用鍵盤的約束來解決。本設計要求在像素級別演示直線的走樣、反走樣和顏色漸變;演示橢圓(含圓)的走樣和反走樣。詳細功能要求如下:

Ⅰ基本圖元光柵掃描演示系統1.1設計目標使用靜態切分視圖,將屏幕切分為左右窗格。左窗格是控制窗格,右窗格為顯示窗格。保持右窗格的二維設備坐標系不變,原點位于客戶區左上角,x軸水平向右為正,y軸鉛直向下為正。在右窗格內繪制40×30個正方形代表虛擬像素網格,使用橡皮筋技術動態演示基本圖元的繪制過程。

Ⅰ基本圖元光柵掃描演示系統1.1設計目標在左窗格內借助快捷顏色按鈕選擇直線的起點和終點顏色,或雙擊“起點”或“終點”顏色按鈕彈出系統顏色對話框,從中選擇直線的起點和終點顏色。在右窗格選擇直線段的起點像素和終點像素位置,分別繪制走樣直線、反走樣直線、顏色漸變直線。要求:在移動鼠標的過程中時,按下Shift鍵可繪制水平或垂直直線。

Ⅰ基本圖元光柵掃描演示系統1.1設計目標在左窗格選擇橢圓(含圓)的線條顏色,在右窗格內選擇兩個像素作為橢圓(包含圓)的外接矩形的左上角點和右下角點,分別繪制走樣橢圓(含圓)、反走樣橢圓(包含圓)。要求:在移動鼠標的過程中,按下Shift鍵可以繪制圓。

Ⅰ基本圖元光柵掃描演示系統1.1設計目標在狀態欄動態顯示鼠標在右窗格內的虛擬像素坐標,虛擬像素的坐標取為虛擬像素網格的中心點坐標,需要從設備坐標系轉換到虛擬像素坐標系,即右窗格網格左上角點的虛擬像素坐標為(0,0),網格右下角點的虛擬像素坐標為(39,29)。

Ⅰ基本圖元光柵掃描演示系統

1.2設計效果單擊左窗格的“直線”按鈕后,在右窗格內使用鼠標繪制的走樣直線,如圖Ⅰ-1所示。單擊左窗格的“直線”按鈕,同時選中“反走樣”復選框后,在右窗格內使用鼠標繪制的反走樣直線如圖Ⅰ-2所示。

Ⅰ基本圖元光柵掃描演示系統

1.2設計效果單擊左窗格的“直線”按鈕,同時為直線選擇了起點和終點顏色后,在右窗格內使用鼠標繪制的顏色漸變直線如圖Ⅰ-3所示。單擊左窗格的“直線”按鈕,為直線選擇了起點和終點顏色后,同時選中“反走樣”復選框,在右窗格內使用鼠標繪制的顏色漸變反走樣直線如圖Ⅰ-4所示。

Ⅰ基本圖元光柵掃描演示系統

1.2設計效果單擊左窗格的“橢圓”按鈕后,在右窗格內使用鼠標繪制的走樣橢圓如圖Ⅰ-5所示。單擊左窗格的“橢圓”按鈕同時選中“反走樣”復選框后,在右窗格內繪制的反走樣橢圓如圖Ⅰ-6所示。

Ⅰ基本圖元光柵掃描演示系統

1.2設計效果單擊左窗格的“橢圓”按鈕后,在右窗格內拖動鼠標的同時按下Shift鍵繪制的走樣圓如圖Ⅰ-7所示。單擊左窗格的“橢圓”按鈕同時選中“反走樣”復選框后,在右窗格內拖動鼠標的同時按下Shift鍵繪制的反走樣圓如圖Ⅰ-8所示。

Ⅱ遞歸動態球體演示系統

2.1設計目標

在正八面體的基礎上構建球體。正八面體的頂點位于球面上,正八面體的體心設為球心。將正八面體每個正三角形表面的三條邊的中點連接形成四個小正三角形,并將三個中點拉伸到球面上。對每個小正三角形進行同樣的遞歸操作可以構造出球體線框模型。請使用不同深度的遞歸劃分法分別繪制無光照線框球,有光照線框球、無光照表面球和有光照表面球。給定沿x,y,z坐標軸3個方向的位移量和繞x,y,z坐標軸的旋轉角度,控制球體在窗口客戶區內運動。當球體和客戶區邊界發生碰撞后,改變運動方向。請使用三維正交變換繪制遞歸動態球體。詳細功能要求如下:

Ⅱ遞歸動態球體演示系統

2.1設計目標使用靜態切分視圖,將窗口切分為左右窗格。左窗格為繼承于CForemView類的表單視圖類CLeftPortion,右窗格為一般視圖類CTestView。右窗格的三維坐標系原點位于客戶區中心,x軸水平向右為正,y軸鉛直向上為正,z軸垂直于屏幕指向觀察者。左窗格放置代表“球體控制”、“模型分類”、“光源開關”、“平移變換”和“旋轉變換”4個組框控件。“球體控制”組框提供“球體半徑”和“球面級數”2個滑動條;“模型分類”組框提供“線框”和“表面”2個單選按鈕;“光源開關”分類組框提供“關”和“開”2個單選按鈕;“平移變換”組框提供“X方向”、“Y方向”和“Z方向”3個滑動條;“旋轉變換”組框提供“繞X軸”、“繞Y軸”和“繞Z軸”3個滑動條。

Ⅱ遞歸動態球體演示系統

2.1設計目標球體在右窗格內根據左窗格的設定值運動,并和客戶區邊界發生碰撞。當球面級數的值為8時,右窗格內的球體退化為正八面體。當球面級數的值為32時,在右窗格內的正八面體的每個等邊三角形的三條邊上取3個中點并用直線連接,形成4個小正三角形。將3個中點的模長擴展至球體半徑長度,得到遞歸球體。當球面級數增加時,對每個小正三角形面片繼續進行同樣的遞歸,最終生成遞歸球體。根據左窗格的參數值,分別繪制無光照和有光照消隱線框球、無光照和有光照表面球。其中無光照消隱線框采用走樣直線繪制,顏色為白色;有光照消隱線框球采用反走樣顏色漸變直線繪制;光照表面球使用Gouraud雙線性光強插值模型繪制,無光照球體表面填充為白色。

Ⅱ遞歸動態球體演示系統

2.2設計效果在左窗格的“模型分類”組框內選擇“線框”后,“光照開關”為“關”,“球面級數”為0,當前球體面片數為8,右窗格內繪制的初始消隱正八面體線框模型效果如圖Ⅱ-1所示。在左窗格的“模型分類”組框內選擇“線框”后,“光照開關”為“關”,“球面級數”為1,當前球體面片數為32,右窗格內繪制的消隱遞歸球體線框模型效果如圖Ⅱ-2所示。

Ⅱ遞歸動態球體演示系統

2.2設計效果在左窗格的“模型分類”組框內選擇“線框”后,“光照開關”為“關”,“球面級數”為2,當前球體面片數為128,右窗格內繪制的消隱遞歸球體線框模型效果如圖Ⅱ-3所示。在左窗格的“模型分類”組框內選擇“線框”后,“光照開關”為“關”,“球面級數”為3,當前球體面片數為512,右窗格內繪制的消隱遞歸球體線框模型效果如圖Ⅱ-4所示。

Ⅱ遞歸動態球體演示系統

2.2設計效果在左窗格的“模型分類”組框內選擇“線框”后,“光照開關”為“關”,“球面級數”為4,當前球體面片數為2048,右窗格內繪制的消隱遞歸球體線框模型效果如圖Ⅱ-5所示。在左窗格的“模型分類”組框內選擇“線框”后,“光照開關”為“開”,“球面級數”為4,當前球體面片數為2048,右窗格內繪制的消隱遞歸球體光照線框模型效果如圖Ⅱ-6所示。

Ⅱ遞歸動態球體演示系統

2.2設計效果在左窗格的“模型分類”組框內選擇“表面”后,光照開關為“關”,“球面級數”為4,當前球體面片數為2048,右窗格內繪制的消隱遞歸球體無光照表面模型效果如圖Ⅱ-7所示。在左窗格的“模型分類”組框內選擇“表面”后,光照開關為“開”,“球面級數”為4,當前球體面片數為2048,右窗格內繪制的消隱遞歸球體光照表面模型效果如圖Ⅱ-8所示。

Ⅲ圓環動態紋理演示系統

3.1設計目標

設定光源和視點都位于z軸正向。在三維坐標系中,以原點為圓環中心,繪制動態旋轉的無光照和有光照的圓環線框模型、圓環表面模型和圓環紋理模型。選擇不同的紋理位圖,動態添加到圓環上。詳細功能要求如下:使用靜態切分視圖,將窗口切分為左右窗格。左窗格為繼承于CFormView類的表單視圖類CLeftPortion,右窗格為一般視圖類CTestView。右窗格的三維坐標系原點位于客戶區中心,x軸水平向右為正,y軸鉛直向上為正,z軸垂直于屏幕指向觀察者。

Ⅲ圓環動態紋理演示系統

3.1設計目標左窗格放置代表“圓環控制”、“模型分類”、“光源開關”、“明暗處理”、“紋理映射”的5個組框控件。“圓環控制”組框提供“環體半徑”、“截面半徑”、“表面級數”和“截面級數”4個滑動條;“模型分類”組框提供“線框”、“表面”和“紋理”3個單選按鈕;“光源開關”組框提供“關”和“開”兩個單選按鈕;“明暗處理”組框提供“Gouraud”和“Phong”2個單選按鈕;“紋理映射”組框提供1個“選擇紋理”按鈕和1個顯示紋理縮略圖的Picture靜態控件,“選擇紋理”按鈕調用“打開文件”通用對話框,可以選擇如圖Ⅲ-1所示的3張不同的bmp位圖對圓環進行紋理映射。默認情況下,“模型分類”組框內選擇的是“線框”,“光源開關”選擇的是“開”,同時禁用“明暗處理”組框和“紋理映射”組框。

Ⅲ圓環動態紋理演示系統

3.1設計目標

Ⅲ圓環動態紋理演示系統

3.1設計目標圓環在右窗格內以客戶區中心為體心繞x軸轉動。根據左窗格設置的參數值,分別繪制無光照和有光照的反走樣線框模型、無光照和有光照的Gouraud或Phong插值表面模型,無光照和有光照的Phong插值紋理模型。

Ⅲ圓環動態紋理演示系統

3.2設計效果在左窗格的“模型分類”組框內選擇“線框”后,“光源開關”組框內選擇“關”,右窗格內繪制的無光照消隱圓環線框模型,如圖Ⅲ-2所示。在左窗格的“模型分類”組框內選擇“線框”后,“光源開關”組框內選擇“開”,右窗格內繪制的光照消隱圓環線框模型,如圖Ⅲ-3所示。

Ⅲ圓環動態紋理演示系統

3.2設計效果在左窗格的“模型分類”組框內選擇“表面”后,“光源開關”組框內選擇“開”,“明暗處理”組框內選擇“Gouraud”,右窗格內繪制的光照消隱圓環表面模型,如圖Ⅲ-4所示。在左窗格的“模型分類”組框內選擇“表面”后,“光源開關”組框內選擇“開”,“明暗處理”組框內選擇“Phong”,右窗格內繪制的光照消隱圓環表面模型,如圖Ⅲ-5所示。

Ⅲ圓環動態紋理演示系統

3.2設計效果在左窗格的“模型分類”組框內選擇“紋理”后,“光源開關”組框內選擇“關”,“明暗處理”組框內默認為“Phong”,右窗格內繪制的無光照紋理映射圓環模型,如圖Ⅲ-6所示。在左窗格的“模型分類”組框內選擇“紋理”后,“光源開關”組框內選擇“開”,“明暗處理”組框內默認為“Phong”,右窗格內繪制默認貼圖為Ⅲ-1(a)的紋理映射圓環模型,如圖Ⅲ-7所示。

Ⅲ圓環動態紋理演示系統

3.2設計效果在左窗格的“模型分類”組框內選擇“紋理”后,“光源開關”組框內選擇“開”,“明暗處理”組框內默認為“Phong”,通過“紋理映射”組框內的“選擇紋理”按鈕更換紋理位圖為圖Ⅲ-1(a)或(c)后,右窗格內繪制的紋理映射圓環模型,如圖Ⅲ-8和Ⅲ-9所示。

Ⅳ動態光源演示系統

4.1設計目標在窗口客戶區中心繪制三維球體表面模型,材質為灰色。圍繞球體設置紅綠藍三個光源。紅綠藍光源分別在xoy面、yoz面和zox面內沿不同的橢圓軌道環繞三維球體旋轉。根據光源的顏色和動態變化的位置,演示三維球體的光照效果。詳細功能要求如下:使用靜態切分視圖,將窗

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論