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

基于OpenGL噴泉粒子系統設計與實現

2016-05-23 10:00:55劉韜
科技視界 2016年11期

劉韜

【摘 要】虛擬場景中的自然景物模擬已經成為計算機圖形學的一個研究熱點。使用粒子系統能夠相對充分地體現自然景觀中模糊物體的隨機性和動態性,得到良好的模擬效果。本文結合實際情況,在深入分析粒子系統理論基礎上,結合Windows XP和Microsoft VC++6.0編譯環境為開發平臺,基于OpenGL圖形庫設計并實現了一個用于常見自然景物模擬的3D粒子特效系統,完成了噴泉的模擬。

【關鍵詞】粒子系統;噴泉;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 引言

本文重點研究了OpenGL 三維圖形開發一些關鍵技術的實現方法與步驟。通過OpenGL 與VC++6.0 編程開發實現了三維噴泉場景模型的一個實例,在實例中綜合運用燈光、材質及紋理效果構造了一個逼真的三維噴泉場景模型場景,并實現了一些常用的交互操作功能。

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

下面,將結合噴泉模型來介紹噴泉粒子的各個屬性:

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

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

(2)噴泉粒子的運動屬性

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

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

是變化不確定的速度,由相應的算法通過代碼的確定的速度與方向。

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

噴泉的粒子也是存在生存屬性的,可以通過循環的算法來控制粒子的生存屬性,例如噴泉粒子在粒子系統中正常的運動,隨著時間的推移,粒子的生命周期到期時就自然消亡,并且系統自動刪除死亡粒子;還有就是粒子的運動范圍超出了噴泉粒子系統所設定的圓柱體的范圍,則粒子就自然消亡,系統自動刪除死亡粒子。

2 噴泉粒子的運動軌跡分析

噴泉粒子在噴泉粒子系統中運動的力學分析,每顆粒子就如同現實中一樣,在垂直方向是受到地球引力和空氣阻力的合力,次合力的方向向下,而在水平方向可以通過風力來影響每顆粒子的運動方向。可以根據風力的隨機性,在x軸方向和z軸方向上進行力學分解,然后通過算法和代碼來實現系統中風力的不確定性。

為了準確的描述噴泉粒子運動可以通過以下公式的解釋:

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

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

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

3 噴泉粒子系統實現的工作流程圖(圖3)

4 結論

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

(1)通過在VC++6.0平臺上,利用OpenGL相關的函數,對噴泉粒子系統的場景的繪制,包括,地面,以及水池臺的繪制。

(2)通過在VC++6.0平臺上,利用OpenGL相關的函數,成功實現了,對噴泉粒子的初始化的渲染。通過創建一個攝像機模塊,實現了用戶可以在噴泉粒子系統的場景漫游,從多角度觀看噴泉外形。

【參考文獻】

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

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

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

[4]馬駿,朱衡君.基于動態紋理和粒子系統的噴泉模擬[M].北京交通大學出版社,2005,2.

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

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

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

[責任編輯:楊玉潔]

主站蜘蛛池模板: 亚洲人成网站18禁动漫无码| 波多野结衣中文字幕一区二区| 色综合婷婷| 亚洲色大成网站www国产| 国内精品视频| 久久天天躁狠狠躁夜夜2020一| 亚洲成人一区二区三区| 2020国产免费久久精品99| 97精品久久久大香线焦| 日本午夜精品一本在线观看 | 日韩精品无码免费一区二区三区 | 成人噜噜噜视频在线观看| 波多野吉衣一区二区三区av| 99久久99这里只有免费的精品| 国产国拍精品视频免费看| 四虎在线观看视频高清无码| 国产波多野结衣中文在线播放| 亚洲中文字幕在线一区播放| 国产精品网曝门免费视频| 国产精品人人做人人爽人人添| 自慰高潮喷白浆在线观看| 91成人免费观看| 在线播放真实国产乱子伦| 成人年鲁鲁在线观看视频| 自拍偷拍欧美| 色综合a怡红院怡红院首页| 蝴蝶伊人久久中文娱乐网| 99精品热视频这里只有精品7| 成人亚洲视频| 青青青草国产| 欧美中日韩在线| 污视频日本| 亚洲一区无码在线| 亚亚洲乱码一二三四区| 黄色网站在线观看无码| 久久国产拍爱| 午夜欧美理论2019理论| 亚洲精品片911| 免费毛片全部不收费的| 国产精品人成在线播放| 99久久精品美女高潮喷水| 日韩成人免费网站| 日韩小视频在线观看| 婷婷激情亚洲| 国产精品99在线观看| 国产成人毛片| 亚洲欧美综合精品久久成人网| 真实国产乱子伦视频| 欧美不卡视频一区发布| 国产精品片在线观看手机版| 日本在线欧美在线| 日本黄色a视频| 亚洲精品自产拍在线观看APP| 久久一级电影| 九色免费视频| 日本亚洲国产一区二区三区| 亚洲女同欧美在线| 婷婷亚洲视频| 妇女自拍偷自拍亚洲精品| 国产XXXX做受性欧美88| 国产一在线观看| 国产无码制服丝袜| 呦女精品网站| 日韩AV无码免费一二三区| 四虎永久免费在线| 免费一级成人毛片| 国产真实乱子伦精品视手机观看 | 日韩精品一区二区三区免费在线观看| 青青操视频在线| 高清码无在线看| 九九这里只有精品视频| 9999在线视频| 国产人成乱码视频免费观看| 日韩无码真实干出血视频| 狠狠色成人综合首页| 欧美日韩午夜| 伊人无码视屏| 国产真实乱人视频| 欧美性猛交xxxx乱大交极品| 激情无码字幕综合| 理论片一区| 国产99精品视频|