999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OpenGL與3DS Max的三維場景建模

2012-03-29 14:07:55王新波朱維杰
電子科技 2012年1期
關鍵詞:方法模型

王新波,朱維杰

(1.武警工程學院研究生管理大隊,陜西西安 710086;2.武警工程學院通信工程系,陜西西安 710086)

目前三維應用已涉及建筑、產品設計、醫學、地球科學、流體力學等各個領域。要模擬這些真實的三維場景,可以先利用專業建模軟件3DS Max,建立需要的模型,然后結合Visual Studio 2005開發環境直接獲取3DS模型數據,在OpenGL中進行繪制交互控制。這種方法一方面可以利用專業建模軟件3DS Max的優點,較快地建立復雜模型,另一方面利用OpenGL的編程接口對建立的模型進行實時繪制和交互控制,降低建模時間,加快系統開發進程。

1 OpenGL技術與3DS模型

OpenGL是一個三維的計算機圖形開發包,為程序員提供了一個圖形硬件接口。它是一個功能強大、支持底層繪制和造型能力的軟件圖形函數庫,獨立于硬件和窗口系統,適用于所有的主流操作系統平臺,有著廣泛的硬件支持,是為游戲、造型及CAD之類的圖形應用程序而設計。OpenGL能在網絡環境下以客戶/服務器模式工作,是專業的圖形處理、科學計算等高端應用領域的標準圖形庫。OpenGL的核心圖形函數功能強大,使用靈活方便,并能夠支持粒子系統,對模擬水、火、雪等自然景物提供了真實有效的方法。3DS MAX是Autodesk公司開發的基于PC系統的三維動畫渲染和制作軟件。在Windows NT出現以后,3DS Max+Windows NT的組合減低了CG制作的門檻。打破了工業級CG制作被SGI工作站壟斷的局面。成為三維動畫、圖形及圖像設計首選的優秀軟件。廣泛應用在影視廣告、學習娛樂、建筑裝潢、機械制造、抽象藝術等行業。3DS Max強大的建模能力可以在短時間內迅速建立起復雜的物體模型。但3DS Max中缺乏交互能力,無法實現實時控制,難以直接用于仿真。因此,首先在3DS Max中建造模型,然后在OpenGL繪圖環境中讀入構造出的模型,再利用OpenGL的交互控制優勢以達到理想的三維效果。

2 3DS Max建立模型

3DS Max提供了高級的三維建模指令,它豐富的建模技術能夠較為方便和真實地表現復雜、精細的模型。它在業產品設計、數字化技術、仿真系統等諸領域中得到廣泛應用。在3DS Max中有著多種建模方法,但其核心共3種:多邊形建模、面片建模、Nurbs建模。由于每種建模方法都有自己的優勢和不足,因此,必須在充分了解這些優勢和不足之后,才能在實際工作中揚長避短。如由較大的直邊和平面構成的對象,還有建筑模型,如墻、床、門、甚至是家具等用多邊形建模最有效。面片建模多用于光滑表面建模。NURBS建模方法的主要優點是具有多邊形建模方法及編輯的靈活性,但不依賴于復雜網絡細化表面。在這方面,他更像使用面片表面。建模時可以只使用曲線定義表面。這些表面在窗口中看起來細節較少,但在渲染時卻有更高層次的復雜度。如果能力具備,應該盡可能全面的掌握3DS Max的不同建模方法,因為在同一場景或對象組中,不同的建模方法是互補的。

3 三維場景的實現

3DS模型建立完成后,可以用 3D Exploration,Wcvt2pov等軟件把3DS模型轉換為相應的OpenGL的CC++格式文件,也可以由程序直接載入3DS模型。用軟件轉換格式的方法能夠保留模型的顏色、紋理等信息。但也有局限性,即在轉換模型時需要軟件的支持和人工交互轉換,且每次也只能轉換一個模型。因此,效率并不高。而由程序直接的方法可以自由控制所需載入的模型,提高程序運行的效率。3DS模型載入OpenGL程序后,還需進行相應的比例放縮、旋轉、移動等控制。

(1)讀取3DS模型。

3DS文件采用塊結構的組織方式,并且塊與塊之間存在嵌套關系,所以對3DS文件中的三維模型數據的讀取方式是從模型文件中讀取一個塊,根據塊ID來判斷塊的功能信息,然后根據塊ID進行相應處理。在塊處理過程中,比如主編輯塊,也是通過相同的方式,讀取一個子塊,判斷塊信息,再進行相應的數據提取和存放處理。

(2)構建模型顯示列表。

在編寫OpenGL程序時,遇到重復的工作,可以創建一個顯示列表,把重復的工作裝入,并在需要的地方調用這個顯示列表。使用顯示列表一般有4個步驟:分配顯示列表編號、創建顯示列表、調用顯示列表、銷毀顯示列表。

(3)根據3DS模型的最小和最大x,y坐標和三維場景實際需要的寬度和高度計算其縮放比例,對模型進行縮放。使用函數為:glScalef(GLfloat x,GLfloat y,GLfloat z)。把當前矩陣和一個表示縮放物體的矩陣相乘。x,y,z分別表示在該方向上的縮放比例。

