欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種2.5d下模型添加及排序的方法

文檔序號(hào):6640261閱讀:279來源:國(guó)知局
一種 2.5d下模型添加及排序的方法
【專利摘要】一種2.5D下模型添加及排序的方法,包括如下步驟:在2.5場(chǎng)景中,任意選擇其中一個(gè)模型作為參考模型,獲取參考模型在2.5D場(chǎng)景坐標(biāo)系中的空間位置,用矩陣M1表示;從模型庫中選擇一個(gè)將要被添加到2.5D場(chǎng)景的模型作為移動(dòng)模型;調(diào)整移動(dòng)模型在參考模型頂視圖和前視圖中的相對(duì)位置;獲取移動(dòng)模型在參考模型坐標(biāo)系中的空間位置;得到移動(dòng)模型的在2.5D場(chǎng)景坐標(biāo)系中的空間位置;通過2.5D場(chǎng)景中的相機(jī)距離2.5D場(chǎng)景中任意兩個(gè)模型之間距離判斷任意兩個(gè)模型在顯示上的疊加關(guān)系;通過疊加關(guān)系進(jìn)行排序。通過本發(fā)明,引入?yún)⒖寄P偷母拍?,從而解決了模型的精確擺放問題;通過本發(fā)明的排序方法,解決了模型疊加擺放產(chǎn)生的排序問題,使得可以任意擺放2.5D模型在場(chǎng)景中的位置。
【專利說明】一種2.5D下模型添加及排序的方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及三維模型的【技術(shù)領(lǐng)域】,具體涉及一種2.5D下模型添加及排序的方法。

【背景技術(shù)】
[0002]現(xiàn)有的軟件技術(shù)中,允許用戶自由擺放2.5D模型的2.5D技術(shù)方案大多采用修改三維坐標(biāo)(x,y,z)的方式,該方式存在不直觀、不精確的技術(shù)缺陷,具體原因是由于模型的任意位置擺放導(dǎo)致2.5D場(chǎng)景排序出錯(cuò),從而導(dǎo)致顯示混亂,故此現(xiàn)有技術(shù)中大多應(yīng)用都禁止了這項(xiàng)功能;
[0003]現(xiàn)有技術(shù)中,由于2.固定視角的先天缺陷,導(dǎo)致了直接更改2.模型的三維坐標(biāo)(X,y, Z)的方式不直觀,很難查看新添加模型相對(duì)其附近的模型的位置關(guān)系,因此很難放置準(zhǔn)確,如若放置不妥則有可能會(huì)導(dǎo)致不同模型采用了相同的三維坐標(biāo);同時(shí)用戶自己擺放物品后會(huì)存在模型位置疊加,導(dǎo)致2.場(chǎng)景整體渲染順序出錯(cuò),故此大部分的2.設(shè)計(jì)軟件都不提倡用戶隨意擺放模型,設(shè)置關(guān)閉了這項(xiàng)功能。
[0004]然而自由擺放模型,對(duì)于用戶而言,卻能夠直觀的進(jìn)行整體移動(dòng)、旋轉(zhuǎn)、刪除等操作,將會(huì)大幅度的提高用戶的體驗(yàn),提高操作效率,故此急需一種新型的技術(shù)方案來解決該冋題。


【發(fā)明內(nèi)容】

