亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Boids算法在Unity3D開發(fā)平臺中模擬生物群組行為中的應用研究

        2019-06-05 02:51:54王永霞
        網(wǎng)絡安全技術與應用 2019年5期
        關鍵詞:群組調(diào)用間距

        ◆王永霞

        Boids算法在Unity3D開發(fā)平臺中模擬生物群組行為中的應用研究

        ◆王永霞

        (山西經(jīng)濟管理干部學院 山西 030000)

        本文結(jié)合Unity3D開發(fā)平臺,對Boids算法在生物群組行為中的模擬應用展開了深入研究。并針對群組中移動軌跡隨機更新的復雜行為模擬,提出了Boids算法的改進策略,重點解決了群組行為的隨機更新問題。

        Unity3D;3D模擬;群組行為;Boids算法

        0 引言

        Unity3D是一款3D模擬軟件開發(fā)引擎,基于Unity3D實現(xiàn)組群行為模擬控制,其提供有典型的算法參考模型是基于Craig Reynold(逃出克隆島)模擬場景的群組行為示例[2]。Boids算法就是在Craig Reynold中被首次提出的。

        Boids算法中每個boid都會應用群組行為的三個規(guī)則[3]。分離規(guī)則,保證相鄰的boid之間能夠保持適當?shù)木嚯x,不會發(fā)生擁擠與碰撞;隊列規(guī)則,保證了群組在移動速度和移動方向上對各個boid的有效約束;凝聚規(guī)則,對boid的移動位置進行約束,避免其脫離群組行為的控制范圍。通過規(guī)則的應用,模擬場景生成的若干boid,會自動形成群組。

        1 Boids算法設計

        在Boids算法設計中首先會創(chuàng)建一個群組的核心節(jié)點,再通過核心節(jié)點來生成其他的群組成員,并對其進行行為約束。也就是說在Boids算法中主要包括兩個被控制對象:群組的領導者(核心節(jié)點FlockBoid)與其他boid。當群組的領導者的移動行為發(fā)生變化,boid也將隨之進行調(diào)整。設計思路為:首先由FlockBoid動態(tài)生成很多個boid,然后在每個boid上實現(xiàn)群組規(guī)則。其中分離規(guī)則用于依次檢查boid的間距,并相應地調(diào)整速度;隊列規(guī)則通過群組的平均速度與航向、boid的隨機速度,獲得當前boid的最速度與角度;凝聚規(guī)則是以FlockBoid為中心,預設群組的凝聚范圍和FlockBoid與各個boid的之間的向量值,用于更新當前boid的移動速度與方向。

        2 Boids算法實現(xiàn)

        Boids算法主要是運用空間幾何的概念實現(xiàn)對群組行為的模擬控制,在核心部分需要遍歷每一個boid,分別計算當前boid與其他相鄰節(jié)點的間距,再通過與預設的各個規(guī)則下所生成的約束值比對,來動態(tài)更新boid的移動速度與角度。

        假設FlockBoid為組群原點,三維坐標為(,,),當前boid為,三維坐標值為(1,1,1),相鄰任一節(jié)點為,三維坐標值為(2,2,2),依據(jù)向量三角形法則及投影定律可知:

        3 Boids算法在群組行為中的應用分析

        在Unity3d中,Boids算法僅實現(xiàn)了一個簡單的鳥群移動行為,能夠適用于大部分生物類群組行為的3D模擬,但在真實環(huán)境中,很多生物群組行為要比這復雜得多,例如群組行為中障礙物的躲避、群組移動路徑的隨機更新等。群組中個體行為通常會比較簡單,但群組行為絕不是個體行為的簡單疊加,任何一件隨機事件的產(chǎn)生都可能導致群組行為在結(jié)構(gòu)、模式和行為上發(fā)生變化[4]。為了使得群組行為模擬更加接近真實自然的效果,對一些較為復雜的群組行為實現(xiàn)模擬控制是非常必要的。

        4 Unity3D中復雜群組行為的算法改進策略

        在Boids算法中隨機性策略的算法改進思路主要是通過隨機生成的移動目標來改變?nèi)航M的移動軌跡。

        在Boids算法中,F(xiàn)lockBoid作為群組的領導者,群組中的boid都是跟隨著FlockBoid移動的。因此在改進算法中,隨機目標的更新主要是針對FlockBoid的,當FlockBoid的軌跡發(fā)生變化,群組中所有成員的軌跡也會跟著發(fā)生變化,如圖1所示:

        圖1 隨機移動軌跡中隨機策略的應用思路

        在Unity3D內(nèi)部封裝的Random類提供的Range()函數(shù)可以在用戶自定義的最小數(shù)與最大數(shù)之間隨機返回一個浮點型的數(shù)值,(這個范圍包含最小數(shù),但不包含最大數(shù))[5]。

        float posX=Random.Range(initPos.x-bound.x,init Pos.x+bound.x);

        float posY=Random.Range(initPos.y-bound.y,initPos.y+bound.y);

        float posZ=Random.Range(initPos.z-bound.z,initPos.z+bound.z);

        最后Range函數(shù)每被調(diào)用一次,就會對偏移量進行一次刷新,從而實現(xiàn)目標向量的不斷更新。因此還需要設置一個刷新機制,以確保每隔一段時間就可以對目標向量進行更新。

        Unity3D內(nèi)置有Update()函數(shù),該函數(shù)在系統(tǒng)運行時會被自動調(diào)用,調(diào)用頻率為每幀調(diào)用一次,大約每秒Update()函數(shù)會被調(diào)用千次以上。如果要在Update()內(nèi)實現(xiàn)移動目標的定時更新,還需要重新設定代碼的刷新頻率。具體實現(xiàn)步驟如下:

        ( 1 ) 獲取FlockBoid當前的移動位置,以三維坐標(,,)表示;

        ( 2 ) 獲取FlockBoid當前的移動目標,以三維坐標(,,)表示;

        ( 3 ) 計算FlockBoid從當前位置到移動目標的間距,公式如下:

        ( 4 ) 設定FlockBoid從當前位置到移動目標的最小間距為space,將與space進行比較,如果>space,說明FlockBoid距離移動目標還比較遠,對移動目標不做位置更新;如果

        當隨機策略更新了移動目標后,F(xiàn)lockBoid也會隨之更新移動軌跡,向新的目標點移動,群組中所有節(jié)點也會通過對FlockBoid的追蹤,重新規(guī)劃各自的移動路徑。

        5 總結(jié)

        本研究主要圍繞Boids算法在Unity3D模擬生物群組行為中的應用展開深入研究,并在此基礎上對衍生出的復雜群組行為進行了討論,最后針對群組行為的移動軌跡更新問題,提出了基于Boids的隨機性改進策略。改進后的算法策略能夠為很多復雜的群組行為提供隨機性問題與路徑規(guī)劃問題的解決思路,從而有效改善群組行為的模擬效果。

        [1]Tenney R,Hebbert R,Sandell N Jr. A tracking filterfor maneuvering sources[J]. IEEE Transactions on AutomaticControl,1977,22(2):246-251.

        [2]Craig Reynolds. Boids Background and Update[EB/OL]. http://www.red3d.com/cwr/boids/,2001.

        猜你喜歡
        群組調(diào)用間距
        宋代君臣殿上間距考論
        核電項目物項調(diào)用管理的應用研究
        高速公路指揮中心小間距LED應用探討
        LabWindows/CVI下基于ActiveX技術的Excel調(diào)用
        測控技術(2018年5期)2018-12-09 09:04:46
        關系圖特征在敏感群組挖掘中的應用研究
        電子測試(2018年14期)2018-09-26 06:04:10
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術研究
        算距離
        基于統(tǒng)計模型的空間群組目標空間位置計算研究
        利用RFC技術實現(xiàn)SAP系統(tǒng)接口通信
        群組聊天業(yè)務在IMS客戶端的設計與實現(xiàn)
        av天堂亚洲另类色图在线播放| 人人妻人人爽人人做夜欢视频九色 | 自拍情爱视频在线观看| 成人偷拍自拍视频在线观看| 97色伦图片97综合影院| 亚洲人午夜射精精品日韩| 少妇高潮惨叫喷水在线观看| 精品人妻无码中文字幕在线| 色婷婷精品国产一区二区三区| 激情亚洲不卡一区二区| 大香焦av一区二区三区| 一本本月无码-| 宅男噜噜噜| 亚洲男女免费视频| 欧美h久免费女| 日本一区二区三区经典视频| 91中文人妻熟女乱又乱| av无码av天天av天天爽| 五十路熟女一区二区三区| 亚洲一区二区免费日韩| 久久一区二区三区少妇人妻| 成人国产精品一区二区网站公司| 亚洲码国产精品高潮在线| 亚洲欧美日韩在线一区| 污污污国产免费网站| 日韩中文字幕久久久老色批| 性猛交╳xxx乱大交| 精品久久久久久中文字幕| 漂亮人妻被黑人久久精品| 亚洲中文字幕不卡无码| 一区二区在线视频免费蜜桃| 亚洲av综合av一区| av网站免费线看| 亚洲综合原千岁中文字幕| 各类熟女熟妇激情自拍| 国产成人无码精品久久久露脸| 欧美乱妇高清无乱码在线观看 | 亚洲综合天堂av网站在线观看| 久久精品一区二区三区蜜桃| 一本一道久久综合久久 | 久久久www成人免费无遮挡大片|