課程設(shè)計(jì):球體背面剔除消隱算法

課程設(shè)計(jì):球體背面剔除消隱算法

ID:18572515

大?。?54.50 KB

頁(yè)數(shù):11頁(yè)

時(shí)間:2018-09-18

課程設(shè)計(jì):球體背面剔除消隱算法_第1頁(yè)
課程設(shè)計(jì):球體背面剔除消隱算法_第2頁(yè)
課程設(shè)計(jì):球體背面剔除消隱算法_第3頁(yè)
課程設(shè)計(jì):球體背面剔除消隱算法_第4頁(yè)
課程設(shè)計(jì):球體背面剔除消隱算法_第5頁(yè)
資源描述:

《課程設(shè)計(jì):球體背面剔除消隱算法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。

1、目錄一.設(shè)計(jì)內(nèi)容與要求…………………………………………21.1總體目標(biāo)和要求……………………………………21.2內(nèi)容與要求…………………………………………2二.總體設(shè)計(jì)…………………………………………………22.1球的消隱處理基本原理……………………………22.2具體設(shè)計(jì)實(shí)現(xiàn)………………………………………3三.詳細(xì)設(shè)計(jì)…………………………………………………33.1程序流程圖…………………………………………33.2調(diào)試后正確的程序清單……………………………5四.功能實(shí)現(xiàn)………………………………………………104.1程序運(yùn)行結(jié)

2、果………………………………………104.2功能實(shí)現(xiàn)及分析……………………………………10五.總結(jié)……………………………………………………11六.參考文獻(xiàn)………………………………………………1110球體背面剔除消隱算法第1章設(shè)計(jì)內(nèi)容與要求1.1總體目標(biāo)和要求課程設(shè)計(jì)的目的:以圖形學(xué)算法為目標(biāo),深入研究。繼而策劃、設(shè)計(jì)并實(shí)現(xiàn)一個(gè)能夠表現(xiàn)計(jì)算機(jī)圖形學(xué)算法原理的或完整過程的演示系統(tǒng),并能從某些方面作出評(píng)價(jià)和改進(jìn)意見。通過完成一個(gè)完整程序,經(jīng)歷策劃、設(shè)計(jì)、開發(fā)、測(cè)試、總結(jié)和驗(yàn)收各階段,達(dá)到:1)鞏固和實(shí)踐計(jì)算機(jī)圖形學(xué)課程中的理論和算

3、法;2)學(xué)習(xí)表現(xiàn)計(jì)算機(jī)圖形學(xué)算法的技巧;3)培養(yǎng)認(rèn)真學(xué)習(xí)、積極探索的精神;4)具備通過具體的平臺(tái)實(shí)現(xiàn)圖形算法的設(shè)計(jì)、編程與調(diào)試的能力;5)完成對(duì)實(shí)驗(yàn)結(jié)果分析、總結(jié)及撰寫技術(shù)報(bào)告的能力。總體要求:策劃、設(shè)計(jì)并實(shí)現(xiàn)一個(gè)能夠充分表現(xiàn)圖形學(xué)算法的演示系統(tǒng),界面要求美觀大方,能清楚地演示算法執(zhí)行的每一個(gè)步驟。開發(fā)環(huán)境:ViusalC++6.01.2內(nèi)容與要求球體背面剔除消隱算法內(nèi)容:(1)掌握背面剔除消隱算法原理;(2)實(shí)現(xiàn)矢量點(diǎn)積與叉積運(yùn)算;(3)透視投影變換(4)曲面體經(jīng)緯線劃分方法功能要求:(1)繪制球體線框模型的透視投影圖,

