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

一種基于移動探測器以控制3D模型移動的系統(tǒng)及方法與流程

文檔序號:12126637閱讀:271來源:國知局
一種基于移動探測器以控制3D模型移動的系統(tǒng)及方法與流程

本發(fā)明屬于3D虛擬現(xiàn)實建模的技術(shù)領(lǐng)域,具體地說,涉及一種基于移動探測器以控制3D模型移動的系統(tǒng)及方法。



背景技術(shù):

隨著人們追求更加逼真的虛擬現(xiàn)實的體驗的欲望的愈發(fā)強烈,3D的虛擬現(xiàn)實技術(shù)也隨之普及。尤其在現(xiàn)有的居室3D模型建模技術(shù)中,常常涉及對家具的平移操作,對于某些特殊的家具的位置是時常依賴于支撐物的,即其平移后不能脫離支撐物,如:茶幾上的茶具、電視柜上的電視等;但在現(xiàn)在的技術(shù)中,都是通過人工檢測與人工糾正的方法以控制平移正確性,即當(dāng)操作者發(fā)現(xiàn)3D模型經(jīng)過平移后已離開支撐物時,需要操作者再將按原來的平移路線將其恢復(fù)到支撐物上;這種人工檢測與人工糾正的方式既不方便也不準(zhǔn)確,大大增加了用戶對3D建模的操作成本。



技術(shù)實現(xiàn)要素:

1、要解決的問題

針對現(xiàn)有3D模型建模時采用人工對3D模型平移操作復(fù)雜、精度差的問題,本發(fā)明提供一種基于移動探測器以控制3D模型移動的系統(tǒng),以及通過該系統(tǒng)控制3D模型移動的方法,降低了人工對3D模型平移的操作難度,提高了移動精度。

2、技術(shù)方案

為解決上述問題,本發(fā)明采用如下的技術(shù)方案。

一種基于移動探測器以控制3D模型移動的系統(tǒng),包括3D模型建立器、3D模型位移捕捉器、3D模型移動探測器和3D模型節(jié)點坐標(biāo)計算器;所述的3D模型建立器單向連接所述的3D模型移動探測器;所述的3D模型位移捕捉器單向連接所述的3D模型移動探測器;所述的3D模型移動探測器單向連接所述的3D模型節(jié)點坐標(biāo)計算器。

優(yōu)選地,所述的3D模型建立器用于計算3D模型的OBB包圍盒各節(jié)點坐標(biāo)和移動物參考點坐標(biāo),并將所述的OBB包圍盒各節(jié)點坐標(biāo)和移動物參考點坐標(biāo)傳輸給所述的3D模型移動探測器。

優(yōu)選地,所述的3D模型位移捕捉器是一種用于捕捉控制所述的移動物3D模型的位移的坐標(biāo),并將此控制所述的移動物3D模型的位移的坐標(biāo)傳輸給所述的3D模型移動探測器的模塊。

優(yōu)選地,所述的3D模型移動探測器是一種探測移動物3D模型的位移的合理性的模塊。

優(yōu)選地,所述的3D模型節(jié)點坐標(biāo)計算器是一種根據(jù)探測值判斷是否對移動物3D模型各節(jié)點坐標(biāo)進行平移的模塊。

一種基于移動探測器以控制3D模型移動的方法,包括如下步驟:

步驟1.初始化3D模型;通過3D模型建立器將支撐物3D模型的OBB包圍盒各節(jié)點坐標(biāo)和移動物的參考點的坐標(biāo)一并傳輸給所述的3D模型移動探測器;

步驟2.捕捉控制移動物3D模型的位移的坐標(biāo);通過所述的3D模型位移捕捉器從屏幕中捕捉控制所述的移動物3D模型的位移的坐標(biāo),并將控制所述的移動物3D模型的位移的坐標(biāo)傳輸給所述的3D模型移動探測器;

步驟3.探測控制移動物3D模型的位移的合理性;通過3D模型移動探測器將移動物3D模型的位移的合理性的探測值傳輸給所述的3D模型節(jié)點坐標(biāo)計算器;

步驟4.根據(jù)步驟3中所述的探測值移動移動物3D模型。

優(yōu)選地,步驟1中所述的支撐物3D模型的OBB包圍盒各節(jié)點坐標(biāo)的獲取方法是:首先通過所述的3D模型建立器獲取支撐物3D模型各節(jié)點的坐標(biāo),再根據(jù)所述的支撐物3D模型各節(jié)點的坐標(biāo)計算出所述的支撐物3D模型的OBB包圍盒各節(jié)點坐標(biāo)。

