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

        ?

        基于OpenGL與3DS Max的三維場(chǎng)景建模

        2012-03-29 14:07:55王新波朱維杰
        電子科技 2012年1期
        關(guān)鍵詞:列表建模圖形

        王新波,朱維杰

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

        目前三維應(yīng)用已涉及建筑、產(chǎn)品設(shè)計(jì)、醫(yī)學(xué)、地球科學(xué)、流體力學(xué)等各個(gè)領(lǐng)域。要模擬這些真實(shí)的三維場(chǎng)景,可以先利用專業(yè)建模軟件3DS Max,建立需要的模型,然后結(jié)合Visual Studio 2005開發(fā)環(huán)境直接獲取3DS模型數(shù)據(jù),在OpenGL中進(jìn)行繪制交互控制。這種方法一方面可以利用專業(yè)建模軟件3DS Max的優(yōu)點(diǎn),較快地建立復(fù)雜模型,另一方面利用OpenGL的編程接口對(duì)建立的模型進(jìn)行實(shí)時(shí)繪制和交互控制,降低建模時(shí)間,加快系統(tǒng)開發(fā)進(jìn)程。

        1 OpenGL技術(shù)與3DS模型

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

        2 3DS Max建立模型

        3DS Max提供了高級(jí)的三維建模指令,它豐富的建模技術(shù)能夠較為方便和真實(shí)地表現(xiàn)復(fù)雜、精細(xì)的模型。它在業(yè)產(chǎn)品設(shè)計(jì)、數(shù)字化技術(shù)、仿真系統(tǒng)等諸領(lǐng)域中得到廣泛應(yīng)用。在3DS Max中有著多種建模方法,但其核心共3種:多邊形建模、面片建模、Nurbs建模。由于每種建模方法都有自己的優(yōu)勢(shì)和不足,因此,必須在充分了解這些優(yōu)勢(shì)和不足之后,才能在實(shí)際工作中揚(yáng)長(zhǎng)避短。如由較大的直邊和平面構(gòu)成的對(duì)象,還有建筑模型,如墻、床、門、甚至是家具等用多邊形建模最有效。面片建模多用于光滑表面建模。NURBS建模方法的主要優(yōu)點(diǎn)是具有多邊形建模方法及編輯的靈活性,但不依賴于復(fù)雜網(wǎng)絡(luò)細(xì)化表面。在這方面,他更像使用面片表面。建模時(shí)可以只使用曲線定義表面。這些表面在窗口中看起來(lái)細(xì)節(jié)較少,但在渲染時(shí)卻有更高層次的復(fù)雜度。如果能力具備,應(yīng)該盡可能全面的掌握3DS Max的不同建模方法,因?yàn)樵谕粓?chǎng)景或?qū)ο蠼M中,不同的建模方法是互補(bǔ)的。

        3 三維場(chǎng)景的實(shí)現(xiàn)

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

        (1)讀取3DS模型。

        3DS文件采用塊結(jié)構(gòu)的組織方式,并且塊與塊之間存在嵌套關(guān)系,所以對(duì)3DS文件中的三維模型數(shù)據(jù)的讀取方式是從模型文件中讀取一個(gè)塊,根據(jù)塊ID來(lái)判斷塊的功能信息,然后根據(jù)塊ID進(jìn)行相應(yīng)處理。在塊處理過(guò)程中,比如主編輯塊,也是通過(guò)相同的方式,讀取一個(gè)子塊,判斷塊信息,再進(jìn)行相應(yīng)的數(shù)據(jù)提取和存放處理。

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

        在編寫OpenGL程序時(shí),遇到重復(fù)的工作,可以創(chuàng)建一個(gè)顯示列表,把重復(fù)的工作裝入,并在需要的地方調(diào)用這個(gè)顯示列表。使用顯示列表一般有4個(gè)步驟:分配顯示列表編號(hào)、創(chuàng)建顯示列表、調(diào)用顯示列表、銷毀顯示列表。

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

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

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

        (6)實(shí)現(xiàn)3DS模型在三維場(chǎng)景中按對(duì)應(yīng)大小、方向、位置的放置,調(diào)用顯示列表,完成模型的繪制。

        4 結(jié)束語(yǔ)

        3DS Max建模軟件直觀、方便易學(xué),可操作性強(qiáng),能夠制作出高質(zhì)量模型,并提高建模效率。采用OpenGL技術(shù)與3DS Max軟件的方式來(lái)構(gòu)建虛擬三維空間的方法,克服了OpenGL缺乏復(fù)雜三維模型的創(chuàng)建能力,使得使用OpenGL的簡(jiǎn)單函數(shù)也可以輕松地創(chuàng)建出復(fù)雜精美的三維模型。同時(shí)OpenGL的實(shí)時(shí)性的交互能力,彌補(bǔ)了3DS Max缺乏交互性的缺點(diǎn)。而且,OpenGL還提供了模型變換、紋理貼圖、顯示列表等技術(shù),提高了Opengl對(duì)三維圖形的控制能力,優(yōu)化了三維場(chǎng)景的處理速度。OpenGL的靈活性、實(shí)時(shí)交互性結(jié)合3DS MAX強(qiáng)大的創(chuàng)建模型的能力,這種便利高效的組合,使其在虛擬現(xiàn)實(shí)和計(jì)算機(jī)仿真中得到了廣泛應(yīng)用。

        [1]呂??苄∑?實(shí)戰(zhàn)OpenGL三維可視化系統(tǒng)開發(fā)與源碼精解[M].北京:電子工業(yè)出版社,2009.

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

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

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

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

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

        猜你喜歡
        列表建模圖形
        巧用列表來(lái)推理
        學(xué)習(xí)運(yùn)用列表法
        聯(lián)想等效,拓展建?!浴皫щ娦∏蛟诘刃?chǎng)中做圓周運(yùn)動(dòng)”為例
        擴(kuò)列吧
        基于PSS/E的風(fēng)電場(chǎng)建模與動(dòng)態(tài)分析
        電子制作(2018年17期)2018-09-28 01:56:44
        不對(duì)稱半橋變換器的建模與仿真
        分圖形
        找圖形
        圖形變變變
        圖形配對(duì)
        亚洲av套图一区二区| 午夜毛片不卡免费观看视频| 亚洲乱亚洲乱少妇无码99p | 东京热加勒比在线观看| 国产精品日本中文在线| 日日碰日日摸日日澡视频播放| 爽爽精品dvd蜜桃成熟时电影院| 中文字幕乱码人妻无码久久麻豆| 国产av普通话对白国语| 亚洲中文字幕剧情类别| 粗大的内捧猛烈进出视频| 国产曰批免费视频播放免费s| 中文字幕一二区中文字幕| 国产日产在线视频一区| 欧美午夜刺激影院| 欧美黄色免费看| 国内偷拍视频一区二区| 白白色白白色视频发布| 狠狠色噜噜狠狠狠888米奇视频| 日本一区二区啪啪视频| 亚洲偷自拍国综合第一页国模| 色婷婷一区二区三区四区成人网 | 久久av无码精品一区二区三区| 在线看不卡的国产视频| 亚洲一区二区在线观看网址 | 国产精品视频一区国模私拍| 亚洲24小时在线免费视频网站| 一区二区三区四区在线观看日本| 人妻熟女一区二区三区app下载| 欧美成人一级视频| 手机在线免费av网址| 国产av无码专区亚洲av男同| 最近日本免费观看高清视频| 成年女人在线观看毛片| 国产在线观看女主播户外| 在线播放真实国产乱子伦| 国产女人18毛片水真多| 亚洲成av人片在线天堂无| 国产一区二区视频免费在| 久久国产热这里只有精品| 国产欧美日本亚洲精品一4区|