一種虛擬場景中的3d模型檢測方法及裝置制造方法
【專利摘要】本發(fā)明適用于人機交互的模型檢測領(lǐng)域,提供了一種虛擬場景中的3D模型檢測方法及裝置,所述方法包括:對應(yīng)所述交互筆的空間姿態(tài)角,于所述虛擬場景中實時映射出一虛擬控制線;對應(yīng)所述虛擬場景中的每一3D模型,分別構(gòu)造出一包圍體,所述包圍體包裹住對應(yīng)的3D模型;判斷所述實時映射的虛擬控制線與3D模型的包圍體是否相交;在所述虛擬控制線與3D模型的包圍體相交時,判斷所述虛擬控制線與相交的包圍體對應(yīng)的3D模型中的任一三角網(wǎng)格是否相交;在所述虛擬控制線與相交的包圍體對應(yīng)的3D模型中的任一三角網(wǎng)格相交時,判定所述虛擬控制線與相交的包圍體對應(yīng)的3D模型相交,以判定檢測到3D模型。本發(fā)明實施例能夠提高3D模型的檢測精度。
【專利說明】一種虛擬場景中的3D模型檢測方法及裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于人機交互的模型檢測領(lǐng)域,尤其涉及一種虛擬場景中的3D模型檢測 方法及裝置。
【背景技術(shù)】
[0002] 隨著虛擬現(xiàn)實技術(shù)的深入研究與應(yīng)用,三維可視化顯示技術(shù)及人機交互技術(shù)的進 一步發(fā)展,人們可以渲染、設(shè)計出各種虛擬現(xiàn)實場景,并對虛擬場景中的3D模型進行必要 控制。而在控制虛擬場景中的3D模型之前,需要檢測虛擬場景中的3D模型。
[0003] 目前,現(xiàn)有的虛擬場景中的3D模型檢測方法主要通過以下方式實現(xiàn):建立一個射 線簇,再檢測建立的射線簇與檢測體的相交性,并在檢測到某個射線與檢測體相交時,根據(jù) 檢測體與模型的映射關(guān)系查找到命中的3D模型。由于僅通過檢測建立的射線簇與檢測體 的相交性來檢測模型,因此檢測精度過低。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明實施例提供了一種虛擬場景中的3D模型檢測方法,旨在解決現(xiàn)有方法在 檢測3D模型時精度過低的問題。
[0005] 本發(fā)明實施例是這樣實現(xiàn)的,一種虛擬場景中的3D模型檢測方法,所述方法包括 下述步驟:
[0006] 對應(yīng)所述交互筆的空間姿態(tài)角,于所述虛擬場景中實時映射出一虛擬控制線;
[0007] 對應(yīng)所述虛擬場景中的每一 3D模型,分別構(gòu)造出一包圍體,所述包圍體包裹住對 應(yīng)的3D模型,所述3D模型由多個三角網(wǎng)格組成;
[0008] 判斷所述實時映射的虛擬控制線與3D模型的包圍體是否相交;
[0009] 在所述虛擬控制線與3D模型的包圍體相交時,判斷所述虛擬控制線與相交的包 圍體對應(yīng)的3D模型中的任一三角網(wǎng)格是否相交;
[0010] 在所述虛擬控制線與相交的包圍體對應(yīng)的3D模型中的任一三角網(wǎng)格相交時,判 定所述虛擬控制線與相交的包圍體對應(yīng)的3D模型相交,以判定檢測到3D模型。
[0011] 本發(fā)明實施例的另一目的在于提供一種虛擬場景中的3D模型檢測裝置,所述裝 置包括:
[0012] 虛擬控制線生成單元,用于對應(yīng)所述交互筆的空間姿態(tài)角,于所述虛擬場景中實 時映射出一虛擬控制線;
[0013] 模型包圍體構(gòu)造單元,用于對應(yīng)所述虛擬場景中的每一 3D模型,分別構(gòu)造出一包 圍體,所述包圍體包裹住對應(yīng)的3D模型,所述3D模型由多個三角網(wǎng)格組成;
[0014] 模型包圍體的相交性檢測單元,用于判斷所述實時映射的虛擬控制線與3D模型 的包圍體是否相交;
[0015] 模型三角網(wǎng)格的相交性檢測單元,用于在所述虛擬控制線與3D模型的包圍體相 交時,判斷所述虛擬控制線與相交的包圍體對應(yīng)的3D模型中的任一三角網(wǎng)格是否相交;
[0016] 模型檢測判定單元,用于在所述虛擬控制線與相交的包圍體對應(yīng)的3D模型中的 任一三角網(wǎng)格相交時,判定所述虛擬控制線與相交的包圍體對應(yīng)的3D模型相交,以判定檢 測到3D模型。
[0017] 在本發(fā)明實施例中,由于先對3D模型的包圍體進行檢測,在判斷出交互筆旋轉(zhuǎn)后 在虛擬場景中對應(yīng)的方向向量與3D模型的包圍體相交之后,才檢測交互筆旋轉(zhuǎn)后在虛擬 場景中對應(yīng)的方向向量與3D模型中的任一個三角網(wǎng)格是否相交,因此減少了運算量,從而 有效提高檢測虛擬環(huán)境場景中3D模型的速度及精度。
【專利附圖】
【附圖說明】
[0018] 圖1是本發(fā)明第一實施例提供的一種虛擬場景中的3D模型檢測方法的流程圖;
[0019] 圖2是本發(fā)明第一實施例提供的姿態(tài)角的示意圖;
[0020] 圖3是本發(fā)明第二實施例提供的一種虛擬場景中的3D模型檢測裝置的結(jié)構(gòu)圖;
[0021] 圖4是本發(fā)明第二實施例提供的另一種虛擬場景中的3D模型檢測裝置的結(jié)構(gòu)圖。
【具體實施方式】
[0022] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對 本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。
[0023] 本發(fā)明實施例中,根據(jù)交互筆的空間姿態(tài)角,在虛擬場景中實時映射出一虛擬控 制線,以及根據(jù)存儲的3D模型的頂點數(shù)據(jù)信息確定3D模型的包圍體,再判斷所述虛擬控制 線與3D模型的包圍體是否相交,并在虛擬控制線與3D模型的包圍體相交時,判斷所述虛擬 控制線與相交的包圍體對應(yīng)的3D模型中的任一三角網(wǎng)格是否相交,若相交,判定檢測到3D 模型。
[0024] 為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實施例來進行說明。
[0025] 實施例一:
[0026] 圖1示出了本發(fā)明第一實施例提供的一種虛擬場景中的3D模型檢測方法的流程 圖,詳述如下:
[0027] 步驟S11,對應(yīng)所述交互筆的空間姿態(tài)角,于所述虛擬場景中實時映射出一虛擬控 制線。
[0028] 該步驟中,交互筆是指用戶與智能終端交互時使用的一種類似筆的形狀的操作工 具,用戶通過改變該交互筆的姿態(tài)實現(xiàn)與智能終端中的3D模型的互動。
[0029] 其中,交互筆的姿態(tài)角包括交互筆的俯仰角、橫滾角和偏航角。參見圖2,在圖2 中,Xg軸、Yg軸、Zg軸構(gòu)成的坐標系為地面坐標系,Zg軸垂直于地面并指向地心,Yg軸在 水平面內(nèi)垂直于Xg軸,其指向按右手定則確定;Xb軸、Yb軸、Zb軸構(gòu)成的坐標系為交互筆 坐標系,Xb軸在交互筆平面內(nèi)并平行于交互筆的設(shè)計軸線,Yb軸垂直于交互筆對稱平面指 向交互筆右方,Zb軸在交互筆對稱平面內(nèi),與Xb軸垂直并指向交互筆下方。俯仰角是指交 互筆坐標系的Xb軸與水平面的夾角,當Xb軸的正半軸位于過坐標原點的水平面之上時,俯 仰角為正,否則為負;偏航角是指交互筆坐標系的Xb軸在水平面上的投影與地面坐標系Xg 軸之間的夾角,由Xg軸逆時針轉(zhuǎn)至Xb軸的投影時,偏航角為正,反之為負;橫滾角是指交互 筆坐標系Zb軸與通過Xb軸的鉛垂面之間的夾角,交互筆向右滾為正,反之為負。
[0030] 優(yōu)選地,在步驟S11,對應(yīng)所述交互筆的空間姿態(tài)角,于所述虛擬場景中實時映射 出一虛擬控制線之前,包括下述步驟:
[0031] A1、確定初始的俯仰角和橫滾角。該步驟中,通過安裝在交互筆上的三軸陀螺儀、 三軸加速度計確定初始的俯仰角和橫滾角。
[0032] A2、根據(jù)卡爾曼濾波以及所述初始的俯仰角和橫滾角迭代確定最終的俯仰角和橫 滾角。由于陀螺儀精度高,但長時間會有漂移,而加速度計動態(tài)精度差,但沒有長期漂移,因 此,為了綜合利用兩者的優(yōu)勢,可通過卡爾曼濾波做數(shù)據(jù)融合,以得到穩(wěn)定的準確的俯仰角 和橫滾角。在該步驟中:將初始的俯仰角和橫滾角采用四元數(shù)表示,并作為卡爾曼濾波系統(tǒng) 的狀態(tài)量。將姿態(tài)運動學方程作為卡爾曼濾波的狀態(tài)轉(zhuǎn)移方程,加速度信息作為濾波的觀 測信息,然后利用卡爾曼濾波的計算方法進行迭代計算,將初始的俯仰角和橫滾角更新為 準確、穩(wěn)定的俯仰角和橫滾角。
[0033] 其中,四元數(shù)都是由實數(shù)加上三個元素 i、j、k組成,而且它們有如下的關(guān)系:Γ2 =j~2 = k~2 = ijk = -1。
[0034] A3、根據(jù)所述最終的俯仰角和橫滾角以及交互筆所在坐標系的x軸、y軸、z軸的 磁場強度分量,確定水平面內(nèi)的磁場強度分量。該步驟中,交互筆所在坐標系的X軸、y軸、 z軸的磁場強度分量可通過安裝在交互筆上的三軸磁力計獲得。假設(shè)由三軸磁力計測出的 X軸、y軸、Z軸的磁場強度分量分別為hx, hy, hz,確定的最終的俯仰角為Θ,橫滾角為γ,由 于交互筆所在的坐標系xyz繞X軸旋轉(zhuǎn),再繞y軸旋轉(zhuǎn)后,交互筆所在的坐標系的xoy平面 便于地面坐標系的水平面Χ0Υ重合,因此,利用上述關(guān)系可得到如下等式:
【權(quán)利要求】
1. 一種虛擬場景中的3D模型檢測方法,其特征在于,所述方法包括下述步驟: 對應(yīng)所述交互筆的空間姿態(tài)角,于所述虛擬場景中實時映射出一虛擬控制線; 對應(yīng)所述虛擬場景中的每一 3D模型,分別構(gòu)造出一包圍體,所述包圍體包裹住對應(yīng)的 3D模型,所述3D模型由多個三角網(wǎng)格組成; 判斷所述實時映射的虛擬控制線與3D模型的包圍體是否相交; 在所述虛擬控制線與3D模型的包圍體相交時,判斷所述虛擬控制線與相交的包圍體 對應(yīng)的3D模型中的任一三角網(wǎng)格是否相交; 在所述虛擬控制線與相交的包圍體對應(yīng)的3D模型中的任一三角網(wǎng)格相交時,判定所 述虛擬控制線與相交的包圍體對應(yīng)的3D模型相交,以判定檢測到3D模型。
2. 如權(quán)利要求1所述的方法,其特征在于,所述空間姿態(tài)角包括俯仰角、橫滾角和偏航 角;在所述對應(yīng)所述交互筆的空間姿態(tài)角,于所述虛擬場景中實時映射出一虛擬控制線的 步驟之前,包括下述步驟: 確定交互筆初始的俯仰角和橫滾角; 根據(jù)卡爾曼濾波以及所述初始的俯仰角和橫滾角迭代確定最終的俯仰角和橫滾角; 根據(jù)所述最終的俯仰角和橫滾角以及交互筆所在坐標系的X軸、y軸、z軸的磁場強度 分量,確定水平面內(nèi)的磁場強度分量; 根據(jù)確定的水平面內(nèi)的磁場強度分量確定偏航角。
3. 如權(quán)利要求1所述的方法,其特征在于,所述對應(yīng)所述交互筆的空間姿態(tài)角,于所述 虛擬場景中實時映射出一虛擬控制線的步驟具體包括: 根據(jù)所述交互筆的姿態(tài)角確定所述交互筆的旋轉(zhuǎn)矩陣; 根據(jù)所述交互筆的旋轉(zhuǎn)矩陣、預(yù)設(shè)的虛擬場景中的原點以及預(yù)設(shè)的交互筆的初始方向 向量,在虛擬場景中實時渲染出所述交互筆旋轉(zhuǎn)后對應(yīng)的虛擬控制線。
4. 如權(quán)利要求1所述的方法,其特征在于,所述判斷所述實時映射的虛擬控制線與3D 模型的包圍體是否相交的步驟具體包括: 確定所述虛擬控制線對應(yīng)的函數(shù)f(x, y, z),f (X,y, z)任一點在X軸、y軸、z軸的分量 % fx (x, y, z) > fy (x, y, z) > fz (x, y, z); 判斷 f (x, y, z)任一點在 x 軸、y 軸、z 軸的分量 fx(x, y, z)、fy(x, y, z)、fz(x, y, z)是否 都滿足以下條件: min x ^ fx (x, y, z) ^ max x ; min y ^ fy (x, y, z) ^ max y ; min z ^ fz (x, y, z) ^ max z ; 其中,所述min x、max x、min y、max y、min z、max z為所述包圍體的頂點坐標; 在 f(x, y, z)任一點在 x 軸、y 軸、z 軸的分量 fx(x, y, z)、fy(x, y, z)、fz(x, y, z)都滿足 上述條件時,判定所述虛擬控制線與3D模型的包圍體相交,否則,判定所述虛擬控制線與 3D模型的包圍體不相交。
5. 如權(quán)利要求1所述的方法,其特征在于,所述在所述虛擬控制線與相交的包圍體對 應(yīng)的3D模型中的任一三角網(wǎng)格相交時,判定所述虛擬控制線與相交的包圍體對應(yīng)的3D模 型相交,以判定檢測到3D模型的步驟具體包括: 3D模型中任一三角網(wǎng)格對應(yīng)的三角形的參數(shù)方程為(l-u-WVa+uVi+v%,其中, (1-u-v)、u、v分別為三角形三個頂點的權(quán)重;Vy Vp V2為三角形三個頂點的坐標; 根據(jù)預(yù)設(shè)的虛擬場景中的原點、所述虛擬控制線以及3D模型中的任一三角網(wǎng)格的三 個頂點坐標,判斷u、V是否滿足以下條件:u > 0, V > 0, u+ν < 1,若滿足,判定所述虛擬控 制線與相交的包圍體對應(yīng)的3D模型中的所述任一三角網(wǎng)格相交,否則,判定所述虛擬控制 線與相交的包圍體對應(yīng)的3D模型中的所述任一三角網(wǎng)格不相交。
6. -種虛擬場景中的3D模型檢測裝置,其特征在于,所述裝置包括: 虛擬控制線生成單元,用于對應(yīng)所述交互筆的空間姿態(tài)角,于所述虛擬場景中實時映 射出一虛擬控制線; 模型包圍體構(gòu)造單元,用于對應(yīng)所述虛擬場景中的每一 3D模型,分別構(gòu)造出一包圍 體,所述包圍體包裹住對應(yīng)的3D模型,所述3D模型由多個三角網(wǎng)格組成; 模型包圍體的相交性檢測單元,用于判斷所述實時映射的虛擬控制線與3D模型的包 圍體是否相交; 模型三角網(wǎng)格的相交性檢測單元,用于在所述虛擬控制線與3D模型的包圍體相交時, 判斷所述虛擬控制線與相交的包圍體對應(yīng)的3D模型中的任一三角網(wǎng)格是否相交; 模型檢測判定單元,用于在所述虛擬控制線與相交的包圍體對應(yīng)的3D模型中的任 一三角網(wǎng)格相交時,判定所述虛擬控制線與相交的包圍體對應(yīng)的3D模型相交,以判定檢測 到3D模型。
7. 如權(quán)利要求6所述的裝置,其特征在于,所述裝置包括: 初始俯仰角和橫滾角確定單元,用于確定交互筆初始的俯仰角和橫滾角; 最終俯仰角和橫滾角確定單元,用于根據(jù)卡爾曼濾波以及所述初始的俯仰角和橫滾角 迭代確定最終的俯仰角和橫滾角; 磁場強度分量確定單元,用于根據(jù)所述最終的俯仰角和橫滾角以及交互筆所在坐標系 的X軸、y軸、z軸的磁場強度分量,確定水平面內(nèi)的磁場強度分量; 偏航角確定單元,用于根據(jù)確定的水平面內(nèi)的磁場強度分量確定偏航角。
8. 如權(quán)利要求6所述的裝置,其特征在于,所述虛擬控制線生成單元包括: 旋轉(zhuǎn)矩陣確定模塊,用于根據(jù)所述交互筆的姿態(tài)角確定所述交互筆的旋轉(zhuǎn)矩陣; 虛擬控制線渲染模塊,用于根據(jù)所述交互筆的旋轉(zhuǎn)矩陣、預(yù)設(shè)的虛擬場景中的原點以 及預(yù)設(shè)的交互筆的初始方向向量,在虛擬場景中實時渲染出所述交互筆旋轉(zhuǎn)后對應(yīng)的虛擬 控制線。
9. 如權(quán)利要求6所述的裝置,其特征在于,所述模型包圍體的相交性檢測單元單元包 括: 向量函數(shù)確定模塊,用于確定所述虛擬控制線對應(yīng)的函數(shù)f (X,y, z),f (X,y, z)任一點 在 x 軸、y 軸、z 軸的分量為 fx(x, y, z)、fy(x, y, z)、fz(x, y, z); 相交條件判斷模塊,用于判斷f (x, y, z)任一點在x軸、y軸、z軸的分量fx(x, y, z)、 fy(x, y, z)、fz(x, y, z)是否都滿足以下條件: min x ^ fx (x, y, z) ^ max x ; min y 彡 fy (x, y, z)彡 max y ; min z ^ fz (x, y, z) ^ max z ; 其中,所述min x、max x、min y、max y、min z、max z為所述包圍體的頂點坐標; 包圍體相交判斷模塊,用于在f (X,y, Z)任一點在x軸、y軸、z軸的分量fx(x, y, z)、 fy(x, y, z)、fz(x, y, z)都滿足上述條件時,判定所述虛擬控制線與3D模型的包圍體相交,否 貝1J,判定所述虛擬控制線與3D模型的包圍體不相交。
10.如權(quán)利要求6所述的裝置,其特征在于,所述模型三角網(wǎng)格的相交性檢測單元包 括: 頂點權(quán)重值范圍判斷模塊,用于在3D模型中任一三角網(wǎng)格對應(yīng)的三角形的參數(shù)方程 為(1-u-v) L+uVi+v%時,根據(jù)預(yù)設(shè)的虛擬場景中的原點、所述虛擬控制線以及3D模型中的 任一三角網(wǎng)格的三個頂點坐標,判斷u、V是否滿足以下條件:u彡0, V彡0, u+ν < 1,其中, (1-u-v)、u、v分別為三角形三個頂點的權(quán)重;Vy Vp V2為三角形三個頂點的坐標; 三角網(wǎng)格相交性判定模塊,用于在U、V滿足u彡0, V彡0, u+v < 1時,判定所述 虛擬控制線與相交的包圍體對應(yīng)的3D模型中的所述任一三角網(wǎng)格相交,在u、v不滿足 u > 0, v > 0, u+v < 1時,判定所述虛擬控制線與相交的包圍體對應(yīng)的3D模型中的所述任 一三角網(wǎng)格不相交。
【文檔編號】G06T17/00GK104102357SQ201410317624
【公開日】2014年10月15日 申請日期:2014年7月4日 優(yōu)先權(quán)日:2014年7月4日
【發(fā)明者】鄒英強, 邵詩強, 鄧益群 申請人:Tcl集團股份有限公司