(4)根據模型在三維場景中的方向角度,對模型進行旋轉。使用函數為:glRotatef(GLfloat angle,GLfloat x,GLfloat y,GLfloat z)。把當前矩陣和一個表示旋轉物體的矩陣相乘。物體將繞著(0,0,0)到(x,y,z)的直線以逆時針旋轉,參數 angle表示旋轉的角度。

(5)根據模型在三維場景中的位置,計算模型x,y,z方向的平移量,將模型平移。使用函數為:glTranslatef(GLfloat x,GLfloat y,GLfloat z)。把當前矩陣和一個表示移動物體的矩陣相乘。3個參數分別表示在3個坐標上的位移值。

(6)實現3DS模型在三維場景中按對應大小、方向、位置的放置,調用顯示列表,完成模型的繪制。

4 結束語

3DS Max建模軟件直觀、方便易學,可操作性強,能夠制作出高質量模型,并提高建模效率。采用OpenGL技術與3DS Max軟件的方式來構建虛擬三維空間的方法,克服了OpenGL缺乏復雜三維模型的創建能力,使得使用OpenGL的簡單函數也可以輕松地創建出復雜精美的三維模型。同時OpenGL的實時性的交互能力,彌補了3DS Max缺乏交互性的缺點。而且,OpenGL還提供了模型變換、紋理貼圖、顯示列表等技術,提高了Opengl對三維圖形的控制能力,優化了三維場景的處理速度。OpenGL的靈活性、實時交互性結合3DS MAX強大的創建模型的能力,這種便利高效的組合,使其在虛擬現實和計算機仿真中得到了廣泛應用。

[1]呂希奎,周小平.實戰OpenGL三維可視化系統開發與源碼精解[M].北京:電子工業出版社,2009.

[2]王瑤.3ds Max 2008完全手冊[M].北京:科學出版社,2007.

[3]RIEHARD S W,BENJAMIN J.Lipchak nicholas haemel Open-GL超級寶典[M].4版.北京:人民郵電出版社,2010.

[4]伏玉琛,周洞女.計算機圖形學[M].武漢:華中科技大學出版社,2006.

[5]郭兆榮,李菁,王彥.Visual C++OpenGL應用程序開發[M].北京:人民郵電出版社,2006.

[6]陳東亮,陸達.關于在OpenGL中裝載3DS模型文件的分析[J].福建電腦,2007(5):59-60.

猜你喜歡
方法模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
學習方法
可能是方法不對
3D打印中的模型分割與打包
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
主站蜘蛛池模板: 国产成人无码播放| 日本欧美成人免费| 亚洲人成网18禁| 国产噜噜噜| 97视频免费在线观看| 国内精自线i品一区202| 嫩草在线视频| 亚洲综合欧美在线一区在线播放| 2019国产在线| 色哟哟国产成人精品| 啪啪啪亚洲无码| 久无码久无码av无码| 四虎在线高清无码| 亚洲综合久久成人AV| 欧美综合中文字幕久久| 亚洲天堂日本| 精品国产99久久| 久草性视频| 青草国产在线视频| 一本色道久久88| 日日摸夜夜爽无码| a天堂视频在线| 99精品视频九九精品| 91区国产福利在线观看午夜 | 色综合激情网| 九九热精品免费视频| 亚洲男人的天堂久久香蕉网| 欧美一级专区免费大片| 国产精品久久久精品三级| 亚洲AⅤ无码国产精品| 国产在线拍偷自揄拍精品| 亚洲国产精品一区二区第一页免 | AV在线天堂进入| 天天做天天爱夜夜爽毛片毛片| 亚洲第一av网站| 啪啪永久免费av| 伊人国产无码高清视频| 久久精品国产精品青草app| 亚洲AV无码乱码在线观看代蜜桃| 欧美视频二区| 欧美乱妇高清无乱码免费| 亚洲av综合网| 国产迷奸在线看| 亚洲精品色AV无码看| 好紧好深好大乳无码中文字幕| 亚洲无码熟妇人妻AV在线| 亚洲日韩在线满18点击进入| 国产精品一老牛影视频| 高清无码手机在线观看| 国产你懂得| 一级毛片免费的| 国产美女在线观看| 亚洲免费播放| 午夜一区二区三区| 91麻豆精品国产91久久久久| 丁香五月亚洲综合在线 | 亚洲爱婷婷色69堂| 青青草国产免费国产| 精品视频一区在线观看| 国产精品亚洲一区二区三区在线观看 | 制服丝袜一区二区三区在线| 成人国产精品2021| 视频国产精品丝袜第一页| 国产视频你懂得| 国产精品私拍在线爆乳| 精品免费在线视频| 91久久大香线蕉| 2019国产在线| 国产欧美视频在线观看| 男人天堂伊人网| 亚洲第一成年人网站| av午夜福利一片免费看| 亚洲精品欧美重口| 97国产成人无码精品久久久| 99偷拍视频精品一区二区| 114级毛片免费观看| 免费播放毛片| 国产在线观看成人91| 成年看免费观看视频拍拍| 992tv国产人成在线观看| 国产精品区网红主播在线观看| 一级毛片免费观看不卡视频|