• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      太空?qǐng)鼍暗姆抡婕捌鋺?yīng)用效果

      2014-08-28 08:17:58莊建東曾勇進(jìn)
      關(guān)鍵詞:哈雷彗星行星太空

      莊建東 ,曾勇進(jìn)

      (集美大學(xué)計(jì)算機(jī)工程學(xué)院,福建 廈門 361021)

      太空?qǐng)鼍暗姆抡婕捌鋺?yīng)用效果

      莊建東 ,曾勇進(jìn)

      (集美大學(xué)計(jì)算機(jī)工程學(xué)院,福建 廈門 361021)

      利用Microsoft Visual Studio和OGRE圖形資源,以太陽(yáng)系行星運(yùn)動(dòng)為背景,開發(fā)一個(gè)行星運(yùn)行模擬系統(tǒng),探討構(gòu)建太空?qǐng)鼍暗挠?jì)算機(jī)模擬方法.采用的方法有:對(duì)于三維對(duì)象的靜態(tài),利用模型制作軟件(如3DMax)將實(shí)體對(duì)象制作出來(lái);對(duì)于三維對(duì)象的運(yùn)動(dòng),用適當(dāng)?shù)挠?jì)算方法進(jìn)行編程實(shí)現(xiàn).天體運(yùn)動(dòng)的仿真方法均通過(guò)編程得以模擬實(shí)現(xiàn),能夠自行在3D空間中運(yùn)轉(zhuǎn).實(shí)驗(yàn)表明所設(shè)計(jì)的仿真方法,利用3D圖形資源易于實(shí)現(xiàn).

      計(jì)算機(jī)動(dòng)畫;三維仿真;面向?qū)ο髨D形渲染引擎

      0 引言

      近幾年,隨著計(jì)算機(jī)軟硬件技術(shù)的不斷發(fā)展,太空?qǐng)鼍胺抡姘l(fā)展迅速,科研工作者對(duì)太空?qǐng)鼍暗姆抡孢M(jìn)行了大量的工作.盡管如此,構(gòu)建稍微復(fù)雜的太空?qǐng)鼍斑€處于理論研究階段,仿真方法和技術(shù)仍處于摸索之中,依然是一件非常耗時(shí)耗力的工作,許多計(jì)算機(jī)工作者為此費(fèi)盡了不少心血[1-2].

      從應(yīng)用的角度來(lái)看,太空?qǐng)鼍胺抡娣椒ㄐ枰鉀Q的內(nèi)容很多,已有一些報(bào)道,如太空?qǐng)鼍暗拇鎯?chǔ)方法[3]、場(chǎng)景復(fù)雜度的簡(jiǎn)化技術(shù)[4]、太空環(huán)境模擬的逼真性[5-7]和場(chǎng)景繪制的加速技術(shù)[8]等.雖然在簡(jiǎn)化場(chǎng)景的復(fù)雜度方面和場(chǎng)景繪制的加速方面,文獻(xiàn)[4]和文獻(xiàn)[8]分別做了一定的工作,但還可以做進(jìn)一步的研究工作,如縮減仿真的復(fù)雜度,提高運(yùn)行效率等.本文在參考文獻(xiàn)[5,7]的基礎(chǔ)上,以太陽(yáng)系行星運(yùn)動(dòng)模擬為背景,力求用簡(jiǎn)單的仿真方法和實(shí)現(xiàn)技術(shù)簡(jiǎn)化太空?qǐng)鼍皬?fù)雜度,快速完成場(chǎng)景的繪制.

      1 太空?qǐng)鼍暗姆抡婕霸O(shè)計(jì)方法

      太空?qǐng)鼍笆謴?fù)雜,本文主要從行星、衛(wèi)星和哈雷彗星的仿真及設(shè)計(jì)方法去研究和實(shí)現(xiàn)太空?qǐng)鼍暗姆抡?

      1.1 行星的運(yùn)轉(zhuǎn)仿真

      1)行星的構(gòu)建

      為設(shè)計(jì)方便,利用模型制作軟件如3ds Max 或網(wǎng)上資源下載將各個(gè)實(shí)體對(duì)象如行星的模型制作出來(lái),并貼上紋理,加上效果,便于程序設(shè)計(jì)者可以將主要精力放在實(shí)體的運(yùn)動(dòng)環(huán)境設(shè)計(jì)上.對(duì)于制作出的模型,可以將其導(dǎo)出,以便在程序開發(fā)中得以應(yīng)用[9].

      以O(shè)GRE為例,首先通過(guò) Ogre::Entity* entity = mSceneManager->createEntity(name, mesh);將實(shí)體進(jìn)行聲明,然后創(chuàng)建Ogre::SceneNode用于后續(xù)的操作.主要代碼如下:

      Ogre::SceneNode* Demo::createStar(String name,String mesh) {

      Ogre::Entity* entity = mSceneManager->createEntity(name, mesh); // 實(shí)體進(jìn)行聲明

      Ogre::SceneNode* node = mSceneManager-> getRootSceneNode()->createChildSceneNode(name);

      // 創(chuàng)建Ogre::SceneNode

      node->attachObject(entity);

      return node;

      }

      2)行星公轉(zhuǎn)的設(shè)計(jì)

      在實(shí)體加載之后,通過(guò)修改實(shí)體在OGRE局部坐標(biāo)系下的位置來(lái)實(shí)現(xiàn)其移動(dòng).為達(dá)到技術(shù)的簡(jiǎn)單性以及仿真的真實(shí)性,可將其運(yùn)動(dòng)的過(guò)程仿真編寫為圓環(huán).由于八大行星繞太陽(yáng)運(yùn)動(dòng)的偏心率較小,因此可以近似看成他們?cè)谕凰缴线M(jìn)行運(yùn)動(dòng),坐標(biāo)y可以為零(如圖1所示).此運(yùn)動(dòng)的算法為:x=r*cos((2π/T)*time),z=r*sin((2π/T)*time),其中T為運(yùn)行周期,time為運(yùn)行參數(shù).

      通過(guò)間斷地改變時(shí)間time,計(jì)算出某一時(shí)刻行星的所在位置,再通過(guò)node->setPosition(x,0,z),修改當(dāng)前行星的位置,從而使之運(yùn)轉(zhuǎn)起來(lái).

      3) 行星自轉(zhuǎn)的設(shè)計(jì)

      由于行星在進(jìn)行公轉(zhuǎn)的同時(shí),自身還繞行星的轉(zhuǎn)軸進(jìn)行自轉(zhuǎn),因此,需要采用相關(guān)代碼去實(shí)現(xiàn)這一過(guò)程.在編程中加入node-> yaw(Ogre::Radian(0.1)),這樣行星就能繞著y軸進(jìn)行自轉(zhuǎn).行星最終的運(yùn)動(dòng)結(jié)果就是行星公轉(zhuǎn)和自轉(zhuǎn)的組合變化.

      1.2 行星的衛(wèi)星的運(yùn)轉(zhuǎn)仿真

      考慮到行星除了做公轉(zhuǎn)和自轉(zhuǎn)外,其衛(wèi)星還要繞其旋轉(zhuǎn).衛(wèi)星的運(yùn)轉(zhuǎn)應(yīng)包括兩部分,衛(wèi)星繞行星的公轉(zhuǎn)和衛(wèi)星的自轉(zhuǎn),最終結(jié)果是兩者的組合變化.

      由于月球繞著轉(zhuǎn)的不是坐標(biāo)原點(diǎn)而是某一個(gè)移動(dòng)中的行星,因此需要記錄行星當(dāng)前的坐標(biāo),并通過(guò)平移變換、旋轉(zhuǎn)變換的組合變換來(lái)完成.其主要過(guò)程為:將移動(dòng)中的行星的坐標(biāo)位置通過(guò)平移變換改變?yōu)樽鴺?biāo)原點(diǎn)的位置,然后進(jìn)行繞坐標(biāo)原點(diǎn)(行星的位置)進(jìn)行旋轉(zhuǎn)變換,將旋轉(zhuǎn)變換后的結(jié)果再通過(guò)平移變換反方向平移到行星原來(lái)的位置.其主要算法代碼為:

      x=(r*sin(2*π*time/T))+SatelliteR*sin(2*π*SatelliteTime/SatelliteT),

      y=0,

      z=(r*cos(2*π*time/T))+SatelliteR*cos((2*π*SatelliteTime/SatelliteT),

      其中:r為月球繞著移動(dòng)中的行星旋轉(zhuǎn)的半徑,time為月球繞著移動(dòng)中的行星旋轉(zhuǎn)的時(shí)間,T為月球繞著移動(dòng)中的行星旋轉(zhuǎn)的周期,SatelliteTime為行星公轉(zhuǎn)運(yùn)行的時(shí)間,SatelliteT為行星公轉(zhuǎn)運(yùn)行的周期,SatelliteR為行星公轉(zhuǎn)的半徑.

      1.3 哈雷彗星的運(yùn)轉(zhuǎn)仿真

      對(duì)于太陽(yáng)系中的哈雷彗星,可以采用基于OGRE的粒子系統(tǒng),通過(guò)OGRE腳本,將哈雷彗星的粒子效果編寫成粒子腳本,并通過(guò)mSceneManager-> createParticleSystem(“halei”,“Examples/halei”)); 調(diào)入粒子腳本[10].由于調(diào)用粒子腳本后的只是一個(gè)不動(dòng)的粒子發(fā)送器,因此需要設(shè)計(jì)哈雷彗星運(yùn)動(dòng)的軌跡[11].

      主要算法為:

      再添加圖形變換:

      使其在3D的坐標(biāo)軸里繞y軸順時(shí)針旋轉(zhuǎn).

      為使其運(yùn)行的觀賞視角更好一些,本文在實(shí)現(xiàn)上利用幾顆微小粒子形成軌道圖,使這些行星在相應(yīng)軌道進(jìn)行公轉(zhuǎn).

      1.4 太陽(yáng)發(fā)光的仿真

      由于太陽(yáng)是一個(gè)發(fā)光體,其行星應(yīng)該是一面被照亮,一面處于陰影狀態(tài).并在行星的背光區(qū)域出現(xiàn)陰影,面對(duì)著光區(qū)有光照表現(xiàn).為簡(jiǎn)單實(shí)現(xiàn)起見,本文對(duì)于太陽(yáng)運(yùn)轉(zhuǎn)的區(qū)域設(shè)為長(zhǎng)方體,如圖2所示,太陽(yáng)位于其內(nèi)部,在長(zhǎng)方體的頂點(diǎn)位置設(shè)立一個(gè)個(gè)LT_POINT型的電光,光向四周發(fā)散將全場(chǎng)照亮[12-13].

      2 計(jì)算機(jī)仿真的實(shí)驗(yàn)結(jié)果

      實(shí)驗(yàn)中,首先使用Autodesk 3ds Max 2010建立了天體運(yùn)動(dòng)中各個(gè)行星的模型,并貼上紋理,加上諸如光照等效果.為了避免所建立的模型效果不佳,實(shí)驗(yàn)中部分采用了通過(guò)網(wǎng)上資源下載相應(yīng)的模型,并細(xì)致地分析和研究下載的模型,揣摩其技術(shù)上的實(shí)現(xiàn),并將有關(guān)技術(shù)方法應(yīng)用到本系統(tǒng),以便達(dá)到逼真的效果.在繪制星空視景時(shí),為了解決實(shí)時(shí)更新的紋理不協(xié)調(diào)和紋理銜接不夠好的問(wèn)題,在具體實(shí)現(xiàn)設(shè)計(jì)時(shí)采用了自行構(gòu)造紋理的方法,并通過(guò)實(shí)驗(yàn),驗(yàn)證了該方法實(shí)現(xiàn)的效果良好.然后重點(diǎn)研究行星公轉(zhuǎn)與自轉(zhuǎn)模擬、行星的衛(wèi)星運(yùn)轉(zhuǎn)模擬、哈雷彗星運(yùn)動(dòng)模擬和太陽(yáng)發(fā)光的設(shè)計(jì)方法及其利用圖形資源實(shí)現(xiàn)的方法.最后使用Microsoft Visual Studio和OGRE,架構(gòu)整個(gè)程序系統(tǒng),避免了系統(tǒng)可重用性差和可維護(hù)性差等不良因素.實(shí)驗(yàn)結(jié)果如圖3—圖5所示.圖3是利用畫橢圓的方法實(shí)現(xiàn)的哈雷彗星的運(yùn)動(dòng)截圖,圖4是利用圖形變換實(shí)現(xiàn)的八大行星的運(yùn)動(dòng)截圖,圖5是太空?qǐng)鼍斑\(yùn)行模擬的截圖.

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

      太空?qǐng)鼍暗哪M是計(jì)算機(jī)圖形學(xué)中最具有挑戰(zhàn)性的研究方向之一,其繪制方法是建立天空虛擬場(chǎng)景的關(guān)鍵技術(shù).本文以太陽(yáng)系仿真及運(yùn)行的設(shè)計(jì)為背景,從計(jì)算機(jī)仿真的角度,探究天體運(yùn)動(dòng)的仿真與運(yùn)動(dòng)算法設(shè)計(jì)、天體運(yùn)動(dòng)軌道的算法設(shè)計(jì)、哈雷彗星的制作及其運(yùn)行軌道的算法設(shè)計(jì).最終通過(guò)編程實(shí)現(xiàn)了如圖5所示的太空?qǐng)鼍胺抡嫦到y(tǒng).實(shí)驗(yàn)表明文中所述的仿真方法得當(dāng),易于利用3D圖形資源編程實(shí)現(xiàn),仿真效果良好,具有一定參考價(jià)值.在太空?qǐng)鼍胺抡胬碚撗芯考凹夹g(shù)實(shí)現(xiàn)方面,本文僅做了一些初步的研究,有許多問(wèn)題尚待進(jìn)一步研究.

      [1]段雪峰.淺談3D Studio Max中的粒子系統(tǒng)[J].計(jì)算機(jī)時(shí)代,2002(11):36.

      [2]甄杰,鄭力明.基于OGRE的動(dòng)漫制作引擎設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2011,27(2):160-162.

      [3]宋毅軍,楊格蘭,田尊華.太空環(huán)境建模研究與實(shí)現(xiàn)[J].計(jì)算機(jī)仿真,2010,27(1):40-43.

      [4]鄒海,徐軍,褚維翠.基于OpenGL的三維地形的模擬[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(6):239-241.

      [5]劉相君,晁建剛,何寧.太空?qǐng)鼍肮庹辗抡娣椒ㄑ芯縖J].計(jì)算機(jī)仿真,2011,28(11):82-87.

      [6]戴國(guó)俊,劉玉慶.近地太空環(huán)境的建模與仿真[J].計(jì)算機(jī)仿真,2011,28(11):26-30.

      [7]王成,戴樹嶺.實(shí)時(shí)仿真中的逼真虛擬地球?qū)崿F(xiàn)[J].北京航空航天大學(xué)學(xué)報(bào),2011,37(8):1034-1038.

      [8]許列,韋群,王玨.基于OSG的三維場(chǎng)景管理及實(shí)時(shí)繪制技術(shù)研究與實(shí)現(xiàn)[J].裝備學(xué)院學(xué)報(bào),2011,22(3):100-104.

      [9]戴唐云.基于3DSMAX/OGRE的火箭視景仿真系統(tǒng)的研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2007.

      [10]周海波,陳福民,李莉婭.基于OGRE粒子系統(tǒng)的煙花模擬[J].計(jì)算機(jī)應(yīng)用與軟件, 2008,25(10):18-20.

      [11]Ogre粒子編輯器教程[EB/OL][2009-08-02].http://hghhe.blog.163.com/blog/static/3237756820097282715118/.

      [12]三維圖形渲染庫(kù)OGRE 3D[EB/OL][2013-05-07].http://www.oschina.net/p/ogre3d/similar_projects?lang=22&sort=time.

      [13]楊波.基于OGRE圖形渲染引擎的視景仿真技術(shù)的研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2006.

      (責(zé)任編輯 朱雪蓮 英文審校 黃振坤)

      Space Scene Imitating and Its Application Results

      ZHUANG Jian-Dong,ZENG Yong-Jin

      (Computer Engineering College,Jimei University,Xiamen 361021,China)

      Based on planetary motion in the solar system as the background, this paper is to do some theoretical discussions for computer simulation method of space scene construction.Based on the Microsoft Visual Studio and OGRE (Object-Oriented Graphics Rendering Engine) graphical resources,a planet running simulation system is developed.The method is using model making software such as 3DMax to produce entity object for static three-dimensional objects and using the method for calculating the appropriate programming implementation for 3D movement of objects. In this paper, the imitating method which is describing the object movement through programming to simulate implementation can work in 3D space on its own. Experiments show that the imitating method of design has been applied in space scene simulation.It is shown that the method is proper, easy to implement using 3D graphics resources.

      computer imitating; three-dimension imitating;Object-oriented Graphics Rendering Engine(OGRE)

      2013-05-21

      2013-11-25

      莊建東(1963—),男,副教授,從事計(jì)算機(jī)圖形學(xué)、計(jì)算機(jī)輔助設(shè)計(jì)研究.

      1007-7405(2014)02-0157-04

      TP 391.414

      A

      猜你喜歡
      哈雷彗星行星太空
      上太空,安個(gè)“家”
      流浪行星
      追光者——行星
      行星呼救
      讀者(2018年20期)2018-09-27 02:44:48
      難得一見的哈雷彗星
      行星
      太空遇險(xiǎn)
      哈雷與哈雷彗星
      太空探索(2013年9期)2013-07-13 00:32:48
      同來(lái)同往
      讀者(2010年24期)2010-07-05 23:40:12
      暢游太空
      意林(2010年15期)2010-05-14 16:48:48
      宿松县| 柯坪县| 澄江县| 出国| 肃北| 灵川县| 汤阴县| 浦东新区| 鄂托克旗| 丽江市| 攀枝花市| 淄博市| 秦皇岛市| 柳江县| 五峰| 靖宇县| 祁东县| 岳池县| 银川市| 博湖县| 布尔津县| 洛阳市| 林西县| 安泽县| 电白县| 明星| 桂阳县| 台湾省| 永州市| 白玉县| 澳门| 厦门市| 博罗县| 嘉荫县| 景宁| 常山县| 静宁县| 隆回县| 清苑县| 江永县| 忻州市|