两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種尋路驗證方法及裝置的制作方法

文檔序號:2583976閱讀:207來源:國知局
專利名稱:一種尋路驗證方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及尋路技術(shù),尤指一種尋路驗證方法及裝置。
背景技術(shù)
在游戲中,尋路算法通常采取一種簡化的方法,將地圖按一定的間隔進行橫縱切害I],劃分為多個格子(Tile),每個格子有兩種狀態(tài)可行走和不可行走。圖I為現(xiàn)有游戲中實現(xiàn)尋路的路徑示意圖,如圖I所示,斜線陰影格子的區(qū)域是不可行走的區(qū)域,白色格子的區(qū)域是可行走的區(qū)域。尋路算法(如A*算法)通過一定的計算方式,得到從點A到點B的一條路徑,如圖中虛線所示的折線;然后對這條折線進行優(yōu)化,判斷出C點是多余的,進而 簡化為A直接到B的實線路徑。其中,A*(讀作A Star)算法是一種常用于在游戲中,計算地圖上的一個點到達(dá)另外一個點的行走路徑的尋路(PathFinding)算法。尋路完成后,客戶端將計算出的包含兩個點A、B的直線路徑發(fā)送給服務(wù)器,服務(wù)器需要驗證通過尋路得到的路徑能否從A點直接到達(dá)B點,傳統(tǒng)驗證的技術(shù)方式是“直線逼近法”驗證,即取AB直線上的多個中間點,通過判斷中間點是否可行走,進而得出整條直線是否可行走。圖2為現(xiàn)有實現(xiàn)驗證路徑的示意圖,如圖2所示,在AB直線路徑上取C、D兩個中間點,比如在AB直連線上,每隔一定距離選取采樣點,通常距離為I個格子(Tile)的尺寸。通過判斷C、D兩點是否可行走,即判斷C、D兩點是否處于可行走的格子(Tile)中.因為C、D是相鄰的格子,所以可以表示C、D之間的任何點都是可行走的,從而得出AB整條路線是否可行走?,F(xiàn)有驗證路徑的算法中,因為C、D的選取過程是根據(jù)直線方程來計算出C、D的具體位置,其中涉及了浮點運算、乘除法運算,因此,計算C,D兩點的方法比較耗時,直線方程計算涉及大量的乘除法以及浮點運算,對于服務(wù)器而言降低了系統(tǒng)性能,而估算法會使得驗證結(jié)果不準(zhǔn)確;而且,隨著A,B兩點距離的增加,需要驗證的中間點數(shù)量也隨之增多,尤其是在地圖較大時,這種長距離的尋路驗證嚴(yán)重?fù)p害了服務(wù)器的負(fù)載能力。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種尋路驗證方法及裝置,能夠大大減少服務(wù)器在做路徑驗證時的時間消耗,而且驗證結(jié)果準(zhǔn)確可靠。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的—種尋路驗證方法,包括通過掃描及融合獲取可行走區(qū)域,其中,采用逐層迭代方法實現(xiàn)數(shù)據(jù)的融合為;在逐級迭代中,記錄每個格子所屬的區(qū)域,以及該區(qū)域的起始格子、該區(qū)域的大小信息,直至掃描到?jīng)]有更大的區(qū)域存在為止;判斷出待驗證的路徑包含在可行走區(qū)域中,驗證該路徑直接可達(dá)。所述逐層迭代包括每次掃描中,查看一個指定尺寸的正方形內(nèi)的所有格子是否均可行走,如果是,則表示該正方形區(qū)域是一個大的可行走區(qū)域;所述每個區(qū)域記錄的信息包括當(dāng)前正方形的尺寸;正方形的起始格子序號;每次掃描后,得到地圖上所有的可行走的指定尺寸的正方形區(qū)域;在按照從小尺寸到大尺寸的順序,對地圖進行多次掃描后,逐漸形成一系列可行走的正方形區(qū)域,并且,包含在大尺寸正方形中的小正方形被融合掉。所述驗證該路徑直接可達(dá)包括判斷出所述待驗證的路徑的兩個端點均處于相同的區(qū)域。該方法還包括如果判斷出所述待驗證的路徑的兩個端點不同處于相同的區(qū)域,進一步通過采樣路徑驗證確定路徑AB是否直接可達(dá)。一種尋路驗證裝置,至少包括融合單元,處理單元,其中,融合單元,用于通過掃描及融合獲取可行走區(qū)域,并將可行走區(qū)域信息傳遞給處 理單元;,其中,采用逐層迭代方法實現(xiàn)數(shù)據(jù)的融合為;在逐級迭代中,記錄每個格子所屬的區(qū)域,以及該區(qū)域的起始格子、該區(qū)域的大小信息,直至掃描到?jīng)]有更大的區(qū)域存在為止;處理單元,用于根據(jù)接收到的可行走區(qū)域信息以及來自客戶端的待驗證路徑信息,在判斷待驗證的路徑包含在可行走區(qū)域中,并發(fā)出驗證該路徑是否直接可達(dá)的驗證結(jié)果。從上述本發(fā)明提供的技術(shù)方案可以看出,包括通過融合獲取可行走區(qū)域,在判斷出需要驗證的路徑包含在可行走區(qū)域中,驗證該路徑直接可達(dá)。本發(fā)明方法通過找出大的可行走區(qū)域,并判斷出待驗證的路徑的兩點同處于該可行走區(qū)域中,服務(wù)器立刻返回該待驗證的路徑直接可達(dá)的路徑驗證結(jié)果。從本發(fā)明方法可見,不再需要驗證中間的路徑點,這樣,大大減少了服務(wù)器在做路徑驗證時的時間消耗,而且驗證結(jié)果準(zhǔn)確可靠。


