青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

利用遞歸空間聚合來檢測碰撞

http://www.flashas.net/bbs/read.php?tid=946

殘忍的比對
碰撞檢測能夠使用很多的方法來完成。最簡單和直接的方法就是測試每個對象和其他的對象的沖突。因為每個對象需要同一個對象列表進行測試,測試一個對象和他的自身的是沒有意義的。就是眾所周知的殘忍的比對。
for (i = 0; i < n; i++)
{
a = obj[i];
for (j = i + 1; j < n; j++)
{
b = obj[j];
collide(a, b)
}
}


這種兩次的循環(huán)嵌套耗費了很大的時間(n是需要檢查的對象的數(shù)量):

它立即就被發(fā)現(xiàn)這樣做會遇到一個很大的問題:指數(shù)增長。一個很棒的文章(Dave Robers)中描述這個問題在更多的細節(jié)中也包含了幾個可供選擇的方法來檢測碰撞。

空間的劃分
運算法則在這里使用了空間的劃分,這就意味著它劃分屏幕為更小的區(qū)域。每個區(qū)域都包含較少的對象。碰撞的監(jiān)測是在區(qū)域中的所有的實體(任何的什么東西)對他們進行逐個的比較---在一個小的區(qū)域中對象的較少,這是非常的有效的。
兩個普通的空間分割的方法是Binary Space Partition(BSP)和Quadtree/Octree Partitioning.他們的共同之處在于他們都遞歸空間劃分為更小的空間。RDC,但是,不要創(chuàng)建一個樹形的數(shù)據(jù)結構和重新計算每個框架。BSP和Quad trees在另一個方面的最好的用處就是當進行預先運算的時候,雖然他們不容易修改。
所以,首先,我通過使用空間分割來限制了進行碰撞檢測的數(shù)量。第二,我在一定的范圍內限制了對象來快速的排除了沒有碰撞的對象。
RDC具有一個一般的復雜度:

當測試的數(shù)量使用外部的壓力單獨激發(fā)的時候,RDC的方法提高了線性的近似值。
運算法則
RDC是由Steve Rabin所提出的,在Game Programming GemsII提出:"Recursive Dimensional Clustering,一個快速的碰撞檢測的運算法則"。不用研究的更深,我嘗試去重新梳理一些基礎的原理,你可以下載自己試一下。
RDC運算法則包括以下的步驟:
一、反復的遍歷所有的對象,在一個列表中存儲一個給定的軸的時間間隔。對于X軸,我保存了對象邊界的最小值(open)和最大值(close)的X位置,一個實現(xiàn)的簡單方法就是使用displayObjectInstance.getBounds()。對Y軸和Z軸也作相同的處理。每條邊界必須記住他屬于什么實體和是否他是一個open或者close的類型:
class Boundary
{
public var type:String;
public var position:Number;
public var object:Object;
}


二、挑選那些列表中的分界線對象,并根據(jù)位置從低到高進行排序:
var boundaries:Array = getIntervals(objects, axis)
boundaries.sortOn("position", Array.NUMERIC);

三、重新遍歷已經(jīng)挑選的分界線列表,存儲那些重疊時間間隔的對象到一個groups中:
var group:Array = [];
var groupCollection:Array;
var count:int = 0;
for (var i:int = 0; i < boundaries.length; i++)
{
var object:Boundary = boundaries[i];
if (object.type == "open")
{
count++;
group.push(object);
}
else
{
count--;
if (count == 0)
{
groupCollection.push(group);
}
}
}

如果你只是處理一個緯度(那將是一個奇怪的游戲)你已經(jīng)完成了。
如果你需要處理一個更高的緯度,你必須再分解group到其他的軸(2d是y,3d是z),然后重新分解groups到其他的軸,對于2d,你可以這樣:
1、分解出X軸
2、分解出Y軸
3、在此分解出X軸
這些步驟反復的被執(zhí)行直到遞歸到一定的深度。

