亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        BIM模型相連構(gòu)件獲取方法

        2020-11-24 06:18:22蘇鼎丁周小平
        土木建筑工程信息技術(shù) 2020年2期
        關(guān)鍵詞:方向檢測模型

        蘇鼎丁 王 佳, 2 周小平

        (1.北京建筑大學(xué)電氣與信息工程學(xué)院,北京 100044;2.北京建筑大學(xué)建筑節(jié)能與安全監(jiān)控研究所,北京 102616)

        引言

        BIM模型中集成了建筑的諸多信息,如幾何、空間關(guān)系[1]、數(shù)量和屬性等信息[2],信息完備的模型可以貫穿整個建筑的生命周期,為建筑的全生命周期提供服務(wù)。BIM模型中包含了建筑的全部信息,這些信息之間彼此關(guān)聯(lián),其中所包含的構(gòu)件間連接關(guān)系在建模時就已經(jīng)存在。然而由于模型在建立過程中并不都十分規(guī)范,或者由于BIM模型的源文件—IFC文件解析時出現(xiàn)問題,使得從業(yè)者獲得相連構(gòu)件有一定困難,因此本研究提出了一種以改良的OBB包圍盒碰撞檢測算法為基礎(chǔ)的相連構(gòu)件查找方法。

        本研究中針對的是以通用交互格式工業(yè)基礎(chǔ)類(IFC)文件為數(shù)據(jù)源文件的BIM模型,IFC標(biāo)準(zhǔn)IFC2x3包括600多個實體(Entity)以及300多個枚舉、選擇等類,還包含各種建筑部件間的語義連接關(guān)系[3]。其中IfcRelationship是一個比較特殊的概念,用來描述實體對象間的相互關(guān)系,IFC把建筑實體之間的關(guān)系,以及概念之間的關(guān)系都抽象為對象,任何兩個對象之間的聯(lián)系都要通過IfcRelationship聯(lián)系。IfcRelationship中定義了IfcRelConnects子類,該子類定義了兩個或多個對象間的某種方式的連接關(guān)系[4]。目前獲取相連構(gòu)件的方法主要是通過對IFC文件進(jìn)行解析,通過解析IfcRelConnects子類中的連接關(guān)系獲得相連構(gòu)件。

        本研究中根據(jù)BIM模型中所包含的構(gòu)件的語義信息、幾何信息等,可以獲得任意兩個構(gòu)件的位置,再給其中一個構(gòu)件一偏移量,然后利用OBB包圍盒碰撞檢測算法判斷兩構(gòu)件是否發(fā)生碰撞,若發(fā)生碰撞,則為相連構(gòu)件,若未發(fā)生碰撞,則為不相連構(gòu)件。

        1 OBB包圍盒碰撞檢測算法

        包圍盒技術(shù)的基本思想是先使用簡單的幾何體來代替復(fù)雜的幾何體,再根據(jù)包圍盒在分離軸上是否有重疊來判斷其包圍的幾何體是否發(fā)生碰撞。包圍體類包括球體、軸對齊包圍盒(AABB)和有向包圍盒(OBB)。其中,包圍球和AABB的緊密性較差,并不適用于本研究中對于相連構(gòu)件的檢測。而OBB包圍盒始終沿著物體的主成分方向生成一個最小的矩形包圍盒,這個包圍盒可以隨物體旋轉(zhuǎn),能夠用于比較精確的碰撞檢測。所以,本研究中采用了OBB包圍盒算法。

        1.1 構(gòu)建OBB包圍盒

        本研究中需要構(gòu)建的是BIM模型中各個構(gòu)件的包圍盒,以IFC文件為源文件的BIM模型在經(jīng)過解析之后可以將實體幾何表達(dá)轉(zhuǎn)換為三角網(wǎng)格(triangle mesh)數(shù)據(jù)[5],這些三角網(wǎng)格數(shù)據(jù)構(gòu)建成了模型的構(gòu)件,這些構(gòu)件可能是規(guī)則的凸多面體,也可能是弧形或者其他特殊形狀的多面體,本研究中的OBB包圍盒將根據(jù)這兩種情況來構(gòu)建。

        構(gòu)建出的OBB包圍盒一般是長方體,構(gòu)建時多用一個中心點、一個旋轉(zhuǎn)矩陣和三個1/2邊長來確定OBB包圍盒。由于OBB包圍盒的三條邊的方向有任意性,所以其計算方法比其他包圍體更為復(fù)雜,目前常用的方法是利用主成分分析法(PCA)構(gòu)建OBB包圍盒。

        構(gòu)建OBB包圍盒時,根據(jù)物體表面的頂點,通過主成分分析獲得特征向量,也就是OBB包圍盒的主軸。在本小節(jié)構(gòu)建OBB包圍盒的算法中,通過遍歷表達(dá)構(gòu)件幾何的三角網(wǎng)格頂點,分析主成分即可獲得始終沿構(gòu)件主體方向的OBB主軸。主成分分析中引入?yún)f(xié)方差矩陣[6]:

        (1)

        其中,i與j為構(gòu)件內(nèi)任意三角網(wǎng)格點,通過計算其x,y,z值的協(xié)方差表達(dá)2個三角網(wǎng)格點相關(guān)性。再將協(xié)方差矩陣對角化、計算得出特征向量,此特征向量即為凸多面體的OBB方向軸,再計算得到中心點,此時OBB包圍盒形成。

        由于BIM模型中可能有弧形或者其他特殊形狀的構(gòu)件存在,所以需要對構(gòu)建的OBB包圍盒進(jìn)行檢測。若包圍盒的大小與構(gòu)件的大小一致,則該構(gòu)件為規(guī)則的凸多面體,所構(gòu)建的OBB包圍盒為構(gòu)件的包圍盒,若不一致,則需引入層次包圍盒。

        由于構(gòu)件的幾何模型是由三角網(wǎng)格數(shù)據(jù)構(gòu)成的,所以可以采用自頂向下的方法構(gòu)造層次包圍盒樹,以BIM模型中的構(gòu)件為根節(jié)點,遞歸劃分組成構(gòu)件的三角網(wǎng)格數(shù)據(jù),同時計算出對應(yīng)的OBB包圍盒,直到遞歸結(jié)束,即可生成構(gòu)件的OBB包圍盒層次樹。

        本研究中OBB包圍盒層次樹的構(gòu)造原則為[7]:

        步驟1:對構(gòu)件建立OBB包圍盒,將該包圍盒作為OBB包圍盒層次樹的根節(jié)點且該包圍盒包含了構(gòu)件中所有三角網(wǎng)格;

        步驟2:選擇當(dāng)前OBB節(jié)點中最長的一條邊作為分裂軸,該邊的中點為分裂點,過該分裂點并且與分裂軸相垂直的平面作為分裂平面,劃分三角網(wǎng)格時,根據(jù)其中心點所在的位置,將三角網(wǎng)格劃分在分裂平面的兩邊。此時得到了兩個三角網(wǎng)格的集合,用這兩個三角網(wǎng)格集合可以得到兩個OBB包圍盒,并分別以這兩個OBB節(jié)點作為當(dāng)前節(jié)點,遞歸執(zhí)行步驟2,如果不可以分裂,則執(zhí)行步驟3;

        步驟3:選擇當(dāng)前OBB節(jié)點的次長軸進(jìn)行分裂,如果可以分裂,則將新生成的OBB節(jié)點作為當(dāng)前節(jié)點,執(zhí)行步驟2,如果不可以分裂,則執(zhí)行步驟4;

        步驟4:選擇最短的邊,如果不可以進(jìn)行分裂,則該三角網(wǎng)格集合不可以再分,將其作為葉子節(jié)點,如果可以進(jìn)行分裂,則分別生成兩個OBB節(jié)點作為當(dāng)前節(jié)點,執(zhí)行步驟2。

        圖1是根據(jù)此原則構(gòu)造OBB包圍盒層次樹的過程,其中S形構(gòu)件由虛線表示,該過程在構(gòu)件包圍盒的三個軸都無法分裂時為止。

        圖1 OBB包圍盒層次樹

        1.2 OBB包圍盒碰撞檢測

        OBB包圍盒相較于其他包圍盒具有方向的任意性,可以更緊密地包圍模型,但是這也使得其碰撞檢測變得更為復(fù)雜。判定OBB包圍盒是否發(fā)生碰撞主要采用了分離軸定律。

        定義1 分離軸定律[8]。如果存在一個向量,使得被檢測的幾何體在該軸上的投影不相交,那么這根軸就是一根分離軸,如果找不到分離軸,那么被檢測的幾何體相交。

        本研究中涉及到了兩種構(gòu)件類型,一種是規(guī)則的凸多面體,這種構(gòu)件的碰撞檢測可以通過直接檢測兩個OBB包圍盒在軸上的投影是否有重疊來判斷是否發(fā)生碰撞,而對于弧形或者其他特殊形狀的構(gòu)件,可以采用以下步驟[10]:

        步驟1:將根節(jié)點作為當(dāng)前節(jié)點;

        步驟2:判斷當(dāng)前節(jié)點是否與給定的OBB包圍盒發(fā)生碰撞,如果發(fā)生了碰撞則執(zhí)行步驟3,如果未發(fā)生碰撞,則執(zhí)行步驟4;

        步驟3:如果該節(jié)點沒有未檢測的兄弟節(jié)點,表明該節(jié)點未發(fā)生碰撞,如果該節(jié)點還有未檢測的兄弟節(jié)點,則依次將下一個兄弟節(jié)點作為當(dāng)前節(jié)點,遞歸執(zhí)行步驟2;

        步驟4:判斷當(dāng)前節(jié)點是否為葉子節(jié)點,如果是,則表明該頂點發(fā)生了碰撞,記下當(dāng)前節(jié)點后,碰撞檢測結(jié)束; 如果該節(jié)點不是葉子節(jié)點,則將該節(jié)點的所有子節(jié)點依次作為當(dāng)前節(jié)點,然后遞歸執(zhí)行步驟2。

        二維實例如圖3所示,分別對組成構(gòu)件1與構(gòu)件2的三角網(wǎng)格頂點的位置坐標(biāo)P1=(x1,y1)與P2=(x2,y2)進(jìn)行主成分分析、包圍盒構(gòu)建,由此可得到四個潛在分離軸α,β,γ,δ以及兩個構(gòu)件的包圍盒; 再根據(jù)分離軸定律進(jìn)行碰撞檢測,即檢測在四個潛在分離軸上的投影是否均發(fā)生重疊。將未發(fā)生碰撞的構(gòu)件標(biāo)為灰色,發(fā)生碰撞的構(gòu)件標(biāo)為紅色,則OBB包圍盒算法效果圖如圖2所示,圖2(a)中為未發(fā)生碰撞的構(gòu)件,這兩個構(gòu)件分別有兩個方向軸α,β和γ,δ,但是他們在軸α上的投影未發(fā)生重疊,所以軸α為這兩個構(gòu)件的分離軸,這兩個構(gòu)件未發(fā)生碰撞。而圖2(b)中為發(fā)生碰撞的構(gòu)件,這兩個構(gòu)件在他們的方向軸α,β,γ和δ上的投影均有重疊,所以這兩個構(gòu)件發(fā)生了碰撞,改變顏色為紅色。

        (a)未發(fā)生碰撞的構(gòu)件,構(gòu)件為灰色

        (b)發(fā)生碰撞的構(gòu)件,構(gòu)件變?yōu)榧t色圖2 OBB包圍盒碰撞檢測

        2 查找相連構(gòu)件

        2.1 幾何信息提取

        IFC文件包含了BIM模型中構(gòu)件的語義、幾何以及建筑構(gòu)件間的連接關(guān)系等信息,目前國內(nèi)外約有100家軟件開發(fā)商的產(chǎn)品支持通過IFC標(biāo)準(zhǔn)格式共享和交換BIM數(shù)據(jù)[1]。基于IFC存儲的多種類型的幾何模型數(shù)據(jù)[11],經(jīng)過解析之后可以轉(zhuǎn)換為三角網(wǎng)格(triangle mesh)數(shù)據(jù)。三角網(wǎng)格結(jié)構(gòu)簡單清晰,易于讀取,是目前在圖形研究上比較通用的幾何表達(dá)格式。本研究中對構(gòu)件的幾何要求為其基本輪廓與位置信息,因此,需提取出構(gòu)件的三角網(wǎng)格頂點。然而IFC標(biāo)準(zhǔn)中定義的構(gòu)件位置與坐標(biāo)系包含了絕對坐標(biāo)與相對坐標(biāo),提取出的數(shù)據(jù)還需進(jìn)行處理才能使用[12]。

        本研究中主要采用小紅磚開放平臺[13]解析完成的BIM模型進(jìn)行研究。從小紅磚開放平臺中可以獲取構(gòu)件的位置坐標(biāo)矩陣positions、索引矩陣index和旋轉(zhuǎn)矩陣matrix。將位置坐標(biāo)矩陣與旋轉(zhuǎn)矩陣相乘即可得到世界坐標(biāo)下的位置矩陣。

        2.2 獲得相連構(gòu)件

        BIM模型中包含諸多構(gòu)件,構(gòu)件間關(guān)系有兩種情況,分別是相連構(gòu)件和相分離構(gòu)件,二維示意圖如圖3所示。

        (a)相連構(gòu)件

        (b)相分離構(gòu)件圖3 BIM模型中構(gòu)件的兩種情況

        由于OBB包圍盒碰撞檢測的原理是對坐標(biāo)信息的處理,所以可以對構(gòu)件的位置坐標(biāo)信息進(jìn)行變換來獲取相連構(gòu)件。本研究中用改進(jìn)的OBB包圍盒算法碰撞檢測算法來達(dá)成檢測相連構(gòu)件的目的。該算法賦予了構(gòu)件一位移量ε,通過檢測構(gòu)件和賦予位移量后的另一構(gòu)件是否發(fā)生碰撞來檢測兩構(gòu)件是否為相連構(gòu)件。二維實例如圖4所示,圖中為兩種情況下的構(gòu)件分別賦予位移量ε后的情況,即分別給一構(gòu)件在軸α正方向、軸δ反方向的微小位移量ε,則構(gòu)件的三角網(wǎng)格頂點的位置坐標(biāo)信息變換為P=(x′,y′),同樣對組成兩構(gòu)件的三角網(wǎng)格頂點的位置坐標(biāo)進(jìn)行主成分分析、包圍盒構(gòu)建,再根據(jù)分離軸定律進(jìn)行碰撞檢測。其二維結(jié)果分別如圖4中所示,相連構(gòu)件發(fā)生碰撞,而相分離構(gòu)件仍然未發(fā)生碰撞,由此便可獲得BIM模型中的相連構(gòu)件。

        (a)給一偏移量ε,相連構(gòu)件發(fā)生碰撞

        (b)給一偏移量ε,相分離構(gòu)件未發(fā)生碰撞圖4 BIM模型中構(gòu)件的兩種情況

        三維空間中,則需要分別給構(gòu)件在三個方向軸方向的微小偏移量ε,然后再將兩構(gòu)件進(jìn)行主成分分析、構(gòu)建包圍盒、碰撞檢測,即可獲得相連構(gòu)件。然而分析BIM模型中構(gòu)件的關(guān)系可以發(fā)現(xiàn),門構(gòu)件插入墻構(gòu)件由兩個獨立的過程表示:首先,在墻內(nèi)創(chuàng)建門洞,然后將門插入門洞[9],所以只需直接構(gòu)建門構(gòu)件和墻構(gòu)件的OBB包圍盒然后進(jìn)行碰撞檢測即可。

        3 獲取相連構(gòu)件實例

        本節(jié)中主要通過三組示例來驗證本獲取相連構(gòu)件算法的可行性,所使用的BIM模型均由小紅磚開放平臺[13]解析完成。

        第一個實例為獲取規(guī)則凸多面體的相連構(gòu)件。如圖5所示,圖5(a)是某二居室BIM模型,若要獲得圖中藍(lán)色構(gòu)件的相連構(gòu)件,則需分別獲取各個構(gòu)件的三角網(wǎng)格數(shù)據(jù),并以此來構(gòu)建OBB包圍盒,通過檢測,包圍盒的大小和構(gòu)件的大小一致,然后分別給藍(lán)色構(gòu)件的OBB包圍盒三個方向軸方向的微小位移量ε,因為該模型中最小構(gòu)件的最小尺寸為80.000mm(即窗構(gòu)件的厚度),所以選定ε=40.000mm,再檢測該構(gòu)件與其他構(gòu)件的碰撞情況,即可獲得藍(lán)色構(gòu)件的相連構(gòu)件。圖5(b)中將相連構(gòu)件高亮展示,即相連構(gòu)件為兩個墻構(gòu)件、一個樓板構(gòu)件和三個家具構(gòu)件。經(jīng)過目視檢查,本方法準(zhǔn)確獲得了目標(biāo)構(gòu)件的所有相連構(gòu)件,所以本方法可靠。

        (a)某二居室BIM模型

        (b)高亮顯示相連構(gòu)件圖5 BIM模型中某一墻構(gòu)件的相連構(gòu)件

        (a)某酒店某一層BIM模型

        (b)高亮顯示相連構(gòu)件圖6 BIM模型中某一弧形墻構(gòu)件的相連構(gòu)件

        第二個實例為獲取弧形構(gòu)件的相連構(gòu)件。如圖6所示,圖6(a)是某酒店某一層的BIM模型,若要獲得圖中藍(lán)色構(gòu)件的相連構(gòu)件,則需分別獲取各個構(gòu)件的三角網(wǎng)格數(shù)據(jù),并以此來構(gòu)建OBB包圍盒,通過檢測,包圍盒比構(gòu)件的尺寸大,所以判定該構(gòu)件為不規(guī)則多面體,所以構(gòu)造層次包圍盒樹,然后分別給藍(lán)色構(gòu)件的OBB層次包圍盒樹三個方向軸方向的微小位移量ε,因為該模型中最小構(gòu)件的最小尺寸為25.000mm(即窗構(gòu)件的厚度),所以選定ε=12.500mm,再檢測該構(gòu)件與其他構(gòu)件的碰撞情況,即可獲得藍(lán)色構(gòu)件的相連構(gòu)件。圖6(b)中將相連構(gòu)件高亮展示,即相連構(gòu)件為三個墻構(gòu)件和一個樓板構(gòu)件。經(jīng)過目視檢查,本方法準(zhǔn)確獲得了目標(biāo)構(gòu)件的所有相連構(gòu)件,所以本方法可靠。

        第三個實例為獲取門構(gòu)件的相連構(gòu)件。如圖7所示,圖7(a)是某一居室的BIM模型,若要獲得圖中藍(lán)色門構(gòu)件的相連構(gòu)件,則需分別獲取各個構(gòu)件的三角網(wǎng)格數(shù)據(jù),并以此來構(gòu)建OBB包圍盒,再檢測該門構(gòu)件與其他構(gòu)件的碰撞情況,即可獲得藍(lán)色門構(gòu)件的相連構(gòu)件。圖7(b)中將相連構(gòu)件高亮展示,即相連構(gòu)件為一個墻構(gòu)件。經(jīng)過目視檢查,該門構(gòu)件與樓板構(gòu)件并未連接,本方法中所獲取的相連構(gòu)件并未包含樓板構(gòu)件,所以本方法可靠。

        (a)某一居室BIM模型

        (b)高亮顯示相連構(gòu)件圖7 BIM模型中某一門構(gòu)件的相連構(gòu)件

        4 總結(jié)與展望

        本研究針對BIM模型中由于模型建立不規(guī)范或者IFC文件解析異常而導(dǎo)致的相連構(gòu)件無法獲取的現(xiàn)狀,提出了以改良的OBB包圍盒碰撞檢測算法為基礎(chǔ)的相連構(gòu)件查找方法。該方法獲取構(gòu)件的位置,并構(gòu)建OBB包圍盒,然后通過比較包圍盒的尺寸和構(gòu)件的大小來判斷是否需要構(gòu)建OBB層次包圍盒樹,再根據(jù)構(gòu)建的包圍盒/層次包圍盒樹用改進(jìn)的碰撞檢測算法進(jìn)行碰撞檢測,若進(jìn)行檢測的兩構(gòu)件發(fā)生碰撞,則為相連構(gòu)件,若未發(fā)生碰撞,則不為相連構(gòu)件。本研究提出的方法實現(xiàn)了對相連構(gòu)件的獲取,為BIM模型的二次開發(fā)等提供了便利。

        猜你喜歡
        方向檢測模型
        一半模型
        2022年組稿方向
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        2021年組稿方向
        2021年組稿方向
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        3D打印中的模型分割與打包
        不卡一区二区黄色av| 九九99久久精品午夜剧场免费| 日本一极品久久99精品| 久久人妻中文字幕精品一区二区| 77777_亚洲午夜久久多人| 国产熟妇高潮呻吟喷水| 国产乱人伦偷精品视频免| 澳门精品一区二区三区| 天堂视频在线观看一二区| 色偷偷av男人的天堂| 99热最新在线观看| 国产极品嫩模大尺度在线播放| 无码 免费 国产在线观看91| 97人妻蜜臀中文字幕| 国语对白在线观看免费| 在线观看视频播放| 人人妻人人澡人人爽人人精品电影| 国产成人精品视频网站| 麻婆视频在线免费观看| 未满十八勿入av网免费| 天天av天天爽无码中文| 国产精品亚洲av国产| 日本久久久免费观看视频| 国产99久久久国产精品免费看 | 一本久道久久综合五月丁香| 少妇人妻字幕一区二区| 日韩精品熟妇一区二区三区| 特级做a爰片毛片免费看无码| 国产系列丝袜熟女精品视频| 日本免费三片在线视频| 少妇裸体性生交| 精品国产黑色丝袜高跟鞋| 国产精品一区区三区六区t区| 亚洲永久国产中文字幕| 亚洲av无码一区二区三区人妖| 国产精品每日更新在线观看 | 日本在线看片免费人成视频1000| 亚洲两性视频一三区| 日本国产一区二区在线观看| 日本少妇浓毛bbwbbwbbw| 熟妇人妻AV中文字幕老熟妇 |