[0005]本發(fā)明的目的是提供一種2.5D下模型添加及排序的方法,以克服現(xiàn)有技術(shù)存在的上述不足。
[0006]本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的:
[0007]一種2.5D下模型添加及排序的方法,包括如下步驟:
[0008]S11,在2.場(chǎng)景中,包括若干模型,每個(gè)所述模型的空間位置用一個(gè)矩陣表示;
[0009]S12,在所述2.5場(chǎng)景中,任意選擇其中一個(gè)模型作為參考模型,獲取所述參考模型在所述2.5D場(chǎng)景坐標(biāo)系中的空間位置,用矩陣Ml表示;
[0010]S13,從模型庫中選擇一個(gè)將要被添加到所述2.場(chǎng)景的模型作為移動(dòng)模型;調(diào)整所述移動(dòng)模型在所述參考模型頂視圖和前視圖中的相對(duì)位置;獲取所述移動(dòng)模型在所述參考模型坐標(biāo)系中的空間位置,用矩陣M2表示;
[0011]S14,通過Ml和M2,得到所述移動(dòng)模型的在所述2.場(chǎng)景坐標(biāo)系中的空間位置,用矩陣M3表示;M3 = M1XM2 ;
[0012]S15,通過所述2.場(chǎng)景中的相機(jī)距離所述2.場(chǎng)景中任意兩個(gè)模型之間距離判斷任意兩個(gè)t旲型在顯不上的萱加關(guān)系;
[0013]S16,通過所述疊加關(guān)系進(jìn)行排序。
[0014]優(yōu)選的,所述移動(dòng)模型在所述參考模型的頂視圖和前視圖中添加。
[0015]優(yōu)選的,Ml、M2、M3矩陣分別為一個(gè)三維矩陣;所述三維矩陣中包含所屬模型的縮放、旋轉(zhuǎn)和移動(dòng)信息。
[0016]優(yōu)選的,S15中,任意兩個(gè)模型分別為模型A和模型B ;
[0017]若所述模型A覆蓋在所述模型B上,則從所述模型A到所述模型B形成第一個(gè)有向邊,若所述模型B覆蓋在所述模型A上,則從所述模型B到所述模型A形成第二個(gè)有向邊;依此類推,由兩兩相鄰的所有模型之間的疊加關(guān)系形成的有向邊構(gòu)成一張有向圖;所述有向圖包含一個(gè)以上環(huán);
[0018]S16中,通過所述疊加關(guān)系進(jìn)行排序的具體實(shí)現(xiàn)方法為:
[0019]S41,搜索若所述有向圖的環(huán),若搜索到環(huán),則刪除搜索到的環(huán)中的任意一條有向邊;重復(fù)搜索環(huán)與刪除搜索到的環(huán)中的任意一條有向邊的過程,直至所述有向圖中沒有環(huán),形成有向無環(huán)圖;
[0020]S42,對(duì)所述有向無環(huán)圖進(jìn)行拓?fù)渑判?,所述排序后的結(jié)果作為所述2.場(chǎng)景中所有模型的顯示順序。
[0021]更加優(yōu)選的,所述有向圖包括一個(gè)以上環(huán),環(huán)的確定方法具體為:若存在η個(gè)模型分別為[Al, Α2,----,An], η> = 2 ;對(duì)于任意i,1< = i< = n_l ;Ai到Ai+1有一條有向邊,
且An到Al有一條有向邊,則η個(gè)模型和η條首尾相連的有向邊形成了一個(gè)環(huán)。
[0022]更加優(yōu)選的,對(duì)刪除環(huán)的有向圖進(jìn)行拓?fù)渑判虻姆椒ň唧w為:
[0023]S61,獲取所述2.5D場(chǎng)景中的模型的入度;
[0024]S62,遍歷所述2.場(chǎng)景中的所有模型,找到入度為O的模型,作為臨界模型;輸出所述臨界模型,刪除所述臨界模型以及所有以所述臨界模型為起點(diǎn)的有向邊;
[0025]S63,重復(fù)S61-S62,直到所有的模型和所有的有向邊均被刪除為止;
[0026]S64,所述2.5D場(chǎng)景中的所有模型作為所述臨界模型模型被輸出的順序作為模型的拓?fù)漤樞颉?br> [0027]更加優(yōu)選的,S61,獲取所述2.5D場(chǎng)景中的模型的入度的方法具體為:
[0028]所述2.5D場(chǎng)景中的模型的入度具體為指向所述拓?fù)淠P偷挠邢蜻叺膫€(gè)數(shù);
[0029]若有一條有向邊從所述模型A指向所述模型B,則所述模型B的入度值+1 ;
[0030]遍歷所有的有向邊,得到每個(gè)模型的入度值。
[0031]參考坐標(biāo)具體為所述參考模型頂視圖的三維坐標(biāo)和所述參考模型主視圖的三維坐標(biāo)共同作為參考坐標(biāo);
[0032]其他模型指若干模型中除去參考模型之外的模型;
[0033]術(shù)語解釋:
[0034]2.5D模型疊加:2.5D模型任意位置的擺放,允許模型間包圍盒或包圍球交叉。
[0035]2.5D場(chǎng)景排序:想讓2.5D場(chǎng)景中的2.5D模型正確顯示,需要對(duì)2.5D模型渲染按順序進(jìn)行排序,一般根據(jù)物體的包圍盒或包圍球體和物體的位置信息、相機(jī)位置信息得到物體兩兩之間的遮擋關(guān)系,形成一個(gè)有向圖,對(duì)這個(gè)有向圖進(jìn)行拓?fù)渑判颍涂梢缘玫剿?.模型的渲染順序。
[0036]入度:入度是圖論算法中重要的概念之一。它通常指有向圖中某點(diǎn)作為圖中邊的終點(diǎn)的次數(shù)之和。
[0037]拓?fù)渑判?對(duì)一個(gè)有向無環(huán)圖(Directed Acyclic Graph簡(jiǎn)稱DAG)G進(jìn)行拓?fù)渑判?,是將G中所有頂點(diǎn)排成一個(gè)線性序列,使得圖中任意一對(duì)頂點(diǎn)u和V,若邊(U,V) eE(G),則u在線性序列中出現(xiàn)在V之前。通常,這樣的線性序列稱為滿足拓?fù)浯涡?Topological Order)的序列,簡(jiǎn)稱拓?fù)湫蛄?。?jiǎn)單的說,由某個(gè)集合上的一個(gè)偏序得到該集合上的一個(gè)全序,這個(gè)操作稱之為拓?fù)渑判颉?br> [0038]本發(fā)明的有益效果為:
[0039]通過本發(fā)明,引入?yún)⒖寄P偷母拍?,從而賦予模型以相對(duì)坐標(biāo),從而解決了模型的精確擺放問題;同時(shí)參考模型和被添加模型形成了一種一對(duì)多的“父子”關(guān)系,可對(duì)這組模型進(jìn)行整體移動(dòng)、旋轉(zhuǎn)、刪除等操作,提高操作效率;通過本發(fā)明創(chuàng)新性的排序方法,解決了模型疊加擺放產(chǎn)生的排序問題,使得可以任意擺放2.模型在場(chǎng)景中的位置。

