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

?

基于OpenGL噴泉粒子系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2016-05-23 10:00劉韜
科技視界 2016年11期
關(guān)鍵詞:粒子系統(tǒng)噴泉

劉韜

【摘 要】虛擬場(chǎng)景中的自然景物模擬已經(jīng)成為計(jì)算機(jī)圖形學(xué)的一個(gè)研究熱點(diǎn)。使用粒子系統(tǒng)能夠相對(duì)充分地體現(xiàn)自然景觀中模糊物體的隨機(jī)性和動(dòng)態(tài)性,得到良好的模擬效果。本文結(jié)合實(shí)際情況,在深入分析粒子系統(tǒng)理論基礎(chǔ)上,結(jié)合Windows XP和Microsoft VC++6.0編譯環(huán)境為開發(fā)平臺(tái),基于OpenGL圖形庫(kù)設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)用于常見自然景物模擬的3D粒子特效系統(tǒng),完成了噴泉的模擬。

【關(guān)鍵詞】粒子系統(tǒng);噴泉;OpenGL

【Abstract】Nature sceneries simulation in virtual scene has been research highlight of Computer Graphics. The particle system can sufficiently reflect the dynamicity and randomness of the fuzzy objects which can simulate these complex three-dimensional nature sceneries.So,the thesis developed a three-dimensional particle special effects system for usual nature sceneries simulation.Which used Windows XP and Microsoft VC++6.0 compiler environment respectively as development platform,OpenGL as its graphics library,and particle system theory as its theoretical basis.It finished the simulatons of nature sceneries fountains.

【Key words】Particle system; Spraying fountains; OpenGL

0 引言

本文重點(diǎn)研究了OpenGL 三維圖形開發(fā)一些關(guān)鍵技術(shù)的實(shí)現(xiàn)方法與步驟。通過(guò)OpenGL 與VC++6.0 編程開發(fā)實(shí)現(xiàn)了三維噴泉場(chǎng)景模型的一個(gè)實(shí)例,在實(shí)例中綜合運(yùn)用燈光、材質(zhì)及紋理效果構(gòu)造了一個(gè)逼真的三維噴泉場(chǎng)景模型場(chǎng)景,并實(shí)現(xiàn)了一些常用的交互操作功能。

1 噴泉粒子的屬性具體分析

下面,將結(jié)合噴泉模型來(lái)介紹噴泉粒子的各個(gè)屬性:

(1)噴泉粒子的空間位置屬性

噴泉粒子系統(tǒng)中所模擬的噴泉具有特定的位置,并非要布滿整個(gè)可視區(qū)域。日常生活中我們所看見的噴泉通常都是往上噴出,并以拋物線的形式噴射。因此,噴泉所噴射出的每一顆粒子都是相對(duì)均勻的分布在一個(gè)圓柱體的內(nèi)。噴泉的噴頭一開始噴射出來(lái)的是豎直向上的水柱,因此需要通過(guò)相應(yīng)的算法在VC++6.0平臺(tái)上利用OpenGL的代碼 將噴泉粒子初始化,并且分布設(shè)定的圓柱體內(nèi),為了使粒子產(chǎn)生的位置看起來(lái)是從同一個(gè)一個(gè)中心點(diǎn)噴出的,設(shè)定的圓柱體的軸心必須與顯示空間的y軸平行。噴泉粒子分布如圖1所示。

(2)噴泉粒子的運(yùn)動(dòng)屬性

噴泉的水柱通常是從噴頭里面垂直向上的噴出來(lái)的,但是每一顆粒子在虛擬系統(tǒng)里面又是需要配置相應(yīng)的重力屬性,這要它才能夠像現(xiàn)實(shí)中的水粒子,受到重力的作用,落到地面。每顆粒子從噴頭噴射出都做自由落體運(yùn)動(dòng),直到降落到水池中完成循環(huán)。每顆粒子的初始化后的速度為:

公式中的R和r分別為噴泉粒子系統(tǒng)設(shè)定的圓柱體的半徑和每顆噴泉粒子到圓柱體中心軸的距離,θ為散射角,如圖2所示。

是變化不確定的速度,由相應(yīng)的算法通過(guò)代碼的確定的速度與方向。

(3)噴泉粒子的生存屬性

噴泉的粒子也是存在生存屬性的,可以通過(guò)循環(huán)的算法來(lái)控制粒子的生存屬性,例如噴泉粒子在粒子系統(tǒng)中正常的運(yùn)動(dòng),隨著時(shí)間的推移,粒子的生命周期到期時(shí)就自然消亡,并且系統(tǒng)自動(dòng)刪除死亡粒子;還有就是粒子的運(yùn)動(dòng)范圍超出了噴泉粒子系統(tǒng)所設(shè)定的圓柱體的范圍,則粒子就自然消亡,系統(tǒng)自動(dòng)刪除死亡粒子。

2 噴泉粒子的運(yùn)動(dòng)軌跡分析