優(yōu)選地,步驟1中所述的參考點的坐標(biāo)的獲取方法是:首先通過所述的3D模型建立器獲取移動物3D模型各節(jié)點的坐標(biāo),根據(jù)所述的移動物3D模型各節(jié)點的坐標(biāo)計算所述的移動物3D模型的OBB包圍盒各節(jié)點坐標(biāo);再從所述的移動物3D模型的OBB包圍盒中選取一點作為參考點。

優(yōu)選地,步驟3中所述的控制移動物3D模型的位移的合理性的探測的具體方法是:

(一)所述的3D模型移動探測器接收步驟1中所述的3D模型建立器獲取的所述的支撐物3D模型的OBB包圍盒各節(jié)點坐標(biāo)和所述的參考點的坐標(biāo)、接收步驟2中3D模型位移捕捉器獲取的控制所述的移動物3D模型的位移的坐標(biāo);

(二)從支撐物3D模型的OBB包圍盒平面中獲取支撐面的多邊形各節(jié)點坐標(biāo),即支撐物3D模型的OBB包圍盒的6個平面中正對著移動物3D模型的那個平面即為支撐面,設(shè)此支撐面的多邊形的各節(jié)點坐標(biāo)為group_brace_flat;

(三)上述步驟(一)中所述的參考點設(shè)為P,P在XYZ軸上的坐標(biāo)為(Xp,Yp,Zp),控制所述的移動物3D模型的位移的坐標(biāo)在XYZ軸上為(Xt,Yt,Zt),P經(jīng)過控制所述的移動物3D模型的位移進行移動后的點設(shè)為P1,P1的坐標(biāo)為P的坐標(biāo)加上控制所述的移動物3D模型的位移的坐標(biāo),即P1的坐標(biāo)為(Xp+Xt,Yp+Yt,Zp+Zt);

(四)將上述步驟(三)中P1的坐標(biāo)向步驟(二)中所述的支撐面進行垂直投影,投影后的點設(shè)為P2,對P2是否在所述的group_brace_flat中進行判斷,獲得判斷值,所述的判斷值即為移動物3D模型的位移的合理性的探測值;將所述的探測值傳輸給所述的3D模型節(jié)點坐標(biāo)計算器。

優(yōu)選地,步驟4中根據(jù)探測值移動移動物3D模型的具體方法是:所述的P2落在所述的group_brace_flat中,則對移動物3D模型所有節(jié)點坐標(biāo)進行平移,否則不對移動物3D模型各節(jié)點坐標(biāo)進行平移。

3、有益效果

相比于現(xiàn)有技術(shù),本發(fā)明的有益效果為:

(1)本發(fā)明提供了3D模型移動探測器,即發(fā)明了一種全新的自動探測信息模型,基于這種自動探測的信息模型可以做到對出移動物3D模型的移動合理性進行提前探測,解決了現(xiàn)有技術(shù)中都是通過人工檢測與人工糾正的方法以控制平移正確性的問題;

(2)本發(fā)明提供了3D模型節(jié)點坐標(biāo)計算器,即根據(jù)移動合理性探測值控制移動物3D模型各節(jié)點坐標(biāo)平移計算的方法,是對現(xiàn)有3D模型節(jié)點坐標(biāo)計算器的增強,解決了現(xiàn)有技術(shù)中不能根據(jù)移動合理性探測值控制移動的問題;

(3)本發(fā)明在居室3D模型中對一個支撐物上的家具3D模型進行平移時,能夠做到對3D家具模型是否滿足平移條件進行自動預(yù)先探測,大大降低了用戶對3D建模的操作成本,提升了用戶對3D模型的操作體驗。

附圖說明

圖1為本發(fā)明的3D模型平移示意圖;

圖中:1、參考點;2、移動物3D模型;3、支撐物3D模型;4、支撐平面。

圖2為本發(fā)明系統(tǒng)模塊連接結(jié)構(gòu)圖;

圖3為本發(fā)明的算法流程圖。

具體實施方式

下面結(jié)合附圖對本發(fā)明進行詳細描述。

一種基于移動探測器以控制3D模型移動的系統(tǒng),包括3D模型建立器、3D模型位移捕捉器、3D模型移動探測器、3D模型節(jié)點坐標(biāo)計算器四個模塊;

如圖2所示,所述的3D模型建立器單向連接所述的3D模型移動探測器;所述的3D模型位移捕捉器單向連接所述的3D模型移動探測器;所述的3D模型移動探測器單向連接所述的3D模型節(jié)點坐標(biāo)計算器;