4、使用背面剔除算法實(shí)現(xiàn)動(dòng)態(tài)消隱;(2)通過右鍵菜單顯示消隱效果,右鍵菜單有兩個(gè)選項(xiàng):未消隱與消隱;(3)使用鍵盤的上下左右控制鍵旋轉(zhuǎn)消隱前后的球體;(4)單擊左鍵增加視距,右擊縮短視距;第2章總體設(shè)計(jì)2.1球的消隱處理基本原理10球體的曲面通常采用一組網(wǎng)格多邊形來表示,即把曲面離散成許多小平面片,用平面逼近曲面,一般使用許多四邊形來逼近曲面。網(wǎng)格四邊形愈多,逼近曲面的精度就愈高,逼近效果就愈好,曲面看起來就越光滑。一般根據(jù)實(shí)際需要來確定合適的逼近精度即網(wǎng)格多邊形數(shù)目。當(dāng)曲面表示為一組網(wǎng)格多邊形時(shí),消隱處理的主要工作是確定各網(wǎng)

5、格多邊形的可見性,由此可用平面立體的算法對(duì)曲面進(jìn)行消隱處理。球面的參數(shù)方程為:x=R·sina·cosβy=R·sina·sinβ(0≤a≤π,0≤β≤2π)z=R·cosa設(shè)兩個(gè)參數(shù)a和β對(duì)球面進(jìn)行網(wǎng)格化,當(dāng)相鄰的曲線參數(shù)分別為a1、a2、β1、β2時(shí),構(gòu)成四邊形網(wǎng)格P0P1P2P3,其外法線N表示如下:N=P0P1×P1P2對(duì)N進(jìn)行單位化:n={nx,ny,nz}=n/

6、N

7、若設(shè)視方向?yàn)镾,其平行于y軸:S={0,1,0}①n·S=ny≥0,網(wǎng)格可見,畫出;②n·S=ny<0,網(wǎng)格不可見,不畫2.2具體設(shè)計(jì)實(shí)現(xiàn)(1)掌

8、握運(yùn)行環(huán)境VisualC++編程、調(diào)試方法,熟練掌握OpenGL的使用,并能將兩者相結(jié)合完成實(shí)驗(yàn)設(shè)計(jì);(2)理解球體背面剔除消隱算法的基本原理;(3)利用OpenGL中的函數(shù)繪制一個(gè)線框球并顯示出來。具體方案如下:(a)先通過透視投影變換繪制出小四邊形平面片,進(jìn)行球體線框模型的繪制。(b)完成球體的繪制后,進(jìn)行設(shè)置球體的旋轉(zhuǎn)效果,根據(jù)球體背面剔除消隱算法來完成球體的動(dòng)態(tài)消隱。(c)創(chuàng)建右鍵菜單顯示消隱效果,右鍵菜單有未消隱和消隱兩個(gè)選項(xiàng)。(d)設(shè)置使用鍵盤的上下左右控制鍵旋轉(zhuǎn)消隱前后的球體。(e)設(shè)置單擊鼠標(biāo)左鍵增加視距,

9、右擊縮短視距。(f)編寫主函數(shù),然后編寫以上思想的子函數(shù),對(duì)整個(gè)程序進(jìn)行基本的代碼編寫,分模塊完成所要求的各個(gè)功能,最后進(jìn)行代碼的運(yùn)行和調(diào)試。第3章詳細(xì)設(shè)計(jì)3.1程序流程圖10初始化畫球體線框模型畫球體旋轉(zhuǎn)算法鼠標(biāo)控制鍵盤控制單擊左鍵單擊右鍵上下左右鍵球體縮放增加視距減小視距消隱未消隱調(diào)用鼠標(biāo)左鍵函數(shù)"x"退出"o"放大"i"縮小原球體圖消隱算法調(diào)用鼠標(biāo)右鍵函數(shù)程序結(jié)束程序主流程圖103.2調(diào)試后正確的程序清單#include#include#defineNO_XIAOYIN1#d

10、efineXIAOYIN2staticfloata=1.0f,b=0.0f,c=0.0f;GLfloatrtri,r=1.0f;//旋轉(zhuǎn)角度boolbXiaoyin=true;voidinit(void){glClearColor(0.0f,0.0f,0.0f,0.0f);glShadeModel(GL

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。