999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于3DMax三維城市建筑模型自動分層切割方法研究與應用

2015-05-30 10:48:04黃國豪
科技資訊 2015年30期
關鍵詞:主體模型

黃國豪

三維數字城市是未來智慧城市建設的必然,其逼真的三維呈現在城市建設、國土規劃、公安消防等相關領域得到廣泛的應用。由于不同部門對高層建筑模型有不同的管理應用需求,需要對高層建筑模型進行分層進行表達,滿足交互式可視化等細節方面的需求[1]。

現有的三維建筑模型在3D GIS平臺通常是一個整體對象,無法對建筑進行分層交互式可視化操作,只能在三維建模軟件通過手工切割再導入3D GIS平臺。面對海量的三維數字城市的建筑模型,手工切割的效率不僅低下,而且需要大量的人員投入。針對這種情況,該文探討了建筑模型自動分層切割算法,基于3DS Max的二次開發工具實現了建筑模型自動分層切割,極大的提高了工作效率。

1 定義

1.1 CSG模型

三維矢量模型是二維中點、線、面矢量模型在三維中的推廣。它將三維空間中的實體抽象為三維空間中的點、線、面、體四種基本元素,然后以這四種基本幾何元素的集合來構造更復雜的對象。以起點、終點來限定其邊界,以一組型值點來限定其形狀;以一個外邊界環和若干內邊界環來限定其邊界,以一組型值曲線來限定其形狀;以一組曲面來限定其邊界和形狀。矢量模型能精確表達三維的線狀實體、面狀實體和體狀實體的不規則邊界,數據存儲格式緊湊、數據量小,并能直觀地表達空間幾何元素間的拓撲關系。

CSG模型(Constructive Solid Geometry)用一些基本體素如長方體、球柱體、椎體和圓環等,通過集合運算如并、交、差等操作來組合形成物體。如圖1所示。

TIN-CSG混合構模是當前城市3D GIS和3DCM 構模的主要方式,即以TIN模型表示地形表面,以CSG模型表示城市建筑物,兩種模型的數據是分開存儲的。為了實現TIN與CSG的集成,在TIN模型的形成過程中將建筑物的地面輪廓作為內部約束,同時把CSG模型中建筑物的編號作為TIN模型中建筑物的地面輪廓多邊形的屬性,并且將兩種模型集成在一個用戶界面[3-4]。

1.2 紋理

三維模型的紋理是應用到模型上的一個二維圖片。紋理位圖對應二維數組中的每一元素,在表示紋理時對應的二維下標稱為紋理映射坐標,用字母(u,v)表示。紋理映射是紋理圖貼到多邊形表面的過程。

紋理坐標系(D3D)如圖3所示。

1.3 三維模型分割

三維模型分割是根據一定的幾何及拓撲特征,將封閉的三維網格多面體,依據表面幾何、拓撲特征,分解為一組數目有限、各自具有簡單形狀意義的、而且各自聯通的三維模型子塊的工作。

三維模型分割的定義。三維模型分割算法大體有基于分水嶺方法的分割、基于曲率信息的分割、基于體素分解的分割、基于聚類分析的分割、基于拓撲結構圖的分割,還有文獻[1]武漢大學楊必勝教授等研究的基于切割環分解三維建筑物模型的算法等。

該文的切割方法是在3DMax里面調用切割(cup)函數直接對模型進行分層切割。在3DMax里面切割的好處是不用考慮復雜的切割算法以及三維實體重構,分割后的模型能保留正確的拓撲信息以及完整的樓層紋理信息,效率非常高。

1.4 碰撞檢測

如何求出三維模型樓頂的坐標是該文切割方法的基礎,最好的辦法是利用碰撞檢測[5]。

在虛擬現實世界中一般是通過檢測兩個實體所占的幾何空間是否相交判斷是否發生碰撞。在現實世界中,每個實體都占有一定幾何空間,而且不可能出現兩個實體相互穿透的現象。當虛擬現實系統中兩個實體所占有的幾何空間試圖相互穿透時,系統就認為這兩個實體發生了碰撞。

用四維空間來描述運動實體,前四維是通常意義上的四維空間,第四維是時間,那末一個實體就可以用四維空間中的點集來描述,即:

2 算法實現及應用

該方法是根據大比例尺DLG數據庫的居民地面得到樓層數、三維模型主體絕對高度以及三維模型側面紋理來判斷確定每層高度,然后從下往上對模型進行分層切割。

2.1 基于3DS Max切割算法設計

