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

基于粒子系統的瀑布模擬

2008-12-31 00:00:00唐好選
計算機應用研究 2008年7期

摘 要:以粒子系統為基礎、線元為基本繪圖單位,應用牛頓運動定律分析并建立瀑布運動方程,進行了瀑布場景的模擬。采用包圍盒與粒子聚類檢測相結合的方式以及參考射線反射原理實現了瀑布與障礙物的碰撞,并運用OpenGL中的混合技術生成半透明場景,使可視化場景更加真實。實驗結果表明粒子系統在模擬瀑布等不規則物體時具有很大優勢。

關鍵詞: 粒子系統;碰撞檢測;粒子聚類;混合技術

中圖分類號:TP391.9 文獻標志碼:A

文章編號:1001-3695(2008)07-2194-03

Simulation of waterfall based on particle system

TANG Haoxuan, LI Na

(School of Computer Science Technology, Harbin Institute of Technology, Harbin 150001, China)

Abstract:

This paper presented a method of waterfall simulation, which based on the particle system, chose short line as basic unit, and used the Newton’s principle to analyze particles’ motion and then established equations. In order to make the scene more vivid, it used the bounding box method and cluster particles to detect collisions between particles and obstacles, and used the principle of light reflection to make response. Besides, it introduced the blend operation to produce a translucent scene. The results demonstrate that the particle system represents more superiority on simulating irregular objects.

Key words:particle system; collision detecting; cluster particles; blend operation

自然景物和自然現象的模擬一直以來都是計算機圖形學領域的研究熱點,這是由模擬對象的不規則性以及復雜性決定的。粒子系統是模擬不規則物體一種行之有效的方法,自從于1983年由Reeves[1]提出以來,粒子系統方法就被廣泛地應用于自然景物或自然現象的模擬。例如,徐利明等人[2]應用粒子系統與OpenGL實現了實時雨雪的模擬;萬華根等人[3]通過求解NS方程的一個特殊解得到了非常真實的噴泉效果;管宇等人[4]利用粒子系統進行了瀑布的實時繪制。除此之外,還有大量的應用粒子系統進行噴泉、瀑布模擬的成功例子[5,6]。

本文以粒子系統方法為基礎,采用線元為基本單元進行瀑布場景的繪制,為了使模擬效果更加真實,還添加了碰撞效果以及應用OpenGL 中的混合技術生成半透明場景。

1 粒子系統瀑布

1.1 粒子系統的基本原理

粒子系統不是一個簡單的靜態模形。其基本原理是采用許多形狀簡單的微小粒子(如球體、橢球、立方體、點、線等)作為基本圖元,以這些粒子充滿物體,使其呈現各式各樣的形狀。每一個粒子具有特定的屬性,如大小、位置、顏色、運動速度、生命值等,隨著時間的推移,粒子屬性動態變化。系統中可以不斷有新粒子的加入,舊粒子的死亡。

通常用粒子系統模擬物體需要以下步驟:

a)分析物體的靜態特性,定義粒子所具有的屬性;

b)建立粒子屬性變化規律;

c)在系統中生成新粒子并給每個粒子屬性賦初值;

d)根據粒子屬性變化的動態特性改變其屬性值;

e)刪除系統中已經死亡的粒子;

f)按照當前粒子屬性繪制所有粒子。

其中,步驟c)~f)反復循環即形成物體的動態變化過程。

1.2 瀑布粒子的動力學原理

1.2.1 瀑布粒子的運動分析

瀑布是從某個源頭傾瀉出的一道或者多道水流,在重力等外力的作用下飛流而下,其運動軌跡近似于平拋運動的拋物線,瀑布水流下落過程中可能會與周圍障礙物發生碰撞,改變運動方向。

1.2.2 瀑布粒子的屬性設置

粒子系統中每個粒子都有特定的屬性,通過粒子屬性變化來體現物體的變化。從瀑布粒子的運動情況來看,粒子應該具有位置、速度、生存期、高度等屬性。此外,考慮繪制效果,粒子還具有淡化屬性。粒子的生存期和淡化屬性都可以作為判斷某個粒子是否應該消亡的依據。

1.2.3 瀑布粒子的屬性變化

粒子源在每個時間步長內生成大量粒子,這些粒子的初速度和運動方向隨機生成,同一時刻的粒子具有相似的速度和方向。瀑布粒子從生成后就在重力場中運動,隨著時間的推移,其生存期不斷縮減,粒子淡化屬性也在以一定的速率更新,直至生存期為零或者淡化值達到某個閾值,則此粒子在系統中消亡,不必進行繪制。

瀑布粒子運動遵循牛頓運動定律,其速度和位置變化規律如下面公式所示:

其中:g為重力加速度;f為空氣阻力等外力。在每個時間步長內,根據上述公式更新粒子的速度和位置,即可以得到粒子連續的運動效果。

如果在系統中添加風力的影響,則可以根據風速改變粒子運動速度。假設風速為wind v(設為向量形式),則瀑布速度更新參照如下公式:

1.2.4 瀑布粒子的選取