【專利附圖】

【附圖說明】
[0040]圖1為本發(fā)明的流程結(jié)構(gòu)示意圖;
[0041]圖2為本發(fā)明拓?fù)渑判蛟贏OV-網(wǎng)及其拓?fù)溆行蛐蛄挟a(chǎn)生的過程示意圖。

【具體實(shí)施方式】
[0042]如圖1所示,本發(fā)明采用2.技術(shù)、三維矩陣運(yùn)算、有向圖查找環(huán)算法、拓?fù)渑判蛩惴?
[0043]一種2.5D下模型添加及排序的方法,包括如下步驟:
[0044]S11,在2.場(chǎng)景中,包括若干模型,每個(gè)模型的空間位置用一個(gè)矩陣表示;
[0045]S12,在2.5場(chǎng)景中,任意選擇其中一個(gè)模型作為參考模型,獲取參考模型在2.5D場(chǎng)景坐標(biāo)系中的空間位置,用矩陣Ml表示;
[0046]S13,從模型庫中選擇一個(gè)將要被添加到2.5D場(chǎng)景的模型作為移動(dòng)模型;調(diào)整所述移動(dòng)模型在所述參考模型頂視圖和前視圖中的相對(duì)位置;獲取移動(dòng)模型在參考模型坐標(biāo)系中的空間位置,用矩陣M2表示;
[0047]S14,通過Ml和M2,得到移動(dòng)模型的在2.5D場(chǎng)景坐標(biāo)系中的空間位置,用矩陣M3表示;M3 = Ml X M2 ;
[0048]S15,通過2.場(chǎng)景中的相機(jī)距離2.場(chǎng)景中任意兩個(gè)模型之間距離判斷任意兩個(gè)豐旲型在顯不上的萱加關(guān)系;
[0049]S16,通過疊加關(guān)系進(jìn)行排序。
[0050]在以上步驟中,所述移動(dòng)模型在所述參考模型的頂視圖和前視圖中添加;M1、M2、M3矩陣分別為一個(gè)三維矩陣;三維矩陣中包含所屬模型的縮放、旋轉(zhuǎn)和移動(dòng)信息。
[0051]在S15中,任意兩個(gè)模型分別為模型A和模型B ;
[0052]若模型A覆蓋在模型B上,則從模型A到模型B形成第一個(gè)有向邊,若模型B覆蓋在模型A上,則從模型B到模型A形成第二個(gè)有向邊;依此類推,由模型A與模型B的疊加關(guān)系形成的有向邊構(gòu)成一張有向圖;有向圖可能包括一個(gè)或一個(gè)以上環(huán);
[0053]在S16中,通過疊加關(guān)系進(jìn)行排序的具體實(shí)現(xiàn)方法為:
[0054]S41,搜索若所述有向圖的環(huán),若搜索到環(huán)則刪除環(huán)中的任意一條有向邊;重復(fù)以上過程,直至有向圖中沒有環(huán),形成有向無環(huán)圖;
[0055]S42,對(duì)有向無環(huán)圖進(jìn)行拓?fù)渑判?,排序后的結(jié)果作為2.場(chǎng)景中所有模型的顯示順序。
[0056]有向圖包括一個(gè)以上環(huán),環(huán)的確定方法具體為:若存在η個(gè)模型分別為[Al, A2,...., An], n> = 2 ;對(duì)于任意 i,1〈 = i< = n_l ;Ai 到 Ai+1 有一條有向邊,且 An 到Al有一條有向邊,則η個(gè)模型和η條首尾相連的有向邊形成了一個(gè)環(huán)。
[0057]進(jìn)一步的,對(duì)刪除環(huán)的有向無環(huán)圖進(jìn)行拓?fù)渑判虻姆椒ň唧w為:
[0058]S61,獲取2.5D場(chǎng)景中的模型的入度;
[0059]S62,遍歷2.場(chǎng)景中的所有模型,找到入度為O的模型,作為臨界模型;輸出臨界模型,刪除臨界模型以及所有以臨界模型為起點(diǎn)的有向邊;
[0060]S63,重復(fù)S61-S62,直到所有的模型和有向邊均被刪除為止;
[0061]S64,2.5D場(chǎng)景中的所有模型作為臨界模型模型被輸出的順序作為模型的拓?fù)漤樞颉?br> [0062]在S61中,獲取2.5D場(chǎng)景中的模型的入度的方法具體為:
[0063]2.5D場(chǎng)景中的模型的入度具體為指向拓?fù)淠P偷挠邢蜻叺膫€(gè)數(shù);
[0064]若有一條有向邊從模型A指向模型B,則模型B的入度值+1 ;
[0065]遍歷所有的有向邊,得到每個(gè)模型的入度值。
[0066]如圖2所示的AOV-網(wǎng)及其拓?fù)溆行蛐蛄挟a(chǎn)生的過程,(a)AOV-網(wǎng);(b)輸出v6之后;(C)輸出vl之后;(d)輸出v4之后;(e)輸出v3之后;(f)輸出v2之后,通過該方法,逐級(jí)進(jìn)行排序,實(shí)現(xiàn)了拓?fù)渑判颉?br> [0067]本技術(shù)方案在疊加2.5D模型時(shí),使用了參照模型,在參照模型的頂視圖和前視圖中調(diào)整新添加2.5D模型的位置,用直觀拖動(dòng)的方式而非抽象的調(diào)整數(shù)字的放置。同時(shí)針對(duì)
2.模型疊加后的排序顯示錯(cuò)誤進(jìn)行改進(jìn),有效避免了模型疊加情況下的排序錯(cuò)誤。該模型添加和排序方法可以任意擺放2.模型在場(chǎng)景中的位置,操作直觀、精確;同時(shí)參考模型和被添加模型形成了一種一對(duì)多的“父子”關(guān)系,可以這組模型進(jìn)行整體移動(dòng)、旋轉(zhuǎn)、刪除等操作,提高操作效率。2.模型擺放更加直觀、方便、精確;2.場(chǎng)景排序更加精確、容錯(cuò)性更大,降低名疊加帶來的排序混亂概率。
[0068]以上通過具體的和優(yōu)選的實(shí)施例詳細(xì)的描述了本發(fā)明,但本領(lǐng)域技術(shù)人員應(yīng)該明白,本發(fā)明并不局限于以上所述實(shí)施例,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種2.5D下模型添加及排序的方法,其特征在于,包括如下步驟: S11,在2.場(chǎng)景中,包括若干模型,每個(gè)所述模型的空間位置用一個(gè)矩陣表示; S12,在所述2.5場(chǎng)景中,任意選擇其中一個(gè)模型作為參考模型,獲取所述參考模型在所述2.場(chǎng)景坐標(biāo)系中的空間位置,用矩陣Ml表示; S13,從模型庫中選擇一個(gè)將要被添加到所述2.5D場(chǎng)景的模型作為移動(dòng)模型;調(diào)整所述移動(dòng)模型在所述參考模型頂視圖和前視圖中的相對(duì)位置;獲取調(diào)整后的所述移動(dòng)模型在所述參考模型坐標(biāo)系中的空間位置,用矩陣M2表示; S14,通過Ml和M2,得到所述移動(dòng)模型的在所述2.場(chǎng)景坐標(biāo)系中的空間位置,用矩陣M3 表示;M3 = Ml X M2 ; S15,通過所述2.場(chǎng)景中的相機(jī)距離所述2.場(chǎng)景中任意兩個(gè)模型之間距離判斷任意兩個(gè)t旲型在顯不上的萱加關(guān)系; S16,通過所述疊加關(guān)系進(jìn)行排序。
2.根據(jù)權(quán)利要求1所述的2.5D下模型添加及排序的方法,其特征在于:所述移動(dòng)模型添加在所述參考模型的頂視圖和前視圖中。
3.根據(jù)權(quán)利要求1所述的2.5D下模型添加及排序的方法,其特征在于:M1、M2、M3矩陣分別為一個(gè)三維矩陣;所述三維矩陣中包含所屬模型的縮放、旋轉(zhuǎn)和移動(dòng)信息。
4.根據(jù)權(quán)利要求1所述的2.5D下模型添加及排序的方法,其特征在于: S15中,任意兩個(gè)模型分別為模型A和模型B ; 若所述模型A覆蓋在所述模型B上,則從所述模型A到所述模型B形成第一個(gè)有向邊,若所述模型B覆蓋在所述模型A上,則從所述模型B到所述模型 A形成第二個(gè)有向邊;依此類推,由兩兩相鄰的所有模型之間的疊加關(guān)系形成的有向邊構(gòu)成一張有向圖;所述有向圖包含一個(gè)以上環(huán); S16中,通過所述疊加關(guān)系進(jìn)行排序的具體實(shí)現(xiàn)方法為: S41,搜索所述有向圖的環(huán),若搜索到環(huán),則刪除搜索到的環(huán)中的任意一條有向邊;重復(fù)搜索環(huán)與刪除搜索到的環(huán)中的任意一條有向邊的過程,直至所述有向圖中沒有環(huán),形成有向無環(huán)圖; S42,對(duì)所述有向無環(huán)圖進(jìn)行拓?fù)渑判?,所述排序后的結(jié)果作為所述2.場(chǎng)景中所有模型的顯示順序。
5.根據(jù)權(quán)利要求4所述的2.5D下模型添加及排序的方法,其特征在于: 所述有向圖包括一個(gè)以上環(huán),環(huán)的確定方法具體為:若存在η個(gè)模型分別為[Al, Α2,...., An], η> = 2 ;對(duì)于任意 i,1〈 = i< = η-1 ;Ai 到 Ai+1 有一條有向邊,且 An 到Al有一條有向邊,則η個(gè)模型和η條首尾相連的有向邊形成了一個(gè)環(huán)。
6.根據(jù)權(quán)利要求4所述的2.5D下模型添加及排序的方法,其特征在于,對(duì)有向無環(huán)圖進(jìn)行拓?fù)渑判虻姆椒ň唧w為: S61,獲取所述2.場(chǎng)景中的模型的入度; S62,遍歷所述2.場(chǎng)景中的所有模型,找到入度為O的模型,作為臨界模型;輸出所述臨界模型,刪除所述臨界模型以及所有以所述臨界模型為起點(diǎn)的有向邊; S63,重復(fù)S61-S62,直到所有的模型和所有的有向邊均被刪除為止; S64,所述2.5D場(chǎng)景中的所有模型作為所述臨界模型模型被輸出的順序作為模型的拓?fù)漤樞颉?br> 7.根據(jù)權(quán)利要求6所述的2.5D下模型添加及排序的方法,其特征在于,S61,獲取所述.2.5D場(chǎng)景中的模型的入度的方法具體為: 所述2.5D場(chǎng)景中的模型的入度具體為指向所述拓?fù)淠P偷挠邢蜻叺膫€(gè)數(shù); 若有一條有向邊從所述模型A指向所述模型B,則所述模型B的入度值+1 ; 遍歷所有的有向邊,得到每個(gè)模型的入度值。
【文檔編號(hào)】G06F17/50GK104504206SQ201410830473
【公開日】2015年4月8日 申請(qǐng)日期:2014年12月22日 優(yōu)先權(quán)日:2014年12月22日
【發(fā)明者】黃尤江, 李松松 申請(qǐng)人:上海愛福窩云技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
平武县| 莱西市| 大竹县| 达日县| 安丘市| 大厂| 阳曲县| 余江县| 专栏| 淳安县| 韶关市| 祥云县| 平顺县| 布尔津县| 佳木斯市| 沈阳市| 博爱县| 大方县| 广灵县| 巴南区| 天长市| 资兴市| 东乌珠穆沁旗| 临沧市| 尉氏县| 民和| 婺源县| 潢川县| 汶上县| 建阳市| 巩义市| 桓台县| 福海县| 南木林县| 溧水县| 华池县| 开化县| 兴宁市| 册亨县| 屏南县| 芜湖市|