3DS Max是AutoDesk公司開發的專業建模、動畫制作、虛擬設計軟件,功能強大。該軟件提供了兩個層次的開發工具:MAXscript和SDK(Software Development Kit)。SDK是3ds Max強大的工具包,能開發出各種各樣的插件,3DS Max插件其實就是動態鏈接庫用以擴展MAX的功能,在windows里面就是DLL。

該工具開發環境:Visual studio 2005、3DMax9.0、3DS MAX SDK和ArcGIS Engine。3DS MAX SDK則需要從完整版的3DMAX光盤中安裝。

其算法流程如下圖4所示。

(1) 樓層數F1是直接讀取模型所在居民地面的Floor屬性得到。

(2) 模型主體高度H1的計算。

只要得到模型高度頂點(Vertex)列表,用GetVertex(i)獲取各頂點坐標列表,通過程序計算出女兒墻的高度,從而得到準確的模型主體高度H1。

首先讀取模型所有的頂點坐標,如下圖6的B1、B2、B3、B4和D1、D2、D3、D4,根據頂點Z坐標分別構建平面封閉圖,再把全部平面封閉圖投影到一個平面上,判斷分析區分房上房頂和主體房頂。從而得到B1、B2、B3和B4是樓房主體房頂坐標。

然后隨意取樓房主體房頂任一邊(B2,B3),找出D1、D2、D3和D4最近的點D3,D3點和樓房主體頂點B3連線,取中間點F,從F點往Z坐標反方向做射線與樓房模型做碰撞檢測,得到碰撞點G。如圖6所示。

最后把碰撞點G和B3進行比較,如果Z坐標相等說明模型沒有女兒墻;如果不相等說明模型樓頂有女兒墻,B3的Z坐標減去G的Z坐標就得到女兒墻的高度,B3的Z坐標再減去A3的Z坐標再減去女兒墻的高度就是模型主體高度H1。

(3) 層高信息的計算。

貼圖要求為保證區域范圍內整體色調的一致性,尤其獨立小區內多個外觀一致性的建筑物模型,材質色調要求一致、協調(貼圖前建立色板或公共紋理庫,所有貼圖人員從紋理庫中提取紋理,但紋理名稱不能改變,達到紋理重用以減少紋理數量)。因此可以通過三維模型側面主體紋理的查找統計,計算出主體樓層數。

在3D Max 獲取模型所有面的貼圖信息,找到Z坐標方向出現次數最多的紋理名稱,然后再計算該紋理在Z坐標方向出現的個數,就是主體樓層數F2。同時計算一個紋理在Z坐標方向的高度,得到樓層高度H2。

如果F1等于F2,說明所有的樓層高度都是一致的,不需要對一樓樓層高度進行另外計算;

如果F1不等于F2,說明樓層高度不一致,一般是一樓高度是挑高層。一樓挑高的層高計算公式:

F3=H1-F2×H2

最后把層高信息記錄在數組M里。

Float[] M = F3,H2,…

(4) 定義切割路徑列表。

依次將數組M放入切割路徑列表,并對潛在切割對象構建空間索引,存放樓層屬性信息便于日后3D GIS系統平臺的具體應用。從模型的最底層開始調用3DMax的切割函數依次從下到上進行分層切割。

2.2 應用試驗

該文試驗區域的三維模型通過高精度航拍的立體像對進行建模,模型頂上(平面屋頂、坡屋頂、瓦屋頂)的高度都是內業量測出來的。成片居民區(屋頂有女兒墻的)以女兒墻高度測圖,并實地拍照進行紋理采集,最后利用三維建模軟件3DMax烘培合成。試驗區域為住宅樓。

該試驗區域精模紋理長、寬均為2的n次冪像素值,貼圖單邊像素數≤1024;中模紋理長、寬均為2的n次冪像素值,貼圖單邊像素數≤512;簡模紋理長、寬均為2的n次冪像素值,貼圖單邊像素數≤256。貼圖紋理尺寸長寬比例為1:1或1:2。紋理與實際一致(嚴格按照建筑物層數、窗戶數量制作紋理)。

數據的準備:大比例尺DLG數據庫MDB的居民地面數據。

該文選取的三維建筑模型是典型的居民樓,如圖9所示。樓層共11層,樓頂有樓梯房、裝飾構件、兒女墻等,樓體有飄窗、陽臺等構件,一樓是架空層。程序通過面積比較很容易把房上房頂、裝飾構件和主體樓頂區分開來,快速準確算出女兒墻的高度。程序計算一樓的挑高高度為3.8 m,主體樓層高度為2.8 m。圖10切割結果表明,主體樓層和挑高樓層分層準確,沒有出現模型分割錯誤,分割后的樓層紋理正確,拓撲關系正確。

