亚洲免费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
        青海尕面片
        老伴逼我搟面片
        午夜毛片不卡免费观看视频| 国产麻豆极品高清另类| 成年人一区二区三区在线观看视频 | 国产成人精品三级在线影院| 国产一区二区精品久久呦| 偷拍一区二区盗摄视频| 亚洲精品一品区二品区三品区 | 在线观看国产一区亚洲bd| 少妇人妻中文字幕在线| 色中文字幕在线观看视频| 亚洲精品国偷拍自产在线麻豆| 精品亚洲日韩国产一二三区亚洲| 国产精品农村妇女一区二区三区| 国产91清纯白嫩初高中在线观看 | 日本精品视频一区二区三区四区| 丰满人妻被黑人猛烈进入| 无码之国产精品网址蜜芽| 国产三级精品三级在专区中文| 国产精品美女久久久免费| 全球av集中精品导航福利| 被欺辱的高贵人妻被中出| 久久综合五月天啪网亚洲精品| 亚洲va韩国va欧美va| 极品美女扒开粉嫩小泬| 无码流畅无码福利午夜| 中文字幕av人妻少妇一区二区 | 日韩无码尤物视频| 亚洲国产综合人成综合网站| 曰韩亚洲av人人夜夜澡人人爽| 91av视频在线| 91人妻人人做人人爽九色| 无遮挡1000部拍拍拍免费| 亚洲av无码之日韩精品| 青青青国产免A在线观看| gg55gg国产成人影院| av人摸人人人澡人人超碰妓女| 久久波多野结衣av| 按摩少妇高潮在线一区| 婷婷射精av这里只有精品| 奇米狠狠色| 国产精品女同二区五区九区|