所有的對象都高興的分離著,沒有groups產生。

對象a和b的open/close邊界線重疊后被放到了一個group中。

盡管對象a和b的間隔的x軸是重疊的,但是他們的y軸是分離的。

沿著X軸劃分為一個group[A,B,C].第二個通過Y軸劃分group為,[A,C]。對[A,C]沿著X軸再次進行劃分,最終得到了[A],[B],[C]。
[b]交互演示

這將會讓你對什么是RDC有一個更好地了解。在輸入?yún)^(qū)所定義的值是在一個group中有多少個對象的時候才會停止遞歸。數(shù)值越低,你實際上是在提高遞歸的層級(計算更慢)。所以你告訴了運算:"試著通過進一步的劃分來創(chuàng)建更小的group"。如果你設置了值為1。每個group只允許有一個對象。如果你設置的值太高(計算更快)你會得到更大的groups。這可以被看作一個在遍歷和RDC之間的一個混合因子,以便一個group中包含有5-10個對象的話會效率更高。
-------下載源文件

posted on 2007-12-28 16:59 楊粼波 閱讀(277) 評論(0)  編輯 收藏 引用

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            日韩系列在线| 玖玖精品视频| 国产精品一二一区| 欧美性大战久久久久久久蜜臀| 国产日韩欧美一区二区| 欧美日精品一区视频| 欧美视频一区二区三区…| 欧美国产视频一区二区| 欧美另类极品videosbest最新版本 | 欧美日韩一区二区三区在线观看免 | 国产精品资源在线观看| 国产精品久久久亚洲一区 | 亚洲男人的天堂在线aⅴ视频| 亚洲欧美一区二区三区久久| 夜夜夜久久久| 亚洲欧美成aⅴ人在线观看| 久久久中精品2020中文| 亚洲国产1区| 亚洲视频一区二区在线观看| 香蕉亚洲视频| 欧美国产精品va在线观看| 欧美日韩亚洲综合一区| 精品成人国产| 午夜精品影院| 欧美成人免费小视频| 在线一区二区日韩| 久久伊人免费视频| 国产精品v日韩精品v欧美精品网站| 久久日韩粉嫩一区二区三区| 欧美精品尤物在线| 好吊色欧美一区二区三区四区| 欧美色区777第一页| 国产一区深夜福利| 亚洲四色影视在线观看| 久久久久久久久久久久久久一区| 亚洲一品av免费观看| 久久人91精品久久久久久不卡| 亚洲尤物视频在线| 欧美成人精品影院| 亚洲欧美一区二区在线观看| 欧美精品99| 亚洲第一在线| 久久综合九色综合欧美就去吻 | 一区二区三区在线视频免费观看| 欧美视频在线观看一区| 国模一区二区三区| 午夜精品久久久久| 99日韩精品| 欧美成人中文| 亚洲国产精品成人| 你懂的视频欧美| 久久人91精品久久久久久不卡| 美女视频网站黄色亚洲| 国产精品一区2区| 亚洲欧美日韩精品久久久久| 亚洲尤物视频网| 国产精品日韩欧美| 亚洲精品综合精品自拍| 老司机免费视频久久| 亚洲欧美日韩在线高清直播| 国产精品盗摄一区二区三区| 夜夜嗨一区二区| 亚洲精品一二三| 欧美视频在线观看一区| 亚洲影院色无极综合| 亚洲视频导航| 国产日韩免费| 久久中文字幕一区二区三区| 久久久久久久久久久久久久一区| 久久人人97超碰国产公开结果| 久久亚洲精选| 在线成人激情黄色| 久久综合久久综合这里只有精品| 欧美激情网站在线观看| 男女精品视频| 亚洲天堂av综合网| 中文精品99久久国产香蕉| 国产精品视频久久久| 午夜在线精品偷拍| 久久大逼视频| 最新亚洲激情| 99精品视频一区| 国产视频观看一区| 欧美成人免费播放| 欧美精品激情blacked18| 中日韩高清电影网| 午夜精品视频在线观看| 尹人成人综合网| 亚洲精品一区二区网址| 国产日韩欧美不卡在线| 欧美a级片一区| 欧美三级欧美一级| 久久久精品999| 免费观看在线综合色| 亚洲欧美成人一区二区在线电影| 欧美激情第二页| 欧美日韩亚洲一区二区三区在线| 黄色国产精品| 亚洲激情欧美| 国产精品区二区三区日本| 久久久久网站| 欧美色视频日本高清在线观看| 激情一区二区| 亚洲精品中文字幕有码专区| 国产亚洲一区精品| 日韩视频免费观看| 黄色成人av网站| 一区二区免费在线播放| 亚洲第一二三四五区| 亚洲一区久久久| 日韩视频永久免费观看| 欧美一区二区视频在线观看2020| 国产精品免费小视频| 欧美成人黑人xx视频免费观看| 亚洲欧美日韩在线一区| 亚洲免费大片| 性8sex亚洲区入口| 欧美jizz19性欧美| 午夜精品久久久久久久久久久久| 亚洲国产日韩欧美综合久久| 国产精品福利片| 亚洲国产91精品在线观看| 国产午夜一区二区三区| 亚洲深夜福利| 亚洲一区二区高清| 欧美高清一区| 欧美高清视频在线播放| 激情成人亚洲| 久久国产日韩欧美| 久久成人亚洲| 国产精品视频网| 亚洲性感激情| 欧美一区二区三区视频在线| 欧美系列电影免费观看| 亚洲美女av在线播放| 在线中文字幕不卡| 欧美日韩91| 99国产精品国产精品久久| 一区二区三区国产在线| 欧美日韩黄色一区二区| 亚洲精品网址在线观看| 亚洲视频视频在线| 国产精品v欧美精品v日韩| 一区二区三区 在线观看视| 亚洲一区视频在线| 国产精品丝袜xxxxxxx| 亚洲欧美日韩精品一区二区| 欧美一区二区三区婷婷月色 | 亚洲在线视频免费观看| 亚洲欧美成人一区二区三区| 国产精品区二区三区日本| 亚洲性感美女99在线| 亚洲在线视频观看| 国产午夜精品麻豆| 久久久久免费视频| 亚洲国产欧美不卡在线观看| 99在线精品观看| 国产精品日本精品| 久久精品一区二区三区不卡| 亚洲第一精品电影| 亚洲香蕉网站| 国产专区一区| 欧美激情精品久久久久久免费印度| 欧美一级片在线播放| 国产一区二区视频在线观看| 久久综合色天天久久综合图片| 亚洲一区二区三区在线观看视频| 欧美在线观看网址综合| 久久资源av| 一二三四社区欧美黄| 国产午夜精品一区理论片飘花| 亚洲国产精品久久久久婷婷老年 | 1204国产成人精品视频| 欧美激情在线观看| 午夜精品一区二区三区四区| 亚洲电影欧美电影有声小说| 亚洲一区日韩| 亚洲黄色免费电影| 欧美日韩性视频在线| 欧美在线看片| 亚洲精品偷拍| 欧美电影美腿模特1979在线看| 国产一区二区精品久久| 欧美成人视屏| 亚洲一级片在线观看| 国产婷婷97碰碰久久人人蜜臀| 国产一区高清视频| 亚洲娇小video精品| 亚洲视频一二三| 亚洲激情偷拍| 欧美日韩在线播放| 久久精品亚洲精品| 一区二区三区四区精品| 亚洲第一精品福利| 久久精品成人欧美大片古装| 一区二区激情视频| 亚洲日韩中文字幕在线播放| 一区免费在线| 国内精品伊人久久久久av影院| 亚洲尤物在线视频观看|