粒子系統靈活性的一方面就體現在粒子圖元的選取上。比如用粒子系統模擬噴泉時,可以采用圓球作為粒子,也可以選用點、線、多邊形、多面體等多種圖元。在粒子系統瀑布模擬中,考慮到模擬效果的真實感,選用線元作為瀑布粒子。線段的頭和尾分別為粒子當前位置與前一時刻位置,線段長度即是兩位置的間距。在進行繪制時,保存粒子上一時刻的位置P0,計算粒子在當前時刻的位置P1,P0與P1用線連接即可得到粒子的運動軌跡,如圖1所示。由于粒子位置P1已經提前計算過,在下一時刻繪制時不需進行重復計算,這樣也節省了部分計算開銷,提高了繪制效率。

1.3 瀑布粒子的碰撞檢測

碰撞理論是構造可視化系統的一個重要部分,它可以使用戶以更自然的方式與可視化系統中的場景對象進行交互。

瀑布水流在下落過程中會與周圍的巖石等障礙物發生碰撞,碰撞后水流運動方向發生變化。Wong [7]采用將所有粒子與障礙物進行碰撞檢測的方法來模擬碰撞效果,這種算法雖然直觀但是效率低下。O’Brien等人[8]將一些具有相同屬性的粒子作為一個大粒子,小粒子的數據增量作為大粒子的數據增量,將整個大粒子與障礙物進行求交計算,這種方法提高了計算效率,但是會發生大量粒子與障礙物提前相撞的情況。本文參考管宇等人[4]提出的粒子聚類與包圍盒相結合的方法進行碰撞檢測,提高了繪制效率和準確性。

每一時刻粒子源都生成大量粒子。這些粒子具有相似的屬性,如相近的初速度、相同的高度等。粒子聚類的建立就是以粒子屬性的相似性為基礎的,其準則為,將具有相似屬性的粒子進行劃分,每一組相似粒子看做一個整體。當進行碰撞檢測時,如果劃分中某個粒子與障礙物包圍盒相撞,那么認為這個劃分中所有粒子均與障礙物發生碰撞,反之認為劃分中沒有粒子與障礙物發生碰撞。粒子與障礙物包圍盒相交時碰撞發生,表明粒子當前狀態不可用,需要重新計算新的粒子狀態[9,10]。

如果粒子與障礙物發生碰撞,系統就需要做出相應的碰撞響應。系統中的主要碰撞發生在粒子與球面之間以及粒子與平面之間,采用射線反射原理,碰撞后粒子的運動軌跡變化如圖2所示。其中:N為法線;I與R分別代表入射和反射方向。

圖2是理想碰撞的情況,遵循了動量守恒定律。但是實際中的碰撞必然有能量損失,此時可以通過一個衰減參數來調整粒子反射方向。本文將碰撞理論應用到瀑布模擬中,得到了瀑布水流與球面障礙物及平面障礙物碰撞的效果,如圖3所示。

1.4 混合技術的應用

在進行瀑布模擬時,為了使模擬效果更加真實,采用了OpenGL中的混合技術。

混合技術通過指定一個混合函數,使物體原始顏色與目標顏色結合起來,最終使場景中某些物體產生半透明效果。除了需要激活混合操作函數,主要的還是準確計算混合因子值。在混合過程中,輸入片原(即源)的顏色值將分兩個階段進行處理,與對應的當前所存儲像素(目標)顏色值進行合成。首先,要指定如何計算源因子和目標因子,這些因子是分別乘以源和目標中R、G、B、A各分量后的RGBA四元組。然后,將兩個RGBA四元組中各對應分量相加。從數學上說明即假定源和目標混合因子分別為(Sr,Sg,Sb,Sa)和(Dr,Dg,Db,Da),下標s和d表示源和目標的RGBA值。那么混合后的RGBA值由(RsSrRdDr,GsSg+GdDg,BsSb+BdDb,AsSa+AdDa)給出該四元組各分量值最終截取[0,1]內。主要的源和目標混合因子在表1中列舉出來,在應用時可以參考。其中RGBA值分別以下標s和d表示。

激活混合操作函數前后的模擬效果如圖4所示。其中:(a)為未采用混合技術時的實驗結果;(b)是采用混合技術后的實驗結果。從兩幅圖可以看出,混合技術生成的半透明效果使瀑布更加真實。

2 實驗結果及分析

經過以上各小節的分析,添加天空紋理以及光照后得到了一個瀑布場景。圖5為在不同視角下觀察得到的瀑布場景圖。

當瀑布粒子數不同時,場景繪制效率會有所改變:粒子數增多時,計算量增大,繪制效率降低。系統初始運行時,粒子數為各粒子源在每一時刻生成的粒子數之和,而后隨著時間的推移,不斷有新粒子生成,舊粒子消亡,當系統穩定時,粒子數也趨于一個常數。

粒子系統瀑布模擬過程中,粒子源生成粒子數不同時,程序剛運行與穩定后每秒繪制幀數比較如表2所示。

3 結束語