3 結語

通過SDK插件開發直接調用3DMax的核心函數對模型進行自動分層切割,不但提高了程序運行速度,還使模型分割效率和產品質量有極大的提高,縮短了生產周期。3DMax的二次開發功能,對于理論研究和解決實際問題是十分有效的方法和手段。

三維網格模型的分割是具有挑戰性的課題,下一步研究的重點是引入樓層戶型平面圖進行自動分棟分層分戶切割并自動構建室內建模技術。

參考文獻

[1] 楊必勝,姜少波.基于切割環分解的三維建筑物細節層次模型構造[J].測繪學報,2011,40(5):575-581.

[2] 孫曉鵬.三維模型的分割及應用研究[D].北京:中國科學院研究生院(計算技術研究所),2005.

[3] 李清泉.基于混合結構的三維GIS數據模型與空間分析研究[D].武漢:武漢測繪科技大學,1998.

[4] 孫敏,陳軍.基于幾何元素的三維景觀實體建模研究[J].武漢測繪科技大學學報,2000,25(3):233-237.

[5] 焦潔.分布式虛擬環境中碰撞檢測響應的研究與實現[D].北京:北京航空航天大學,2001.

[6] 荷塘月色創作組.如何使用3DS SDK開發程序[M].北京:北京理工大學出版社,1999.

[7] 羅勝.3DS Max SDK插件開發技術[J].機床與液壓,2003(6):242-243.

猜你喜歡
主體模型
一半模型
論自然人破產法的適用主體
南大法學(2021年3期)2021-08-13 09:22:32
從“我”到“仲肯”——阿來小說中敘述主體的轉變
阿來研究(2021年1期)2021-07-31 07:39:04
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
技術創新體系的5個主體
中國自行車(2018年9期)2018-10-13 06:17:10
3D打印中的模型分割與打包
懷舊風勁吹,80、90后成懷舊消費主體
金色年華(2016年13期)2016-02-28 01:43:27
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
論多元主體的生成
主站蜘蛛池模板: 国产传媒一区二区三区四区五区| 日韩美女福利视频| 中文字幕 91| 国产精品一区不卡| 久久青草免费91观看| 日韩高清一区 | 欧美不卡在线视频| 天堂亚洲网| 1769国产精品视频免费观看| аⅴ资源中文在线天堂| 亚洲色图欧美激情| 黄色网页在线播放| 香蕉蕉亚亚洲aav综合| 视频二区亚洲精品| 久99久热只有精品国产15| 99视频有精品视频免费观看| 中日韩一区二区三区中文免费视频| 超薄丝袜足j国产在线视频| 亚洲美女操| 亚洲欧洲国产成人综合不卡| 成人午夜视频网站| 国产青榴视频在线观看网站| 亚洲AⅤ无码国产精品| 国产高清国内精品福利| 久久国产成人精品国产成人亚洲| 亚洲男人天堂久久| 中文字幕欧美日韩高清| 日本人妻一区二区三区不卡影院| 欧美日韩亚洲综合在线观看| 免费观看成人久久网免费观看| 亚洲swag精品自拍一区| 亚洲资源在线视频| 高清无码不卡视频| 男女猛烈无遮挡午夜视频| 成年人久久黄色网站| 亚洲天堂日韩在线| 国产在线啪| 免费高清毛片| 日韩在线观看网站| 婷婷色在线视频| 成年免费在线观看| 国产欧美日韩18| 香蕉综合在线视频91| 欧美精品xx| 国内a级毛片| 久久婷婷色综合老司机| 99视频有精品视频免费观看| 亚洲综合一区国产精品| 亚洲无码不卡网| 五月天久久婷婷| 欧美第九页| 四虎影视库国产精品一区| 亚洲视频免费播放| 国产鲁鲁视频在线观看| 国产高清精品在线91| 无码'专区第一页| 亚洲欧美日韩动漫| 中日韩欧亚无码视频| 亚洲最大福利网站| 色噜噜综合网| 日本欧美视频在线观看| 日本国产在线| 国产毛片片精品天天看视频| 91在线国内在线播放老师| 国产精品手机在线观看你懂的| 69综合网| 亚洲午夜福利在线| 国产区免费精品视频| 午夜日b视频| 萌白酱国产一区二区| 欧美第一页在线| 日韩视频免费| 日韩毛片免费视频| 久久久久人妻一区精品色奶水| 日本高清免费不卡视频| 22sihu国产精品视频影视资讯| 在线不卡免费视频| 亚洲国产综合精品中文第一| 丰满人妻中出白浆| 久久免费成人| 97青青青国产在线播放| 欧美性久久久久|