圖I為現(xiàn)有游戲中實現(xiàn)尋路的路徑示意圖;圖2為現(xiàn)有實現(xiàn)驗證路徑的示意圖;圖3為本發(fā)明實現(xiàn)驗證路徑的示意圖;圖4為本發(fā)明尋路驗證方法的流程圖;圖5為本發(fā)明尋路驗證裝置的組成結(jié)構(gòu)示意圖。
具體實施例方式圖3為本發(fā)明實現(xiàn)驗證路徑的示意圖,如圖3所示,在左邊的豎條陰影區(qū)域中,包含了 4*4共16個格子,而且各個格子之間是可以相互直接可達(dá)的。換句話說,路徑AB所在的這個區(qū)域是可行走的。因此,如圖4所示,本發(fā)明尋路驗證方法包括步驟400 :通過掃描及融合獲取可行走區(qū)域。本步驟具體包括采用逐層迭代方法實現(xiàn)數(shù)據(jù)的融合第一次迭代,按1*1格子的區(qū)域大小掃描整張地圖;第二次迭代,按2*2格子的區(qū)域大小掃描整張地圖;第三次迭代,按4*4格子的區(qū)域大小掃描整張地圖;如此依次進行掃描,并在每個格子的數(shù)據(jù)塊中記錄它所屬的區(qū)域(區(qū)域就是大的可行走的正方形,包含多個可行走的格子),以及區(qū)域的起始格子、區(qū)域的大小等信息;直至掃描到?jīng)]有更大的區(qū)域存在為止(地圖的最大尺寸限制了可掃描的正方形的尺寸,所以從1*1的正方形區(qū)域開始,一直掃描到地圖最大尺寸的正方形)。上述每次掃描中,都會查看一個指定尺寸的正方形內(nèi)的所有格子是否均可行走,如果是,則表示這個正方的矩形是一個大的可行走區(qū)域。每個區(qū)域記錄的信息包括當(dāng)前正方形的尺寸;正方形的起始格子序號。每次掃描后,得到的是地圖上所有的可行走的指定尺寸的正方形區(qū)域。在按照從小尺寸到大尺寸的順序,對地圖進行 多次掃描后,逐漸形成一系列可行走的正方形區(qū)域,這些區(qū)域的大小可能不同,并且,包含在大尺寸正方形中的小正方形被融合掉。本步驟中,通過融合多個小的格子,得到一個大的可行走區(qū)域的算法,就是數(shù)據(jù)融
合算法。步驟401 :判斷出需要驗證的路徑包含在可行走區(qū)域中,驗證該路徑直接可達(dá)。整個融合過程結(jié)束后,每個格子均已記錄該格子所屬的那個區(qū)域。本步驟中,判斷路徑AB的兩個端點均處于相同的區(qū)域(按照步驟400,本發(fā)明只記錄經(jīng)過融合后可行走的正方形區(qū)域,而不可行走的區(qū)域不作記錄。因此,也只驗證AB是否在可行走的區(qū)域內(nèi)),則可以確定路徑AB直接可達(dá)。本步驟還包括如果判斷出路徑AB的兩個端點不同處于相同的區(qū)域,而中間通過第三個正方形區(qū)域連接,那么,路徑AB也可能是直接可達(dá)的,此時,可以使用最原始的采樣判斷法來驗證是否可達(dá),具體實現(xiàn)屬于本領(lǐng)域技術(shù)人員的慣用技術(shù)手段,這里不再贅述。本發(fā)明方法通過逐層迭代式的路徑融合后,對每一個小的格子(Tile),都記錄有該格子所處的大區(qū)域的位置信息。這樣,以定位點A和B是否處于同一個大區(qū)域為例來看,首先得到A、B兩點所處的小格子,然后根據(jù)記錄的該小格子所在的大區(qū)域信息,很直接地就返回A和B兩點是否處于同一個大區(qū)域中.而不需要遍歷所有的大區(qū)域信息后判斷A和B是否在大區(qū)域中,也是是說,本發(fā)明方法降低了運算量.提高了尋路的速度。需要說明的是,本發(fā)明數(shù)據(jù)融合算法不僅可以應(yīng)用于服務(wù)器端的路徑驗證,同樣也適用于客戶端的尋路算法。本發(fā)明方法通過找出大的可行走區(qū)域,并判斷出待驗證的路徑的兩點同處于該可行走區(qū)域中,服務(wù)器立刻返回該待驗證的路徑直接可達(dá)的路徑驗證結(jié)果。從本發(fā)明方法可見,不再需要驗證中間的路徑點,這樣,大大減少了服務(wù)器在做路徑驗證時的時間消耗,而且驗證結(jié)果準(zhǔn)確可靠。在面對大地圖時,本發(fā)明通過融合出一個非常大的可行走區(qū)域,這樣,區(qū)域中的所有點都是可直接到達(dá)的,顯然大大減少了服務(wù)器在做路徑驗證時的時間消耗。針對本發(fā)明方法,還提供一種尋路驗證,其組成結(jié)構(gòu)如圖5所示,至少包括融合單元,處理單元,其中,融合單元,用于通過融合獲取可行走區(qū)域,并將可行走區(qū)域信息傳遞給處理單元;處理單元,用于根據(jù)接收到的可行走區(qū)域信息以及來自客戶端的待驗證路徑信息,判斷需要驗證的路徑是否包含在可行走區(qū)域中,并發(fā)出驗證該路徑是否直接可達(dá)的驗證結(jié)果。本發(fā)明尋路驗證裝置可以設(shè)置在服務(wù)器中,也可以單獨作為一驗證設(shè)備存在。