所述的3D模型建立器是一種如下模塊:根據(jù)支撐物3D模型各節(jié)點的坐標(biāo)計算OBB包圍盒各節(jié)點坐標(biāo);根據(jù)移動物3D模型各節(jié)點的坐標(biāo)計算OBB包圍盒各節(jié)點坐標(biāo),并在此OBB包圍盒內(nèi)選取一點作為移動物的參考點;將支撐物3D模型的OBB包圍盒各節(jié)點坐標(biāo)和移動物參考點坐標(biāo)一并傳輸給3D模型移動探測器;如圖1展示了在移動物3D模型2的OBB包圍盒內(nèi)選取一點作為參考點1;圖1同時展示了支撐物3D模型3和移動物3D模型2以及支撐平面4的位置關(guān)系;

所述的3D模型位移捕捉器是一種如下模塊:用于捕捉控制所述的移動物3D模型的位移的坐標(biāo),并將此控制所述的移動物3D模型的位移的坐標(biāo)傳輸給所述的3D模型移動探測器;

所述的3D模型移動探測器是一種如下模塊:根據(jù)從3D模型建立器獲取的支撐物3D模型的OBB包圍盒各節(jié)點坐標(biāo)和移動物參考點坐標(biāo)以及從3D模型位移捕捉器獲取的控制所述的移動物3D模型的位移的坐標(biāo)探測移動物3D模型的位移的合理性;并將計算后的位移的合理性的探測結(jié)果傳輸給3D模型節(jié)點坐標(biāo)計算器;

所述的3D模型節(jié)點坐標(biāo)計算器是一種如下模塊:根據(jù)從3D模型移動探測器獲取的位移的合理性探測結(jié)果判斷是否對移動物3D模型各節(jié)點坐標(biāo)進行平移。

一種基于移動探測器以控制3D模型移動的方法,如圖3所示,包括如下步驟:

步驟1.初始化3D模型;

首先通過所述的3D模型建立器獲取支撐物3D模型各節(jié)點的坐標(biāo),根據(jù)所述的支撐物3D模型各節(jié)點的坐標(biāo)計算出所述的支撐物3D模型的OBB包圍盒各節(jié)點坐標(biāo);通過所述的3D模型建立器獲取移動物3D模型各節(jié)點的坐標(biāo),根據(jù)所述的移動物3D模型各節(jié)點的坐標(biāo)計算所述的移動物3D模型的OBB包圍盒各節(jié)點坐標(biāo);再從所述的移動物3D模型的OBB包圍盒中選取一點作為參考點;將所述的支撐物3D模型的OBB包圍盒各節(jié)點坐標(biāo)和所述的參考點的坐標(biāo)一并傳輸給所述的3D模型移動探測器;

步驟2.捕捉控制移動物3D模型的位移的坐標(biāo);

通過所述的3D模型位移捕捉器從屏幕中捕捉控制所述的移動物3D模型的位移的坐標(biāo),并將控制所述的移動物3D模型的位移的坐標(biāo)傳輸給所述的3D模型移動探測器;

步驟3.探測控制移動物3D模型的位移的合理性;具體包括如下步驟:

(一)所述的3D模型移動探測器接收步驟1中所述的3D模型建立器獲取的所述的支撐物3D模型的OBB包圍盒各節(jié)點坐標(biāo)和所述的參考點的坐標(biāo)、接收步驟2中3D模型位移捕捉器獲取的控制所述的移動物3D模型的位移的坐標(biāo);

(二)從支撐物3D模型的OBB包圍盒平面中獲取支撐面的多邊形各節(jié)點坐標(biāo),即支撐物3D模型的OBB包圍盒的6個平面中正對著移動物3D模型的那個平面即為支撐面,設(shè)此支撐面的多邊形的各節(jié)點坐標(biāo)為group_brace_flat;

(三)上述步驟(一)中所述的參考點設(shè)為P,P在XYZ軸上的坐標(biāo)為(Xp,Yp,Zp),控制所述的移動物3D模型的位移的坐標(biāo)在XYZ軸上為(Xt,Yt,Zt),P經(jīng)過控制所述的移動物3D模型的位移進行移動后的點設(shè)為P1,P1的坐標(biāo)為P的坐標(biāo)加上控制所述的移動物3D模型的位移的坐標(biāo),即P1的坐標(biāo)為(Xp+Xt,Yp+Yt,Zp+Zt);

(四)將上述步驟(三)中P1的坐標(biāo)向步驟(二)中所述的支撐面進行垂直投影,投影后的點設(shè)為P2,對P2是否在所述的group_brace_flat中進行判斷,獲得判斷值,所述的判斷值即為移動物3D模型的位移的合理性的探測值,此探測值記錄了P2是否落在group_brace_flat中;將所述的探測值傳輸給所述的3D模型節(jié)點坐標(biāo)計算器;

步驟4.根據(jù)步驟3中所述的探測值移動移動物3D模型;