本文應用粒子系統建立了瀑布模形,并且結合碰撞檢測理論刻畫了瀑布與障礙物發生碰撞的水花效果,運用OpenGL的混合操作生成了半透明場景,為模擬結果增添了真實感。本文實現的粒子瀑布再一次證實了粒子系統在描述不規則物體方面的優越性。

今后的工作集中在以下幾個方面。首先,隨著粒子規模的增加,粒子系統的計算量不斷增大,會影響系統的運行效率,針對這點,今后的工作需要考慮如何加快粒子處理速度。其次,運用粒子系統進行場景繪制時離不開各種渲染算法,因此研究使場景更加真實的渲染算法也是今后的主要工作。第三,本文僅僅考慮了瀑布與障礙物的碰撞,在今后的研究中將嘗試刻畫瀑布水流之間的融合、聚集現象。

參考文獻:

[1]REEVES W. Particle systems:a technique for modeling a class of fuzzy objects[J].Computer Graphics,1983,17(3):359-375.

[2]徐利明,姜昱明.基于粒子系統與OpenGL的實時雨雪模擬[J]. 計算機仿真, 2005,22(7):242-245.

[3]萬華根,金小剛,彭群生.基于物理模型的實時噴泉水流運動模擬[J].計算機學報,1998,21(9): 774-779.

[4]管宇,鄒林燦,陳為,等.基于粒子系統的實時瀑布模擬[J].系統仿真學報,2004, 16(11):2471-2474,2478.

[5]趙靜謐,張慧,鄭國勤.基于粒子系統的噴泉模擬[J].計算機應用研究, 2006,23(1):244-245, 249.

[6]馬駿,朱衡君.基于動態紋理和粒子系統的噴泉模[J].北京交通大學學報, 2005,29(1):90-94, 110.

[7]WONG A H K. Waterfalla particle system animation[D]. Computer science department cornell university, 1994.

[8]O’ BRIEN D,FISHER S,LIN M.Automatic simplification of particle system dynamics[J].IEEE Computer Animation,2001,20(3):210-218.

[9]劉濤,王增波,李占利.碰撞檢測過程中的包圍盒技術及應用研究[J].西安科技大學學報, 2006,26(3): 395-399.

[10]馬登武,葉文,李瑛.基于包圍盒的碰撞檢測算法綜述[J]. 系統仿真學報, 2006,18(4):1058-1064.

注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。”

主站蜘蛛池模板: 亚洲国产成人麻豆精品| 香蕉伊思人视频| 国产精品亚洲αv天堂无码| 色九九视频| 最近最新中文字幕在线第一页| 9啪在线视频| 欧美一级专区免费大片| 在线中文字幕网| 欧美精品1区| 亚洲综合18p| aa级毛片毛片免费观看久| 亚洲精品男人天堂| 亚洲欧洲日韩综合| 国产精品女人呻吟在线观看| 色爽网免费视频| 福利视频99| 亚洲欧美精品日韩欧美| 国产精品短篇二区| 美女被躁出白浆视频播放| 人妻少妇乱子伦精品无码专区毛片| 激情综合激情| 又爽又黄又无遮挡网站| 22sihu国产精品视频影视资讯| 精品亚洲国产成人AV| 自偷自拍三级全三级视频| 久久黄色影院| 欧洲亚洲欧美国产日本高清| 99视频有精品视频免费观看| 日韩精品成人在线| 国产成人一级| 亚洲色图综合在线| 亚洲欧洲日产国码无码av喷潮| 一级毛片无毒不卡直接观看| 欧美午夜久久| 熟妇丰满人妻| 国产aⅴ无码专区亚洲av综合网| 视频国产精品丝袜第一页| 日韩国产亚洲一区二区在线观看 | 久久久久久久97| 婷婷亚洲视频| 四虎永久在线| 一本一道波多野结衣一区二区 | a级毛片在线免费| 无码视频国产精品一区二区| 欧美成人精品在线| 国产精品一线天| 一级看片免费视频| 欧美国产日韩在线| 秋霞午夜国产精品成人片| 青青草原国产免费av观看| 亚洲AV无码一二区三区在线播放| 国产精品亚洲天堂| 一区二区三区在线不卡免费| 国产免费网址| 91在线一9|永久视频在线| 国产精品一区在线麻豆| 亚洲a级在线观看| a级毛片免费看| 九色91在线视频| 视频国产精品丝袜第一页| 亚洲黄色网站视频| 在线播放91| 欧美一级一级做性视频| 女人18毛片久久| 日韩精品免费在线视频| 97在线公开视频| 亚洲aaa视频| 夜精品a一区二区三区| 成年女人18毛片毛片免费| 色网站免费在线观看| 国产Av无码精品色午夜| 99视频在线观看免费| 欧美国产日产一区二区| 日本人妻一区二区三区不卡影院 | 992tv国产人成在线观看| 国产精品一老牛影视频| jizz在线观看| 欧美日韩导航| 亚洲青涩在线| 夜夜高潮夜夜爽国产伦精品| 亚洲人成网站色7799在线播放| 97视频在线精品国自产拍|