国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于OpenGL和3DSMAX的船舶綜合電力推進系統(tǒng)虛擬建模技術(shù)

2015-01-13 03:13長春建筑學(xué)院電氣信息學(xué)院
電子世界 2015年21期
關(guān)鍵詞:編程虛擬現(xiàn)實船舶

長春建筑學(xué)院電氣信息學(xué)院 馬  瑩

ELECTRONICS WORLD?技術(shù)交流

基于OpenGL和3DSMAX的船舶綜合電力推進系統(tǒng)虛擬建模技術(shù)

長春建筑學(xué)院電氣信息學(xué)院 馬 瑩

本文基于三維建模軟件OpenGL和3DSMAX,在個人PC機上把發(fā)電機、同步電動機和螺旋槳作為船舶綜合電力推進系統(tǒng)主要的三維模型進行讀取和顯示。對于虛擬現(xiàn)實仿真,三維模型的讀取是很重要的一個部分,由于3DS是一種非常普遍的數(shù)據(jù)結(jié)構(gòu)格式,以3DS格式保存的三維圖形文件非常豐富,所以將每個模型的格式保存為3DS格式;同時本文也簡要地介紹了3DS文件的組成。采用VC++6.0和OpenGL聯(lián)合編程構(gòu)建程序框架,調(diào)入3DS文件,以實現(xiàn)模型在框架中的三維顯示。從而為實現(xiàn)虛擬現(xiàn)實仿真打下堅實的基礎(chǔ)。

OpenGL;三維建模;3DSMAX;讀?。伙@示

所謂“虛擬現(xiàn)實”(VR)是人的想象力和電子學(xué)等科技相互結(jié)合而產(chǎn)生的一項綜合技術(shù)。通過傳感系統(tǒng)和環(huán)境相互聯(lián)系,進而感受與實際情況類似的場景。這種采取計算機仿真方法的技術(shù)卻與傳統(tǒng)的模擬仿真系統(tǒng)以及繪圖系統(tǒng)存在一定的差異。它具有三個特征:自主性、交互性和沉浸感。

對于船舶綜合電力推進系統(tǒng)猶如船舶的心臟,它的平穩(wěn)運行對于船舶來說至關(guān)重要;所以監(jiān)測整個電力推進系統(tǒng)在設(shè)計之初能否安全運行顯得十分關(guān)鍵。采用虛擬仿真對船舶裝備產(chǎn)品研發(fā)或者評估大大減少一些不必要的困難,通過這種技術(shù)可以預(yù)先確定最優(yōu)方案并進行設(shè)計,不必在試驗后才確定是否滿足預(yù)想的要求。所以對于船舶綜合電力推進系統(tǒng)的虛擬現(xiàn)實仿真就顯得十分必要。

虛擬現(xiàn)實仿真的基礎(chǔ)就是對三維模型的建立、讀取和顯示,沒有這些步驟,虛擬現(xiàn)實仿真就無從談起??梢哉f三維模型的讀取和顯示是虛擬現(xiàn)實仿真的基礎(chǔ)。

1  模型的設(shè)計思路

1.1 OpenGL概述

OpenGL是一種應(yīng)用程序編程接口API(Application Programming Interface),可以用來創(chuàng)建實時的3D圖像。OpenGL要想發(fā)揮本身的效果必須同一些程序設(shè)計語言聯(lián)合在一起,其本身不是編程語言。具備高效的運行速度以及高度的可移植性。微軟基本類庫MFC(Microsoft Foundation Classes)是PC機上Windows操作系統(tǒng)中經(jīng)常用到的應(yīng)用程序框架,它提供可視窗口程序的界面和基本輸入輸出功能,彌補了OpenGL的不足。因此OpenGL與MFC相結(jié)合開發(fā)3D圖形軟件就成為優(yōu)勢互補的理想工具。

1.2 3DSMAX軟件介紹

因為3DSMAX建立的模型簡單且直觀,所以船舶綜合電力推進系統(tǒng)中的模塊通過此軟件進行建模。但是此軟件本身也存在一定的弊端,利用OpenGL圖形庫的繪制函數(shù)構(gòu)建的模型能夠克服動態(tài)模型控制的困難,而OpenGL在建模時需要更多的編程量,使建立的模型直觀性上比較粗糙。所以利用專業(yè)三維建模軟件3DSMAX與OpenGL程序相結(jié)合進行控制。本文中就是采用這種方法,即先用3DS MAX三維建模軟件構(gòu)建船舶綜合電力推進系統(tǒng)各個模塊主要部件的三維模型,保存成3DS格式,利用OpenGL編程并在VC界面下顯示,以實現(xiàn)人機交互控制。

2  虛擬化的設(shè)計流程

