本發明涉及計算機應用技術領域,特別涉及一種ai墻面尋路的方法及系統。
背景技術:
隨著現代社會科技的發展,越來越多的手機或電腦游戲進入到人們的生活中。針對游戲中ai(artificialintelligence,人工智能)尋路往往是通過recastnavigation項目實現的,如游戲中的各種怪物ai通過recastnavigation項目計算從地圖中的一點到另外一點的可行路徑。
現有技術中,recastnavigation項目的技術實現如下:對游戲地圖進行預處理,根據ai的高度和可行斜面斜率等輸入參數生成地圖的可尋路(可行)區域,該區域由一系列二維凸多邊形組成,這些凸多邊形可組成一個(或多個)連通的可行區域;針對上述可尋路區域上的任意兩點(即ai尋路的ai起始點和ai目標點),使用a*算法(astartalgorithm)先找出連通起始點所在多邊形區域和目標點所在多邊形區域的可尋路凸多邊形連接帶;根據找出的凸多邊形連接帶,使用拐角點法找出一條連接起始點和目標點的路徑,該路徑在這個多邊形連接帶上。
然而,現有技術中可尋路區域并不包括墻面區域,使得無法實現墻面區域的ai尋路,若ai尋路的ai目標點或ai起始點在墻面上,無法生成有效的可行路徑;并且無法實現通過墻面區域的可行路徑的計算,也就是ai尋路的行走過程中,不能通過墻面區域。因此,如何能夠對開源項目recastnavigation進行擴展,實現墻面區域的ai尋路和通過墻面區域的可行路徑的計算,豐富游戲中ai的行為,增強游戲可玩性,提高用戶體驗度,是現今急需解決的問題。
技術實現要素:
本發明的目的是提供一種ai墻面尋路的方法及系統,以對開源項目recastnavigation進行擴展,實現墻面區域的ai尋路和通過墻面區域的可行路徑的計算,豐富游戲中ai的行為,增強游戲可玩性。
為解決上述技術問題,本發明提供一種ai墻面尋路的方法,包括:
加載預先生成的可尋路區域信息;其中,所述可尋路區域信息包括添加了墻面尋路面片的可尋路區域的信息;
判斷ai起始點和ai目標點是否均在所述可尋路區域上;
若是,則計算出所述ai起始點到所述ai目標點的可行路徑,使ai按所述可行路徑行走。
可選的,所述加載預先生成的可尋路區域信息之前,還包括:
離線生成所述可尋路區域信息。
可選的,所述離線生成所述可尋路區域信息,包括:
利用ai地圖可視化編輯器添加預設墻面各自對應的所述墻面尋路面片;
計算并連接每個所述墻面尋路面片上層和下層相鄰的可尋路區域,生成所述可尋路區域的信息。
可選的,所述離線生成所述可尋路區域信息,還包括:
對每個所述墻面尋路面片進行坐標轉換,獲取水平面片;
根據所述水平面片生成墻面可尋路區域信息。
可選的,所述計算出所述ai起始點到所述ai目標點的可行路徑,使ai按所述可行路徑行走,包括:
判斷所述ai起始點是否在所述墻面尋路面片上;
若所述ai起始點不在所述墻面尋路面片上,則進行全局尋路,計算出所述ai起始點到所述ai目標點的第一可行路徑,使所述ai按所述第一可行路徑行走;
若所述ai起始點在所述墻面尋路面片上,則判斷所述ai目標點是否在所述墻面尋路面片上;
若所述ai目標點不在所述墻面尋路面片上,則計算出所述ai離開所述ai起始點所在的墻面尋路面片的脫離點坐標;
根據所述ai起始點所在的墻面尋路面片對應的墻面可尋路區域信息進行局部尋路,計算出所述ai起始點到所述脫離點坐標的第二可行路徑;
進行全局尋路計算出所述脫離點坐標到所述ai目標點的第三可行路徑,使所述ai按所述第二可行路徑和第三可行路徑行走;
若所述ai目標點在所述墻面尋路面片上,則判斷所述ai目標點和所述ai起始點是否在相同的墻面尋路面片上;
若所述ai目標點和所述ai起始點不在相同的墻面尋路面片上,則執行所述計算出所述ai離開所述ai起始點所在的墻面尋路面片的脫離點坐標的步驟;
若所述ai目標點和所述ai起始點在相同的墻面尋路面片上,則根據所述ai起始點和所述ai目標點所在的墻面尋路面片對應的墻面可尋路區域信息進行局部尋路,計算出所述ai起始點到所述ai目標點的第四可行路徑,使所述ai按所述第四可行路徑行走。
此外,本發明還提供了一種ai墻面尋路的系統,包括:
加載模塊,用于加載預先生成的可尋路區域信息;其中,所述可尋路區域信息包括添加了墻面尋路面片的可尋路區域的信息;
判斷模塊,用于判斷ai起始點和ai目標點是否均在所述可尋路區域上;
尋路模塊,用于若所述ai起始點和所述ai目標點均在所述可尋路區域上,則計算出所述ai起始點到所述ai目標點的可行路徑,使ai按所述可行路徑行走。
可選的,該系統還包括:
生成模塊,用于離線生成所述可尋路區域信息。
可選的,所述生成模塊,包括:
添加子模塊,用于利用ai地圖可視化編輯器添加預設墻面各自對應的所述墻面尋路面片;
第一生成子模塊,用于計算并連接每個所述墻面尋路面片上層和下層相鄰的可尋路區域,生成所述可尋路區域的信息。
可選的,所述生成模塊,還包括:
轉換子模塊,用于對每個所述墻面尋路面片進行坐標轉換,獲取水平面片;
第二生成子模塊,用于根據所述水平面片生成墻面可尋路區域信息。
可選的,所述尋路模塊,包括:
第一判斷子模塊,用于判斷所述ai起始點是否在所述墻面尋路面片上;
第一尋路子模塊,用于若所述ai起始點不在所述墻面尋路面片上,則進行全局尋路,計算出所述ai起始點到所述ai目標點的第一可行路徑,使所述ai按所述第一可行路徑行走;
第二判斷子模塊,用于若所述ai起始點在所述墻面尋路面片上,則判斷所述ai目標點是否在所述墻面尋路面片上;
計算子模塊,用于若所述ai目標點不在所述墻面尋路面片上,則計算出所述ai離開所述ai起始點所在的墻面尋路面片的脫離點坐標;
第二尋路子模塊,用于根據所述ai起始點所在的墻面尋路面片對應的墻面可尋路區域信息進行局部尋路,計算出所述ai起始點到所述脫離點坐標的第二可行路徑;
第三尋路子模塊,用于進行全局尋路計算出所述脫離點坐標到所述ai目標點的第三可行路徑,使所述ai按所述第二可行路徑和第三可行路徑行走;
第三判斷子模塊,用于若所述ai目標點在所述墻面尋路面片上,則判斷所述ai目標點和所述ai起始點是否在相同的墻面尋路面片上;若所述ai目標點和所述ai起始點不在相同的墻面尋路面片上,則向所述計算子模塊發送啟動信號;
第四尋路子模塊,用于若所述ai目標點和所述ai起始點在相同的墻面尋路面片上,則根據所述ai起始點和所述ai目標點所在的墻面尋路面片對應的墻面可尋路區域信息進行局部尋路,計算出所述ai起始點到所述ai目標點的第四可行路徑,使所述ai按所述第四可行路徑行走。
本發明所提供的一種ai墻面尋路的方法,包括:加載預先生成的可尋路區域信息;其中,所述可尋路區域信息包括添加了墻面尋路面片的可尋路區域的信息;判斷ai起始點和ai目標點是否均在所述可尋路區域上;若是,則計算出所述ai起始點到所述ai目標點的可行路徑,使ai按所述可行路徑行走;
可見,本發明通過加載預先生成的可尋路區域信息,可以加載添加了墻面尋路面片的可尋路區域的信息,使得在計算出ai起始點到ai目標點的可行路徑時,可以計算出ai起始點和/或ai目標點在墻面尋路面片的墻面區域的可行路徑,并且可以計算出通過墻面區域的可行路徑,實現了墻面區域的ai尋路和通過墻面區域的可行路徑的計算,豐富了游戲中ai的行為,增強了游戲可玩性。此外,本發明還提供了一種ai墻面尋路的系統,同樣具有上述有益效果。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
圖1為本發明實施例所提供的一種ai墻面尋路的方法的流程圖;
圖2為本發明實施例所提供的另一種ai墻面尋路的方法的流程圖;
圖3為本發明實施例所提供的另一種ai墻面尋路的方法的墻面尋路面片的示意圖;
圖4為本發明實施例所提供的另一種ai墻面尋路的方法的水平面片的示意圖;
圖5為本發明實施例所提供的一種ai墻面尋路的系統的結構圖。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
請參考圖1,圖1為本發明實施例所提供的一種ai墻面尋路的方法的流程圖。該方法可以包括:
步驟101:加載預先生成的可尋路區域信息;其中,可尋路區域信息包括添加了墻面尋路面片的可尋路區域的信息。
可以理解的是,本步驟中的預先生成的可尋路區域信息,可以為網絡游戲的主機或服務器預先離線或在線生成的可尋路區域信息,也就是本實施例所提供的方法還可以包括離線生成可尋路區域信息。本實施例對此不受任何限制。
需要說明的是,對于本步驟中的可尋路區域信息的具體內容,可以為添加了墻面尋路面片的可尋路區域的信息;也可以為添加了墻面尋路面片的可尋路區域的信息和每個墻面尋路面片對應的墻面可尋路區域信息;還可以為其他內容。對于可尋路區域信息的具體內容,可以由設計人員根據實用場景和使用需求自行設置,只要可以通過可尋路區域信息計算出通過墻面區域的可行路徑,本實施例對此不受任何限制。
步驟102:判斷ai起始點和ai目標點是否均在可尋路區域上;若是,則進入步驟103。
可以理解的是,本步驟的目的是為了判斷ai起始點和ai目標點的位置是否正常;若正常,則通過接下來的步驟計算ai的可行路徑;若不正常,則可以結束本實施例所提供的方法,通過可以其他方法對ai的ai起始點和/或ai目標點進行調整,本實施例對此不受任何限制。
需要說明的是,本步驟可以直接判斷ai起始點和ai目標點是否均在可尋路區域上;也可以分別判斷ai起始點是否在可尋路區域上和ai目標點是否在可尋路區域上。本實施例對此不受任何限制。
步驟103:計算出ai起始點到ai目標點的可行路徑,使ai按可行路徑行走。
其中,對于本步驟中計算出ai起始點到ai目標點的可行路徑的具體方式,可以直接根據可尋路區域信息通過全局尋路進行計算;由于如果ai起始點在墻面尋路面片時,全局尋路無法再墻面尋路面片上生成比較精確可行路徑,可能會產生如ai重疊的情況發生,也可以通過先計算ai離開ai起始點所在的墻面尋路面片的脫離點坐標;再根據ai起始點所在的墻面尋路面片對應的墻面可尋路區域信息進行局部尋路,計算出ai起始點到脫離點坐標的可行路徑;最后進行全局尋路計算出脫離點坐標到ai目標點的可行路徑,使ai按兩個可行路徑行走的方式;還可以使用其他方式。對于計算出ai起始點到ai目標點的可行路徑的具體方式,可以由設計人員根據實用場景和用戶需求自行設置,本實施例對此不受任何限制。
可以理解的是,本實施例所提供的方法可以適用于ai尋路,如fps網絡游戲中各種怪物ai的尋路,也可以適用于用戶控制的游戲對象的尋路。本實施例對此不受任何限制。
需要說明的是,對于本步驟計算出的可行路徑的數量以及ai根據可行路徑進行行走的過程,可以采用與現有技術相同或相似的方式實現,也可以由設計人員自行設置其他方式,本實施例對此不受任何限制。
本實施例中,本發明實施例通過加載預先生成的可尋路區域信息,可以加載添加了墻面尋路面片的可尋路區域的信息,使得在計算出ai起始點到ai目標點的可行路徑時,可以計算出ai起始點和/或ai目標點在墻面尋路面片的墻面區域的可行路徑,并且可以計算出通過墻面區域的可行路徑,實現了墻面區域的ai尋路和通過墻面區域的可行路徑的計算,豐富了游戲中ai的行為,增強了游戲可玩性。
請參考圖2、圖3和圖4,圖2為本發明實施例所提供的另一種ai墻面尋路的方法的流程圖;圖3為本發明實施例所提供的另一種ai墻面尋路的方法的墻面尋路面片的示意圖;圖4為本發明實施例所提供的另一種ai墻面尋路的方法的水平面片的示意圖。該方法可以包括:
步驟201:離線生成可尋路區域信息;其中,可尋路區域信息包括添加了墻面尋路面片的可尋路區域的信息和每個墻面尋路面片對應的墻面可尋路區域信息。
可以理解的是,對于可尋路區域的信息的具體生成方式,可以通過利用ai地圖可視化編輯器添加預設墻面各自對應的墻面尋路面片,計算并連接每個墻面尋路面片上層和下層相鄰的可尋路區域,生成可尋路區域的信息的方式,如將圖3中ai可爬行的墻面利用ai地圖可視化編輯器添加成墻面尋路面片,再將該墻面尋路面片與相鄰的原本的可尋路區域連接,形成新的可尋路區域,生成新的可尋路區域的信息;也可以利用其它工具生成可尋路區域的信息。只要可以將如墻面尋路面片的墻面區域添加到可尋路區域中,對于可尋路區域的信息的具體生成方式,本實施例不做任何限制。
需要說明的是,對于墻面可尋路區域信息的具體生成方式,可以通過對每個墻面尋路面片進行坐標轉換,獲取水平面片,根據水平面片生成墻面可尋路區域信息的方式,如將圖3中的墻面尋路面片進行坐標轉換,獲取如圖4所示的水平面片,根據該水平面片生成可用于計算可行路徑的墻面可尋路區域信息;也可以通過其他方式生成墻面可尋路區域信息。只要可以生成能夠用于計算墻面區域的可行路徑的墻面可尋路區域信息,對于墻面可尋路區域信息的具體生成方式,本實施例不做任何限制。
步驟202:加載可尋路區域信息。
步驟203:判斷ai起始點和ai目標點是否均在可尋路區域上;若是,則進入步驟204。
其中,步驟202和步驟203與步驟101和步驟102相似,在此不再贅述。
步驟204:判斷ai起始點是否在墻面尋路面片上;若否,則進入步驟205;若是,則進入步驟206。
可以理解的是,本步驟的目的是為了根據ai起始點的位置判斷是否可以進行全局尋路,由于如果ai起始點在墻面尋路面片時,全局尋路無法再墻面尋路面片上生成比較精確可行路徑,可能會產生如ai重疊的情況發生,可以通過步驟206至步驟209,計算較為精確的可行路徑,避免ai重疊的情況發生。
步驟205:進行全局尋路,計算出ai起始點到ai目標點的第一可行路徑,使ai按第一可行路徑行走。
可以理解的是,本步驟可以為當ai起始點不在墻面尋路面片上時,直接進行全局尋路,對于全局尋路的具體方式,可以采用與現有技術相似的方式,直接計算出可以通過墻面尋路面片的可行路徑。進一步的為了提高墻面尋路面片上的可行路徑的精確度,還可以對通過與步驟207和步驟208所示的方式相似的方式,對可行路徑通過的墻面尋路面片進行局部尋路。本實施例對此不受任何限制。
需要說明的是,本步驟中通過全局尋路計算第一可行路徑的過程,也可以放在步驟204之前,如先通過全局尋路計算第一可行路徑,再判斷ai起始點是否在墻面尋路面片上,若否,則使ai按第一可行路徑行走,若是,則進入步驟206。本實施例對此不受任何限制。
步驟206:判斷ai目標點是否在墻面尋路面片上;若否,則進入步驟207;若是,則進入步驟210。
可以理解的是,本步驟的目的是為了接下來判斷ai目標點和ai起始點是否在相同的墻面尋路面片上做準備。
步驟207:計算出ai離開ai起始點所在的墻面尋路面片的脫離點坐標。
其中,本步驟的目的是為了計算出ai離開ai起始點所在的墻面尋路面片的脫離點坐標,對于具體的計算方式和過程,可以由設計人員自行設置,只要可以計算出ai離開ai起始點所在的墻面尋路面片的脫離點坐標,本實施例對此不受任何限制。
步驟208:根據ai起始點所在的墻面尋路面片對應的墻面可尋路區域信息進行局部尋路,計算出ai起始點到脫離點坐標的第二可行路徑。
可以理解的是,本步驟的目的是為了根據墻面可尋路區域信息進行局部尋路,計算出ai從ai起始點到離開所在墻面尋路面片的脫離點坐標的第二可行路徑,對于局部尋路的具體過程,可以通過與全局尋路相似的方式,只是將全局尋路的區域變為墻面尋路面片進行坐標轉換后的水平面片對應的墻面可尋路區域。本實施例對此不受任何限制。
步驟209:進行全局尋路計算出脫離點坐標到ai目標點的第三可行路徑,使ai按第二可行路徑和第三可行路徑行走。
其中,本步驟的目的是為了計算出ai離開墻面尋路面片后所在的脫離點坐標到ai目標點的第三可行路徑,以使ai可以按照第二可行路徑和第三可行路徑行走,達到從ai起始點到ai目標點的尋路目的。
可以理解的是,步驟207至步驟209可以為通過計算墻面尋路面片的脫離點坐標,達到從ai起始點到脫離點坐標再到ai目標點的尋路過程,提高了墻面尋路面片上的可行路徑的精確度。本實施例所提供的方法只是展示了對ai起始點所在墻面尋路面片上進行脫離點坐標計算和局部尋路的過程,對于全局尋路通過的墻面尋路面片也可以通過與上述方式相似的方式,計算在墻面尋路面片上更為精確的可行路徑,本實施例對此不受任何限制。
步驟210:判斷ai目標點和ai起始點是否在相同的墻面尋路面片上;若否,則進入步驟207;若是,則進入步驟211。
可以理解的是,本步驟的目的是為了通過判斷ai目標點和ai起始點是否在相同的墻面尋路面片上,從而判斷是否可以直接對ai起始點到ai目標點的可行路徑進行局部尋路。
步驟211:根據ai起始點和ai目標點所在的墻面尋路面片對應的墻面可尋路區域信息進行局部尋路,計算出ai起始點到ai目標點的第四可行路徑,使ai按第四可行路徑行走。
需要說明的是,本步驟的目的是為了當ai目標點和ai起始點在相同的墻面尋路面片上,直接根據該墻面尋路面片對應的墻面可尋路區域信息進行局部尋路,計算出該墻面尋路面片上ai起始點到ai目標點的可行路徑,進一步提高了墻面尋路面片上的可行路徑的精確度。
可以理解的是,本實施例所提供的方法只是對ai起始點所在的墻面尋路面片上的可行路徑的計算進行了詳細的展示,對于全局尋路計算出的可行路徑通過的墻面尋路面片也可以與本實施例所提供的ai起始點所在的墻面尋路面片上的可行路徑的計算相似的方式,計算在墻面尋路面片上更為精確的可行路徑,本實施例對此不受任何限制。
本實施例中,本發明實施例通過計算出ai離開ai起始點所在的墻面尋路面片的脫離點坐標,可以獲取ai離開墻面尋路面片的坐標點;通過根據ai起始點所在的墻面尋路面片對應的墻面可尋路區域信息進行局部尋路,計算出ai起始點到脫離點坐標的第二可行路徑,可以計算ai離開墻面尋路面片的較為精確的可行路徑,進一步提升了墻面尋路面片上可行路徑計算的精確度,豐富了游戲中ai的行為,增強了游戲可玩性。
請參考圖5,圖5為本發明實施例所提供的一種ai墻面尋路的系統的結構圖,該系統可以包括:
加載模塊100,用于加載預先生成的可尋路區域信息;其中,可尋路區域信息包括添加了墻面尋路面片的可尋路區域的信息;
判斷模塊200,用于判斷ai起始點和ai目標點是否均在可尋路區域上;
尋路模塊300,用于若ai起始點和ai目標點均在可尋路區域上,則計算出ai起始點到ai目標點的可行路徑,使ai按可行路徑行走。
可選的,該系統還可以包括:
生成模塊,用于離線生成可尋路區域信息。
可選的,生成模塊,可以包括:
添加子模塊,用于利用ai地圖可視化編輯器添加預設墻面各自對應的墻面尋路面片;
第一生成子模塊,用于計算并連接每個墻面尋路面片上層和下層相鄰的可尋路區域,生成可尋路區域的信息。
可選的,生成模塊,還可以包括:
轉換子模塊,用于對每個墻面尋路面片進行坐標轉換,獲取水平面片;
第二生成子模塊,用于根據水平面片生成墻面可尋路區域信息。
可選的,尋路模塊300,可以包括:
第一判斷子模塊,用于判斷ai起始點是否在墻面尋路面片上;
第一尋路子模塊,用于若ai起始點不在墻面尋路面片上,則進行全局尋路,計算出ai起始點到ai目標點的第一可行路徑,使ai按第一可行路徑行走;
第二判斷子模塊,用于若ai起始點在墻面尋路面片上,則判斷ai目標點是否在墻面尋路面片上;
計算子模塊,用于若ai目標點不在墻面尋路面片上,則計算出ai離開ai起始點所在的墻面尋路面片的脫離點坐標;
第二尋路子模塊,用于根據ai起始點所在的墻面尋路面片對應的墻面可尋路區域信息進行局部尋路,計算出ai起始點到脫離點坐標的第二可行路徑;
第三尋路子模塊,用于進行全局尋路計算出脫離點坐標到ai目標點的第三可行路徑,使ai按第二可行路徑和第三可行路徑行走;
第三判斷子模塊,用于若ai目標點在墻面尋路面片上,則判斷ai目標點和ai起始點是否在相同的墻面尋路面片上;若ai目標點和ai起始點不在相同的墻面尋路面片上,則向計算子模塊發送啟動信號;
第四尋路子模塊,用于若ai目標點和ai起始點在相同的墻面尋路面片上,則根據ai起始點和ai目標點所在的墻面尋路面片對應的墻面可尋路區域信息進行局部尋路,計算出ai起始點到ai目標點的第四可行路徑,使ai按第四可行路徑行走。
本實施例中,本發明實施例通過加載模塊100加載預先生成的可尋路區域信息,可以加載添加了墻面尋路面片的可尋路區域的信息,使得在通過尋路模塊300計算出ai起始點到ai目標點的可行路徑時,可以計算出ai起始點和/或ai目標點在墻面尋路面片的墻面區域的可行路徑,并且可以計算出通過墻面區域的可行路徑,實現了墻面區域的ai尋路和通過墻面區域的可行路徑的計算,豐富了游戲中ai的行為,增強了游戲可玩性。
說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的系統而言,由于其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。
專業人員還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現,為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
結合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執行的軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(ram)、內存、只讀存儲器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動磁盤、cd-rom、或技術領域內所公知的任意其它形式的存儲介質中。
以上對本發明所提供的ai墻面尋路的方法及系統進行了詳細介紹。本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想。應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以對本發明進行若干改進和修飾,這些改進和修飾也落入本發明權利要求的保護范圍內。