大學(xué)本科畢業(yè)論文(設(shè)計)開題報告
學(xué)院:機電及自動化學(xué)院 專業(yè)班級:08機電2班
課題名稱 STL模型處理技術(shù)研究及軟件開發(fā)
1、本課題的研究目的和意義:
STL文件格式是由3D System公司開發(fā)的,已被工業(yè)界認(rèn)為是目前快速成型領(lǐng)域的標(biāo)準(zhǔn)零件描述文件格式。STL文件對三維實體描述的解釋具有唯一性,STL格式文件被廣泛的應(yīng)用于科學(xué)計算可視化,計算機動畫,虛擬現(xiàn)實等技術(shù)之中。在工作研究中時常需要對STL文件的實體模型進(jìn)行觀察和結(jié)構(gòu)分析,這就需要一種能方便快捷地顯示STL文件并能對模型進(jìn)行交互操作的工具。
為此本文借助OpenGL圖形庫的渲染、圖形變換顯示功能,使用Visual Studio 2008開發(fā)了一種STL格式實體的真實感顯示與交互變換工具。
2、 文獻(xiàn)綜述(國內(nèi)外研究情況及其發(fā)展):
(1) STL模型的數(shù)據(jù)結(jié)構(gòu)
耿鐵等[1]采用兩個結(jié)構(gòu)體變量分別定義儲存三角形面片的頂點數(shù)據(jù)和法向量,三個頂點的坐標(biāo)及法向量的三個坐
……(新文秘網(wǎng)http://jey722.cn省略729字,正式會員可完整閱讀)……
getline函數(shù)從ifstream對象綁定的STL文件中讀取數(shù)據(jù)。
張貞貞等[5]通過比較法消除冗余數(shù)據(jù),去除冗余點的同時也建立了點表,并由一個結(jié)構(gòu)體形成的面表記錄了每個面片的向量以及它的3個頂點的信息,使得面表和點表聯(lián)系在一起。使用fscanf函數(shù)實現(xiàn)STL文件的快速讀取。
王公強等[6]用CFile類的Read函數(shù)將文件讀取到內(nèi)存中,定義了兩種需要處理的類數(shù)據(jù)類型。通過對STL文件讀取,將有用的三角面法矢量及頂點坐標(biāo)存儲到一個動態(tài)數(shù)組中。
衛(wèi)煒等[7]采用內(nèi)存映射手段,基于哈希表結(jié)構(gòu)的冗余頂點刪除實現(xiàn)了對海量STL文件快速讀取,用靜態(tài)數(shù)組形式來儲存三角形網(wǎng)格模型的幾何信息。由于動態(tài)數(shù)組封閉了相應(yīng)有成員函數(shù),但每次操作均需要重新分配內(nèi)存空間和進(jìn)行元素拷貝。在儲存面片數(shù)量較大時,時間開銷很大。而靜態(tài)數(shù)組結(jié)構(gòu)在對數(shù)據(jù)的儲存時,時間開銷最小,缺點是需要預(yù)先確定數(shù)據(jù)元素的最大個數(shù),申請足夠的分配空間。
(3) 三維CAD模型交互顯示與變換
王公強等[6]介紹了兩種在OpenGL中實現(xiàn)物體旋轉(zhuǎn)的方法:一是通過OpenGL提供的對模型進(jìn)行旋轉(zhuǎn)的函數(shù)glRotate函數(shù)來實現(xiàn),二是通過修改取景變換函數(shù)glLookAt的函數(shù)來實現(xiàn)。在OpenGL中實現(xiàn)物體的縮放也有兩種方法:一是通過改變glOrtho函數(shù)的參數(shù),改變物體所在的可視空間的大小來實現(xiàn),當(dāng)可視化空間變大的時候,物體的顯示就會相對縮小,相反,就會相對擴大。二是通過OpenGL提供的glScale函數(shù)來實現(xiàn)物體模型的縮放。
衛(wèi)煒等[7]采用OpenGL顯示列表,它是由一組預(yù)先存儲起來的留待以后調(diào)用的OpenGL函數(shù)語句組成,當(dāng)調(diào)用該顯示列表時就依次執(zhí)行表所列出的語句,該方法能優(yōu)化程序運行性能,但因為創(chuàng)建或調(diào)用顯示列表程序本身也有一些開銷,若一個顯示列表太小則無法顯示出列表的優(yōu)越性,所以該方法只適用于擁有超過10萬個三角面片時的海量讀取。對海量STL文件進(jìn)行旋轉(zhuǎn)、縮放等操作這里采用:當(dāng)按下鼠標(biāo)進(jìn)行文件旋轉(zhuǎn)、縮放等操作時,顯示的三角面片個數(shù)僅為文件總的三角面片個數(shù)的1%-10%左右,這樣大幅度減小了需要顯示的三角形面片數(shù),但又能足夠顯示出模型的輪廓,從而極大降低旋轉(zhuǎn)、縮放的操作遲滯感,而且一旦松開鼠標(biāo),就會自動調(diào)用已經(jīng)存在的多個列表進(jìn)行顯示,實現(xiàn)圖形的快速刷新。
(4) 發(fā)展方向
隨著各種算法的不斷改進(jìn),基于STL模型的軟件開發(fā)將朝著STL文件數(shù)據(jù)的快速讀取,并具合理
有效地去除冗余頂點數(shù)據(jù)能力,快速建立合適的STL文件拓?fù)湫畔。實現(xiàn)STL模型在OpenGL環(huán)境中的快速顯示與流暢的交互性操作。
3、 本課題的主要研究內(nèi)容(提綱)和成果形式:
內(nèi)容:
(1) 分析三維離散CAD模型(STL模型),設(shè)計相應(yīng)的數(shù)據(jù)結(jié)構(gòu);
(2) 研究STL模型的輸入輸出算法、真實感顯示知識,并編程實現(xiàn);
(3) 研究三維CAD模型交互顯示、模型變換理論并實現(xiàn)相關(guān)算法;
成果形式:
(1) 具有合理的STL模型的數(shù)據(jù)結(jié)構(gòu)。
(2) 能快速讀入STL模型,并基于OpenGL顯示。
(3) 可以實現(xiàn)CAD模型的交互顯示。
4、擬解決的關(guān)鍵問題:
(1) CAD幾何模型可以具體到點、線、面、實體和部件等幾何對象。這些幾何對象之間又存在各種關(guān)系,如層次關(guān)系、拓?fù)潢P(guān)系等。設(shè)計和開發(fā)一系列合理的類來描述、管理和操作這些幾何對象和它們之間的關(guān)系。
(2) 設(shè)計合理STL文件的快速讀取和輸出算法。
(3) 在OpenGL中對光源特性和材質(zhì)等進(jìn)行設(shè)置實現(xiàn)三維模型的真實感顯示效果。
(4) 由模型最大包容盒信息算法并結(jié)合模型變換和視圖變換,設(shè)計合理有效的平移、旋轉(zhuǎn)、縮放等模型變換函數(shù),實現(xiàn)CAD模型的交互顯示。
5、研究思路、方法和步驟:
(1) STL模型的數(shù)據(jù)結(jié)構(gòu) ……(未完,全文共4054字,當(dāng)前僅顯示2048字,請閱讀下面提示信息。
收藏《論文開題:STL模型處理技術(shù)研究及軟件開發(fā)》)