所述的3D模型節(jié)點坐標(biāo)計算器接收從所述的3D模型移動探測器獲取的所述的探測值,如果所述的探測值表示P2仍落在所述的group_brace_flat中,則對移動物3D模型所有節(jié)點坐標(biāo)進行平移,如果所述的探測值表示P2未落在所述的group_brace_flat中,則不對移動物3D模型各節(jié)點坐標(biāo)進行平移。

下面結(jié)合具體實施例對本發(fā)明進一步進行描述。

實施例1

本實施例以電視柜上的電視的平移為說明如下。

一種基于移動探測器以控制3D模型移動的方法,包括如下步驟:

步驟1.初始化3D模型;

首先通過所述的3D模型建立器獲取電視柜3D模型各節(jié)點的坐標(biāo),根據(jù)所述的電視柜3D模型各節(jié)點的坐標(biāo)計算出所述的電視柜3D模型的OBB包圍盒各節(jié)點坐標(biāo);通過所述的3D模型建立器獲取電視3D模型各節(jié)點的坐標(biāo),根據(jù)所述的電視3D模型各節(jié)點的坐標(biāo)計算所述的電視3D模型的OBB包圍盒各節(jié)點坐標(biāo);再從所述的電視3D模型的OBB包圍盒中選取一點作為參考點;將所述的電視柜3D模型的OBB包圍盒各節(jié)點坐標(biāo)和所述的參考點的坐標(biāo)一并傳輸給所述的3D模型移動探測器;

步驟2.捕捉控制移動物3D模型的位移的坐標(biāo);

通過所述的3D模型位移捕捉器從屏幕中捕捉控制所述的電視3D模型的位移的坐標(biāo),并將控制所述的電視3D模型的位移的坐標(biāo)傳輸給所述的3D模型移動探測器;

步驟3.探測控制移動物3D模型的位移的合理性;具體包括如下步驟:

(一)所述的3D模型移動探測器接收步驟1中所述的3D模型建立器獲取的所述的電視柜3D模型的OBB包圍盒各節(jié)點坐標(biāo)和所述的參考點的坐標(biāo)、接收步驟2中3D模型位移捕捉器獲取的控制所述的電視3D模型的位移的坐標(biāo);

(二)從電視柜3D模型的OBB包圍盒平面中獲取支撐面的多邊形各節(jié)點坐標(biāo),即電視柜3D模型的OBB包圍盒的6個平面中正對著電視3D模型的那個平面即為支撐面,設(shè)此支撐面的多邊形的各節(jié)點坐標(biāo)為group_brace_flat;此多邊形的各節(jié)點坐標(biāo)的存儲方式可以但不限于數(shù)組或鏈表;

(三)步驟(一)中所述的參考點設(shè)為P,P在XYZ軸上的坐標(biāo)為(Xp,Yp,Zp),控制所述的電視3D模型的位移的坐標(biāo)在XYZ軸上為(Xt,Yt,Zt),P經(jīng)過控制所述的電視3D模型的位移進行移動后的點設(shè)為P1,P1的坐標(biāo)為P的坐標(biāo)加上控制所述的電視3D模型的位移的坐標(biāo),即P1的坐標(biāo)為(Xp+Xt,Yp+Yt,Zp+Zt);

(四)將步驟(三)中P1的坐標(biāo)向步驟(二)中所述的支撐面進行垂直投影,投影后的點設(shè)為P2,對P2是否在所述的group_brace_flat中進行判斷,獲得判斷值,所述的判斷值即為電視3D模型的位移的合理性的探測值;將所述的探測值傳輸給所述的3D模型節(jié)點坐標(biāo)計算器;所述的探測值存儲類型可以但不限于枚舉型或者整數(shù)型或者字符串型;

步驟4.根據(jù)步驟3中所述的探測值移動移動物3D模型;

所述的3D模型節(jié)點坐標(biāo)計算器接收從所述的3D模型移動探測器獲取的所述的探測值,如果所述的探測值表示P2仍落在所述的group_brace_flat中,則對電視3D模型所有節(jié)點坐標(biāo)進行平移,如果所述的探測值表示P2未落在所述的group_brace_flat中,則不對電視3D模型各節(jié)點坐標(biāo)進行平移。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
远安县| 永福县| 九寨沟县| 永德县| 米林县| 台前县| 兰坪| 阜平县| 昌乐县| 汨罗市| 汾西县| 来凤县| 晋城| 昌图县| 拜泉县| 金塔县| 米林县| 新乐市| 资溪县| 荔浦县| 珲春市| 库车县| 四子王旗| 拜城县| 和静县| 新宁县| 云和县| 海伦市| 明星| 田林县| 陇西县| 桐庐县| 军事| 新源县| 中宁县| 襄汾县| 杭锦后旗| 北宁市| 乐业县| 东乡县| 岗巴县|