噴泉粒子在噴泉粒子系統(tǒng)中運(yùn)動(dòng)的力學(xué)分析,每顆粒子就如同現(xiàn)實(shí)中一樣,在垂直方向是受到地球引力和空氣阻力的合力,次合力的方向向下,而在水平方向可以通過(guò)風(fēng)力來(lái)影響每顆粒子的運(yùn)動(dòng)方向??梢愿鶕?jù)風(fēng)力的隨機(jī)性,在x軸方向和z軸方向上進(jìn)行力學(xué)分解,然后通過(guò)算法和代碼來(lái)實(shí)現(xiàn)系統(tǒng)中風(fēng)力的不確定性。

為了準(zhǔn)確的描述噴泉粒子運(yùn)動(dòng)可以通過(guò)以下公式的解釋:

每顆粒子速度的方向由P和Y表示,V是每顆粒子的最初速度,R則是[0,1]之間的任意值,Var是每顆粒子速度的變化范圍,Rand(Var)是取[-Var.Var]內(nèi)的任意速度值,分別是每顆粒子的初速度的方向與X,Y,Z軸之間的夾角,θ是每顆粒子所散射的角度,Rand 取 內(nèi)的任意角度。

通過(guò)對(duì)每顆粒子的力學(xué)分析,粒子所受合力是由地球引力G、空氣阻力f以及風(fēng)力w的合力,在合力的作用下,每顆粒子的位置和速度都在隨機(jī)的,在t1+t2這段時(shí)間內(nèi)每顆粒子的速度v(vx,vy,vz)和空間位置p(px,py,pz)分別表示為:

式中,v(vx,vy,vz)表示t時(shí)刻噴泉粒子的速度;p(px,py,pz)表示t時(shí)刻噴泉粒子的位置,WinV表示風(fēng)力的速度,α表示水平方向上風(fēng)向的角度,f表示空氣的浮力,Rand(θ)是隨機(jī)函數(shù),表示風(fēng)速干擾量。

3 噴泉粒子系統(tǒng)實(shí)現(xiàn)的工作流程圖(圖3)

4 結(jié)論

本文是基于OpenGL的噴泉粒子系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),使用戶在客戶端(vc++ 6.0工具)就能實(shí)現(xiàn)噴泉粒子系統(tǒng)的查看、以及對(duì)噴泉粒子系統(tǒng)的相關(guān)控制。在研究本設(shè)計(jì)過(guò)程中,需求階段,本文主要分析本系統(tǒng)所面向的用戶,從用戶的角度去分析功能。在完成了基本的功能設(shè)計(jì)同時(shí),成功之處總結(jié)如下:

(1)通過(guò)在VC++6.0平臺(tái)上,利用OpenGL相關(guān)的函數(shù),對(duì)噴泉粒子系統(tǒng)的場(chǎng)景的繪制,包括,地面,以及水池臺(tái)的繪制。

(2)通過(guò)在VC++6.0平臺(tái)上,利用OpenGL相關(guān)的函數(shù),成功實(shí)現(xiàn)了,對(duì)噴泉粒子的初始化的渲染。通過(guò)創(chuàng)建一個(gè)攝像機(jī)模塊,實(shí)現(xiàn)了用戶可以在噴泉粒子系統(tǒng)的場(chǎng)景漫游,從多角度觀看噴泉外形。

【參考文獻(xiàn)】

[1]齊治昌,譚慶平,寧洪.軟件工程[M].高等教育出版社,2006,4.

[2]Scott Meyers.Effective C++[M].華中科技大學(xué)出版社,2001,9.

[3]張芹,謝雋毅,吳慧中,等.火焰、煙、云等不規(guī)則物體的建模方法研究綜述[M].電子工業(yè)出版社,2000,5.

[4]馬駿,朱衡君.基于動(dòng)態(tài)紋理和粒子系統(tǒng)的噴泉模擬[M].北京交通大學(xué)出版社,2005,2.

[5]Samuel R. Buss.3D計(jì)算機(jī)圖形學(xué)(OpenGL版)[M].清華大學(xué)出版社,2006,10.

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

[7]秦培煜,陳傳波,等.基于物理模型的水波動(dòng)畫[M].電子工業(yè)出版社,2000,6.

[責(zé)任編輯:楊玉潔]

猜你喜歡
粒子系統(tǒng)噴泉
利用GPU加速的粒子系統(tǒng)全球流場(chǎng)可視化系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
可樂(lè)瓶里的“噴泉”
UE 4粒子系統(tǒng)與外部數(shù)據(jù)通信研究
為什么鯨的背上有“噴泉”
噴泉沖涼
可樂(lè)噴泉
自制噴泉
粒子系統(tǒng)在航海應(yīng)用上的展望*
基于粒子系統(tǒng)的建模與仿真綜述
GPU支持下基于粒子系統(tǒng)編輯器的特效技術(shù)研究
西贡区| 沙坪坝区| 陈巴尔虎旗| 宜君县| 理塘县| 会昌县| 通河县| 缙云县| 镇远县| 台中县| 双牌县| 甘南县| 龙海市| 建宁县| 宜良县| 榆林市| 吴忠市| 汽车| 保山市| 越西县| 喜德县| 江北区| 云安县| 永丰县| 乌拉特后旗| 安达市| 泽库县| 宣城市| 顺平县| 宁德市| 金川县| 保定市| 万年县| 宁城县| 施秉县| 阳曲县| 分宜县| 都昌县| 建平县| 如东县| 赤峰市|