由于OpenGL軟件本身所存在的缺陷,所以通過利用3DSMAX軟件建立船舶綜合電力推進系統(tǒng)主要部件模型,然后將其保存為3DS格式,再將每個模型導(dǎo)人到以VC++和OpenGL聯(lián)合開發(fā)的界面中,并以VC++和OpenGL為開發(fā)工具進行編程實現(xiàn)仿真。

OpenGL實現(xiàn)虛擬圖像可以后臺緩存中執(zhí)行繪制指令,又可在前臺緩存中顯示圖像,即雙緩存功能來實現(xiàn)圖形的變化,以達到理想的動畫畫面。

2.1 模型的建立與轉(zhuǎn)換

利用3DSMAX創(chuàng)建船舶綜合電力推進系統(tǒng)主要部件模型,主要是通過多邊形的擠出和倒角等功能完成建模。應(yīng)用3DSMAX軟件搭建出的文件會被系統(tǒng)默認為*.max,要想能夠在之后的設(shè)計中對模型文件的導(dǎo)入和導(dǎo)出,要把模型文件改為*.3ds格式。為了減少OpenGL對復(fù)雜模型的建模時間,要把3DS文件直接導(dǎo)入到OpenGL場景中。

2.2 三維模型的讀入

將3DSMAX繪制成的三維模型.max格式轉(zhuǎn)換成3DS格式,3DS格式文件的讀入大致可以分為兩個大部分:文件內(nèi)容的讀入和3D對象的繪制。

首先定義一系列的結(jié)構(gòu),如對象的材質(zhì)、位置矢量、關(guān)鍵幀等,同時定義了兩個類CTriObject和CTriList,CTriObject主要用于處理3DS文件中的各種對象,而CTriList主要用于處理對象序列。定義了一個3DS文件的讀入類C3dsReader,主要將3DS文件中的內(nèi)容讀入到對象中。然后通過CTriObject對圖形進行繪制。

3  三維模型的顯示

經(jīng)過以上的步驟進行,讀入本文主要考慮的發(fā)電機、同步電動機、螺旋槳組成的小型系統(tǒng),并顯示如圖1所示。

圖1  顯示在框架中的三維模型

4  結(jié)論

虛擬現(xiàn)實仿真在船舶綜合電力推進系統(tǒng)中的應(yīng)用不同于以往,改變了從前只能用二維圖形表示的歷史。虛擬現(xiàn)實場景一般有兩種方法可以生成,第一通過基本代碼編程開發(fā)的方法直接生成,但工作量較大,不適用于對復(fù)雜模型的建立。第二通過目前已有的三維軟件來生成,但在操作控制上具有一定的局限性。OpenGL在Visual C++下能夠?qū)μ摂M現(xiàn)實場景進行交互式控制,對于復(fù)雜模型建立使用3DS Max,然后在Visual C++和 OpenGL聯(lián)合編程的框架中讀取模型文件并使用顯示該模型,這樣就同時利用了兩種方法的優(yōu)點。本文介紹了用三維建模軟件3DS Max建立模型,利用在Visual C++和OpenGL聯(lián)合編程的框架讀取和顯示三維模型的方法,為以后虛擬現(xiàn)實仿真能順利的進行打下良好的基礎(chǔ)。

[1]OpenGL體系結(jié)構(gòu)審核委員會著.鄧鄭祥譯.OpenGL編程指南(第四版)[M].北京:人民郵電出版社,2005.

[2]Samuel R.Buss著,唐龍等譯.3D計算機圖形學(xué)(OpenGL版)[M].北京:清華大學(xué)出版社,2006.

[3]安杰爾.OpenGL程序設(shè)計指南[M].北京:清華大學(xué)出版社,2005.

[4]和平鴿工作室.OpenGL高級編程與可視化系統(tǒng)開發(fā)高級編程篇(第二版)[M].北京:中國水利水電出版社,2006.

[5]孫鑫.Visual C++6.0深入詳解[M].北京:電子工業(yè)出版社,2006.

[6]姚家奕,段強,劉嘉偉,等.3dsmax2010中文版基礎(chǔ)與實例教程[M].北京:機械工業(yè)出版社,2011.

[7]張勇毅.3DSMAX9中文版課程設(shè)計案例精編[M].北京:中國水利水電出版社,2009.

項目來源:中央高校基本科研業(yè)務(wù)費專項資金資助(HEUCFT1005)。

馬瑩(1988—),女,吉林長春人,碩士,助教,工作于長春建筑學(xué)院,研究方向:電氣控制。

猜你喜歡
編程虛擬現(xiàn)實船舶
《船舶》2022 年度征訂啟事
編程,是一種態(tài)度
元征X-431實測:奔馳發(fā)動機編程
編程小能手
紡織機上誕生的編程
船舶!請加速
BOG壓縮機在小型LNG船舶上的應(yīng)用
REALITY BITES
船舶壓載水管理系統(tǒng)
風口上的虛擬現(xiàn)實