亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于OpenGL的STL文件三維模型真實感圖形可視化研究

        2011-07-10 06:57:00任清海
        制造業(yè)自動化 2011年16期
        關(guān)鍵詞:面片二進(jìn)制字節(jié)

        耿 鐵,任清海

        (河南工業(yè)大學(xué) 機(jī)電工程學(xué)院,鄭州 450007)

        0 引言

        STL(Stereo lithographic)文件格式是美國3D SYSTEMS公司提出的一種采用三角形面片離散地近似表示三維模型的接口標(biāo)準(zhǔn),由于其接口格式規(guī)范、對三維實體描述的解釋唯一,目前已成為CAD/CAM/CAE系統(tǒng)接口的工業(yè)標(biāo)準(zhǔn)之一。因而STL文件在三維CAD設(shè)計、逆向工程、有限元分析、醫(yī)學(xué)成像系統(tǒng)、文物保護(hù)等方面有廣泛的應(yīng)用[1]。

        OpenGL(Open Graphic Library)是一個三維真實感圖形模型庫,被廣泛地運用于科學(xué)計算可視化、計算機(jī)動畫和虛擬現(xiàn)實等領(lǐng)域,利用OpenGL開發(fā)圖形軟件已成為當(dāng)今業(yè)界的時尚[2]。

        為了獲得STL文件三維模型的真實感顯示,以更好地進(jìn)行氣體輔助注塑成型數(shù)值模擬后置處理的研究與開發(fā),本文在深入研究STL文件特點的基礎(chǔ)上,運用VC++6.0環(huán)境下的MFC的串行化文件I/O操作機(jī)制和OpenGL強(qiáng)大的圖形繪制渲染功能,對STL文件三維模型真實感圖形可視化進(jìn)行了研究與實現(xiàn)。

        1 STL文件的數(shù)據(jù)組織格式

        STL 文件是由若干空間無序排列組合的、并沒有反映拓?fù)潢P(guān)系的小三角形面片組成的集合,是一種用許多空間小三角形面片逼近三維實體表面的數(shù)據(jù)模型,每個三角形面片由三角形的三個頂點坐標(biāo)和指向模型外部的三角形面片的法向量組成[3]。目前的STL文件格式包括二進(jìn)制文件(BINARY)和文本文件(ASCII)兩種[4]。

        1.1 STL的二進(jìn)制格式

        二進(jìn)制STL文件用固定的字節(jié)數(shù)來給出三角形面片的幾何信息[4]。文件起始的80個字節(jié)是文件頭,用于存貯零件名等文字信息,接著用4個字節(jié)的整數(shù)來描述模型的三角形面片個數(shù), 后面逐個給出每個三角形面片的幾何信息。每個三角形面片占用固定的50個字節(jié),依次是3個4字節(jié)浮點數(shù),用來描述三角形面片的法矢量;3個4字節(jié)浮點數(shù),用來描述第1個頂點的坐標(biāo);3個4字節(jié)浮點數(shù),用來描述第2個頂點的坐標(biāo);3個4字節(jié)浮點數(shù),用來描述第3個頂點的坐標(biāo),每個三角形面片的最后2個字節(jié)用來描述三角形面片的屬性信息(包括顏色屬性等),暫時沒有用。一個二進(jìn)制STL文件的大小為三角形面片數(shù)乘以50再加上84個字節(jié)。

        1.2 STL的ASCII文件格式

        ASCII碼格式的文件逐行給出三角形面片的幾何信息,每一行以1個或2個關(guān)鍵字開頭。在STL文件中的三角形面片的信息單元facet是一個帶矢量方向的三角形面片,STL三維模型就是由一系列這樣的三角形面片構(gòu)成。STL文件的首行給出了文件路徑及文件名。在一個STL文件中,每一個facet由7行數(shù)據(jù)組成,第一行是三角形面片指向?qū)嶓w外部的法矢量坐標(biāo),由facet normal開頭,第二行為outer loop關(guān)鍵字,隨后的第3、4、5行數(shù)據(jù)分別是三角形面片的個頂點坐標(biāo),分別以vertex關(guān)鍵字開頭,3頂點沿指向?qū)嶓w外部的法矢量方向逆時針排列[5],第六行為end loop關(guān)鍵字,第七行為endfacet關(guān)鍵字,表示一個三角形面片信息描述完畢。

        通過對STL兩種文件格式的分析可知,其中二進(jìn)制的文件格式較小,節(jié)省文件存儲空間,而ASCII碼格式的文件可讀性較強(qiáng),故把這種格式作為可視化研究對象。

        2 STL文件的讀取和顯示

        2.1 定義STL文件相關(guān)數(shù)據(jù)結(jié)構(gòu)

        STL文件型由一系列三角形面片構(gòu)成,即三角形面片是構(gòu)成STL文件的基本單位。每個三角形面片又由三維空間中對應(yīng)的三個頂點坐標(biāo)及其構(gòu)成的平面的法向矢量組成。所以采用結(jié)構(gòu)型變量分別定義構(gòu)成三角形面片的頂點數(shù)據(jù)和法向量,并采用基類CObject的派生類CTriangleClass定義的m_TriangleList數(shù)組來實現(xiàn)動態(tài)存儲構(gòu)成STL文件的三角形面片。

        2.2 讀取STL文件數(shù)據(jù)

        MFC提供了一種串行化方式(Serialize)存取文檔機(jī)制,可以方便地把對象的不同數(shù)據(jù)信息存儲到指定的二進(jìn)制文件中,也可以方便地以同樣順序從該二進(jìn)制文件中讀出數(shù)據(jù)并創(chuàng)建對象[6]。具體算法如下:

        2.3 STL文件的真實感圖形可視化顯示

        在OpenGL中,光照模型由環(huán)境反射光、漫反射光、鏡面反射光等組成,通過函數(shù)glLight對光源特性進(jìn)行設(shè)置,可以模擬真實的光照效果;材質(zhì)屬性是通過對光線中的紅、綠、藍(lán)三原色的反射率來近似定義的,可以采用函數(shù)glMaterial實現(xiàn)材質(zhì)的設(shè)置;OpenGL提供的Gouraud著色模式,實現(xiàn)了在頂點顏色之間進(jìn)行雙線性差值,使不同頂點之間的顏色光滑連續(xù),可以改進(jìn)顯示效果;在OpenGL中,還可以采用融合技術(shù),實現(xiàn)三維模型的透明處理;另外OpenGL還可以啟動深度檢測功能,進(jìn)行消隱處理,提高三維模型的立體感[7]。通過使用光照模型、材質(zhì)屬性、著色模式、深度檢測、融合以及反走樣等技術(shù)可以實現(xiàn)三維模型的真實感顯示效果。具體算法如下:

        3 結(jié)束語

        在Visual C++6.0環(huán)境下,運用MFC的串行化文件I/O操作機(jī)制和OpenGL函數(shù)庫對STL文件的三維模型的真實感圖形可視化進(jìn)行了研究,并且詳細(xì)介紹了STL文件的讀取和顯示方法,為后續(xù)的氣體輔助注塑成型數(shù)值模擬后置處理的研程序結(jié)果如圖1所示。究與開發(fā)提供了條件,具有一定的使用價值和應(yīng)用前景。

        [1] 衛(wèi)煒, 周來水, 張麗艷.海量STL文件的快速讀取與顯示[J].機(jī)械科學(xué)與技術(shù), 2006, 25(8): 935-938.

        [2] 程小茁, 劉金義, 吳濤.基于OpenGL的STL格式實真實感圖形顯示工具的實現(xiàn)[J].撫順石油學(xué)院學(xué)報, 1999,19(3): 53-55.

        [3] 胡海鷗, 王素.基于OpenGL的STL文件可視化研究[OL].中國科技論文在線, 2010, 3(4): 371-376.http://highlights.paper.edu.cn/page_detail.php? id=910

        [4] 嚴(yán)桔銘, 鐘艷如.基于VC++和OpenGL的STL文件讀取顯示[J].計算機(jī)體系應(yīng)用, 2009, 3: 172-175.

        [5] 紀(jì)峰, 陳荔, 李占利.基于STL文件的模型及應(yīng)用[J].長安大學(xué)學(xué)報, 2006, 26(1): 104-107.

        [6] 王清輝, 王彪.Visual C++ CAD應(yīng)用程序開發(fā)技術(shù)[M].北京: 機(jī)械工業(yè)出版社.2003.

        [7] 和克智, 等.OpenGL編程技術(shù)詳解[M].北京: 化學(xué)工業(yè)出版社.2010.

        [8] 郭兆榮.Visual C++ OpenGL 應(yīng)用程序開發(fā)[M].北京: 人民郵電出版社, 2006.

        猜你喜歡
        面片二進(jìn)制字節(jié)
        用二進(jìn)制解一道高中數(shù)學(xué)聯(lián)賽數(shù)論題
        No.8 字節(jié)跳動將推出獨立出口電商APP
        有趣的進(jìn)度
        初次來壓期間不同頂板對工作面片幫影響研究
        二進(jìn)制在競賽題中的應(yīng)用
        No.10 “字節(jié)跳動手機(jī)”要來了?
        簡談MC7字節(jié)碼
        甜面片里的人生
        幸福家庭(2016年3期)2016-04-05 03:47:08
        青海尕面片
        老伴逼我搟面片
        日产精品高潮一区二区三区5月| 亚洲熟女av中文字幕网站| 116美女极品a级毛片| 粉嫩极品国产在线观看 | 精品国产自拍在线视频| 日本视频一区二区三区在线 | 日日噜噜夜夜狠狠久久无码区| 欧美整片第一页| 一本大道久久精品一本大道久久| 一区二区三区蜜桃av| 国产成人a在线观看视频免费| 无码丰满少妇2在线观看| 黑人巨大亚洲一区二区久| 国产精品亚洲精品一区二区| 久久不见久久见免费影院国语 | 中文字幕亚洲一区视频| 国产日韩精品suv| 国产精品成人99一区无码| 亚洲日日噜噜噜夜夜爽爽| 日本加勒比一区二区在线观看| 国产在线一区二区三区四区| 久久国产精品精品国产色婷婷| 国产农村妇女高潮大叫| 婷婷第四色| 自拍情爱视频在线观看| 色综合久久无码五十路人妻 | 色狠狠一区二区三区香蕉| 亚洲九九夜夜| 最近更新中文字幕一区二区| 亚洲精品乱码久久久久蜜桃| 国产欧美日韩精品a在线观看| 免费成人福利视频| 蜜桃av福利精品小视频| 亚洲国产亚综合在线区| 双乳被一左一右吃着动态图| 成人激情四射网| 久久精品伊人久久精品| 乱老年女人伦免费视频| 亚洲日韩欧美国产另类综合| 少妇被搞高潮在线免费观看| 老熟女的中文字幕欲望|