以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種尋路驗證方法,其特征在于,包括 通過掃描及融合獲取可行走區(qū)域,其中,采用逐層迭代方法實現(xiàn)數(shù)據(jù)的融合為;在逐級迭代中,記錄每個格子所屬的區(qū)域,以及該區(qū)域的起始格子、該區(qū)域的大小信息,直至掃描到?jīng)]有更大的區(qū)域存在為止; 判斷出待驗證的路徑包含在可行走區(qū)域中,驗證該路徑直接可達(dá)。
2.根據(jù)權(quán)利要求I所述的尋路驗證方法,其特征在于,所述逐層迭代包括 每次掃描中,查看一個指定尺寸的正方形內(nèi)的所有格子是否均可行走,如果是,則表示該正方形區(qū)域是一個大的可行走區(qū)域;所述每個區(qū)域記錄的信息包括當(dāng)前正方形的尺寸;正方形的起始格子序號; 每次掃描后,得到地圖上所有的可行走的指定尺寸的正方形區(qū)域; 在按照從小尺寸到大尺寸的順序,對地圖進行多次掃描后,逐漸形成一系列可行走的正方形區(qū)域,并且,包含在大尺寸正方形中的小正方形被融合掉。
3.根據(jù)權(quán)利要求I所述的尋路驗證方法,其特征在于,所述驗證該路徑直接可達(dá)包括判斷出所述待驗證的路徑的兩個端點均處于相同的區(qū)域。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,該方法還包括如果判斷出所述待驗證的路徑的兩個端點不同處于相同的區(qū)域,進一步通過采樣路徑驗證確定所述待驗證的路徑是否直接可達(dá)。
5.一種尋路驗證裝置,其特征在于,至少包括融合單元,處理單元,其中, 融合單元,用于通過掃描及融合獲取可行走區(qū)域,并將可行走區(qū)域信息傳遞給處理單元;其中,采用逐層迭代方法實現(xiàn)數(shù)據(jù)的融合為;在逐級迭代中,記錄每個格子所屬的區(qū)域,以及該區(qū)域的起始格子、該區(qū)域的大小信息,直至掃描到?jīng)]有更大的區(qū)域存在為止; 處理單元,用于根據(jù)接收到的可行走區(qū)域信息以及來自客戶端的待驗證路徑信息,在判斷待驗證的路徑包含在可行走區(qū)域中,并發(fā)出驗證該路徑是否直接可達(dá)的驗證結(jié)果。
全文摘要
本發(fā)明提供了一種尋路驗證方法,包括通過掃描及融合獲取可行走區(qū)域,再判斷出需要驗證的路徑包含在可行走區(qū)域中,從而驗證該路徑直接可達(dá)。本發(fā)明方法通過找出大的可行走區(qū)域,并判斷出待驗證的路徑的兩點同處于該可行走區(qū)域中,服務(wù)器立刻返回該待驗證的路徑直接可達(dá)的路徑驗證結(jié)果。從本發(fā)明方法可見,不再需要驗證中間的路徑點,這樣,大大減少了服務(wù)器在做路徑驗證時的時間消耗,而且驗證結(jié)果準(zhǔn)確可靠。
文檔編號G09B29/00GK102800242SQ20111013692
公開日2012年11月28日 申請日期2011年5月25日 優(yōu)先權(quán)日2011年5月25日
發(fā)明者張偉 申請人:騰訊科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
潢川县| 西昌市| 来宾市| 宁武县| 北安市| 孝感市| 闵行区| 古丈县| 西华县| 大安市| 金塔县| 玛沁县| 武川县| 桓仁| 瓦房店市| 伊通| 体育| 中山市| 四平市| 西林县| 社会| 吴桥县| 罗源县| 孝昌县| 靖西县| 山阴县| 玉环县| 沾化县| 惠州市| 乡宁县| 青浦区| 彭水| 灯塔市| 克东县| 思茅市| 高淳县| 精河县| 玛沁县| 平山县| 木里| 华亭县|