馬可天 王 佳
(北京建筑大學電氣與信息工程學院,北京 100044)
對空間的定義可以從很多領(lǐng)域得到借鑒:從廣義上來講,空間指沒有能量的事物,空間的存在使得事物可以發(fā)生變化。從物理學意義上來講,空間是指物質(zhì)實體之外的部分。數(shù)學意義上的空間是指一種具有特殊性質(zhì)及一些結(jié)構(gòu)的集合。建筑室內(nèi)空間是人類勞動的產(chǎn)物,是相對于自然空間而言,人類有序生活組織所需要的物質(zhì)產(chǎn)品[1]。
在建筑信息模型(Building Ⅰnformation Modeling)里,ⅠfcSpace 用于構(gòu)建建筑物的空間結(jié)構(gòu)。空間結(jié)構(gòu)元素通過語義信息ⅠfcRelAggregates 連接在一起。ⅠfcSpace 下屬相關(guān)的語義信息存儲在建筑模型的ⅠFC 文件中,這些信息定義了建筑模型中每一部分的空間區(qū)域。ⅠfcSpace 規(guī)定了空間中具有特定 空 間 功 能 的 空 間 區(qū) 域。 在 ⅠFC 文 件 中,ⅠfcRelContainedⅠnSpatialStructure 下的數(shù)據(jù)包含了在這個特定ⅠfcSpace 空間下的所有構(gòu)件信息。
ⅠfcRelContainedⅠnSpatialStructure 用于將元素分配給空間項目結(jié)構(gòu)的特定級別,任何元素都能分配到特定某個級別的空間結(jié)構(gòu)中[2]。
建筑室內(nèi)空間的識別對于消防通道路徑的導航、火災應急疏散線路規(guī)劃,建筑環(huán)境模擬等研究具有十分重要的意義,室內(nèi)空間的劃分與識別是許多研究可行性的前提[3]。然而,很多工程項目在設(shè)計之初忽略了對建筑模型語義信息ⅠfcSpace 的設(shè)定,使得用戶或設(shè)計師很難清晰直觀地分辨建筑空間內(nèi)各個獨立的功能空間。因此,在不具有ⅠfcSpace 語義信息的設(shè)定下,提取出室內(nèi)空間成為一項十分重要的工作。本文提出一種方法,在建筑模型內(nèi)缺失ⅠfcSpace 設(shè)定的情況下,對模型進行合理分析從而提取出建筑內(nèi)部的空間區(qū)域。本文運用體素化方法對模型空間進行分割,根據(jù)墻體和樓板體素塊高度的差異分割建筑模型空間,進而分割出模型內(nèi)部房間。
建筑師在繪制BⅠM 模型時往往忽略了對建筑空間功能的劃分,建筑模型內(nèi)部缺乏ⅠfcSpace 語義信息使得在對模型進行相關(guān)研究時存在困難,本文引用體素化方法對模型進行基礎(chǔ)的分割,最后得到模型空間中的房間。
體素是一個大小不固定的立方體。根據(jù)模型規(guī)模的大小以及對模型分割精確度的要求,可以人為地設(shè)定體素大小來進行空間的分割。每個空間區(qū)域都可以用一組體素來定量地表達其幾何尺寸和細節(jié)[4]。為了從一個龐大、復雜的大空間中提取出各個小空間區(qū)域的功能信息,本研究將對模型進行體素化處理,運用體素化方法對模型進行空間分割,體素化分割空間的示意圖如圖1 所示。
圖1 體素化空間分割
本文通過體素化方法,將空間分割成無數(shù)體素方塊構(gòu)成的體素集合。每一個體素集合代表了具有特定功能的房間。在對BⅠM模型進行體素化處理前,為了避免在對模型進行體素化時因房間內(nèi)部構(gòu)件的干擾而對結(jié)果產(chǎn)生影響,需要在體素化前對模型進行模型內(nèi)相關(guān)構(gòu)件的移除,即對模型進行去構(gòu)件化,如圖2 所示。模型中的桌椅構(gòu)件被移除出房間,進而可以對去構(gòu)件化之后的模型房間進行進一步的體素化處理。
圖2 實驗室模型去構(gòu)件化
為了對空間模型進行體素化的分割,首先需要在模型內(nèi)進行空間網(wǎng)格的建立。在模型空間中建立x,y,z 三維坐標軸,將三維坐標軸分成等間距的線段,單位間距長度為體素的單位長度。體素的單位大小根據(jù)模型的大小及對精確度的要求進行設(shè)定。規(guī)定空間網(wǎng)格的原點坐標為(x0,y0,z0),為模型中的最小坐標點。規(guī)定模型中任意網(wǎng)格的坐標為(x,y,z)。三維空間網(wǎng)格劃分圖如圖3 所示。
圖3 三維坐標空間網(wǎng)格劃分圖
對于公共建筑而言,室內(nèi)墻體的厚度一般為120mm、180mm、240mm,樓板的厚度為120mm。鑒于30 是120、180、240 的最小公因數(shù)。因此,本研究選取單位大小為30mm×30mm×30mm 的體素塊對建筑模型進行體素化處理。對模型進行體素化處理后的效果圖如圖4 所示。
圖4 空間區(qū)域的體素化
在三維空間網(wǎng)格中完成對建筑模型體素化處理后,本研究對模型空間中所有體素塊進行三角形約束檢測。對不符合三角形約束的冗余體素塊進行篩除。保留所有涉及三角形約束的體素塊作為墻和地板的參考。模型空間體素化的流程圖如圖5 所示。
圖5 模型空間體素化流程圖
通常情況下,房間一般是由地板、天花板和四面墻包圍而成的長方體。一般情況下,室內(nèi)墻壁的高度和地板的高度是有差別的。本文根據(jù)模型體素化后墻體高度和地板高度的差別對空間進行分割,得到房間。以墻體作為劃分房間空間的構(gòu)件,對空間區(qū)域進行體素化處理。圖6 可以近似看成一個房間的平面圖,這個房間可以看作是被墻壁包圍而成的立方體,根據(jù)墻體體素塊與地板體素塊高度的差別來分割出房間空間。本文將墻壁的體素塊高度標記成1,地板的體素塊高度標記成0,設(shè)定被編號為1 的體素塊包圍而成的編號為0的區(qū)域定義為1-0 空間。這些1-0 空間可以看作是建筑模型中的房間。1-0 空間示意圖如圖6 所示。
圖6 1-0 空間
體素化之后的模型空間可以看成是由無數(shù)個1-0 空間組成的空間區(qū)域,將這些1-0 空間全部提取出來即可提取出模型中全部的房間。
為驗證本文提出方法的可行性,本文選取某高校實驗室進行室內(nèi)空間的提取,該高校實驗室是由科研辦公室和實驗室組成的建筑空間。根據(jù)本文體素化分割空間的方法對模型進行體素化處理,進而得到模型空間中獨立的房間區(qū)域。圖7 為該高校實驗室的模型圖。
圖7 實驗室BⅠM 模型圖
本文選用單位大小為30mm 的體素塊對模型空間進行分割。由于無法保證模型本身的三維坐標系中x,y 軸分別平行于建筑模型底板的寬度和長度,因此在按照模型坐標系對模型進行體素化處理后,體素塊呈現(xiàn)的方向與墻體的方向并不一致,而是呈現(xiàn)一定角度的傾斜,但并不干擾實驗結(jié)果。對該實驗樓模型進行體素化處理之后的效果圖如圖8 所示。將墻體的體素塊高度定義為1,地板的體素塊高度定義為0,根據(jù)上一節(jié)中提到的方法,提取建筑模型中的1-0 空間,即為模型中相應的房間。依據(jù)此方法提取到該建筑模型室內(nèi)空間的房間,如圖9 所示。
圖8 實驗室體素化效果圖
圖9 實驗室房間提取
本文運用體素化分割空間的方法,依據(jù)墻體體素塊高度與地板體素塊高度的差異提取模型中的1-0 空間,進而識別出建筑空間中的房間。本研究對室內(nèi)導航、環(huán)境模擬以及建筑信息管理應用分析等研究具有十分重要的意義,是基于建筑模型相關(guān)研究能夠科學高效推進的前提。