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

        ?

        CityEngine三維建筑模型的簡(jiǎn)化算法研究

        2016-12-26 11:57:59馬勁松
        地理空間信息 2016年4期
        關(guān)鍵詞:墻面屋頂墻體

        劉 磊,馬勁松,劉 凱,沈 潔

        (1.南京大學(xué) 地理與海洋科學(xué)學(xué)院,江蘇 南京 210046;2.南京師范大學(xué) 地理科學(xué)學(xué)院,江蘇 南京210046)

        CityEngine三維建筑模型的簡(jiǎn)化算法研究

        劉 磊1,馬勁松1,劉 凱1,沈 潔2

        (1.南京大學(xué) 地理與海洋科學(xué)學(xué)院,江蘇 南京 210046;2.南京師范大學(xué) 地理科學(xué)學(xué)院,江蘇 南京210046)

        分析CityEngine的使用規(guī)則,為批量構(gòu)建三維城市建筑模型,從模型的墻體、屋頂和紋理3個(gè)方面進(jìn)行分類。探討了實(shí)現(xiàn)多分辨率三維數(shù)字城市的技術(shù)方法,通過使用最小特征面平移算法實(shí)現(xiàn)對(duì)CityEngine三維模型的簡(jiǎn)化。

        CityEngine;三維模型;簡(jiǎn)化;綜合

        近年來,三維數(shù)字城市的建設(shè)發(fā)展迅速,已能將三維城市景觀很好地展示在屏幕上,但三維場(chǎng)景的大數(shù)據(jù)量給可視化造成很大的負(fù)擔(dān)[1]。因此,國內(nèi)外學(xué)者對(duì)三維數(shù)字城市建筑模型的綜合作過很多研究。三維建筑模型綜合是二維建筑物的綜合方法和技術(shù)在三維空間中的擴(kuò)展,內(nèi)容廣泛[2]。武芳等分析了三維建筑模型的分類和識(shí)別,探討了取舍、化簡(jiǎn)、概括和位移等二維綜合的基本方法[3]。在三維建筑物綜合中,建筑物的簡(jiǎn)化是一個(gè)重要問題。葛磊等提出了基于最小特征的面平移算法[4];Andrea Forberg提出三維建筑矢量數(shù)據(jù)的綜合方法,集合數(shù)學(xué)形態(tài)學(xué)和曲率空間的優(yōu)點(diǎn),使綜合過程變得更快、更簡(jiǎn)便[5]。 Ribelles等提出將多余要素與建筑主體分離并刪除,然后填洞的三維建筑簡(jiǎn)化算法[6]。ESRI的CityEngine三維城市建模系統(tǒng)發(fā)展迅速,它可以利用二維數(shù)據(jù)快速創(chuàng)建大量的三維場(chǎng)景,并能高效地進(jìn)行規(guī)劃設(shè)計(jì),應(yīng)用廣泛。嘗試將CityEngine建立的城市建筑模型進(jìn)行綜合,以實(shí)現(xiàn)不同空間細(xì)節(jié)層次的三維城市模型。

        1 CityEngine建模特點(diǎn)及模型簡(jiǎn)化思路

        1.1 基于CityEngine的城市三維建筑建模

        1)CityEngine的功能。CityEngine能將測(cè)繪所得建筑平面數(shù)據(jù)快速建成三維建筑模型。它支持多種GIS數(shù)據(jù)格式,如ESRI Shapefile、KML等;可支持多種3D格式的數(shù)據(jù)輸出,如Collada、DXF以及3DS等。

        2)CityEngine三維建模特點(diǎn)。CityEngine建模的最大特點(diǎn)是基于規(guī)則的建模,通過總結(jié)建筑物的共性和特性來編寫CGA(computer generated architecture)規(guī)則文件。共性是指一般建筑物的大體結(jié)構(gòu),如墻體、屋頂?shù)鹊姆謪^(qū);特性是指各個(gè)建筑物所具有的不同屬性,如樓房高度、屋頂樣式等。

        1.2 三維模型的簡(jiǎn)化

        城市建筑模型的形態(tài)類型。將測(cè)繪所得的房屋地籍?dāng)?shù)據(jù)作為三維建模的二維基礎(chǔ)數(shù)據(jù)(圖1a),經(jīng)過CityEngine三維建模的結(jié)果如圖1b。本文從2個(gè)方面來探討我國常規(guī)城市建筑的形態(tài)分類。

        圖1 CityEngine建模效果

        首先是根據(jù)墻體分類??蓪⑵矫鎴D形成的墻體大致分為以下3類:墻體無凸凹(圖2a),墻體一面有凸凹(圖2b),2面都凸凹(圖2c),三維效果如圖3。

        圖2 墻體分類的二維效果

        其次是根據(jù)屋頂分類。我國現(xiàn)有城市建筑的屋頂樣式可歸類為以下3種: 尖頂(圖4a),斜坡頂(圖4b),平頂(圖4c)。

        圖4 建筑屋頂分類

        1.3 模型簡(jiǎn)化方法

        通過CityEngine建立的三維數(shù)字城市模型包括三角面構(gòu)成的平面和紋理貼圖,所以本文的簡(jiǎn)化內(nèi)容包括平面細(xì)節(jié)簡(jiǎn)化、紋理刪除等。模型平面的簡(jiǎn)化包括墻面簡(jiǎn)化、屋頂簡(jiǎn)化以及外部附屬物簡(jiǎn)化。本文主要討論墻面和屋頂?shù)暮?jiǎn)化。

        墻面凹凸結(jié)構(gòu)的簡(jiǎn)化是兩兩比較墻面所在平面,通過2平面與模型中心點(diǎn)的比較判定2平面的相對(duì)位置來識(shí)別凹凸結(jié)構(gòu),并通過2平面面積大小來判斷平面平移方向,從而達(dá)到簡(jiǎn)化墻面的作用。此過程主要使用了最小特征面平移算法。

        屋頂?shù)暮?jiǎn)化首先通過先驗(yàn)知識(shí)(墻體垂直地面)識(shí)別墻面,通過與墻體所在平面的夾角來識(shí)別屋頂面,從而區(qū)分出墻面點(diǎn)和屋頂點(diǎn)。最后平移屋頂點(diǎn)至屋頂面與地面平行,達(dá)到屋頂面的簡(jiǎn)化效果。此過程使用了點(diǎn)平移算法。

        2 CityEngine城市建筑模型簡(jiǎn)化算法

        2.1 模型文件的結(jié)構(gòu)、輸入輸出

        CityEngine通過輸入二維GIS數(shù)據(jù),采用編寫的CGA規(guī)則文件進(jìn)行三維建模。本文選用3DS作為數(shù)據(jù)輸出格式,存儲(chǔ)模型的幾何信息和材質(zhì)信息。幾何信息主要包括頂點(diǎn)的數(shù)目、每個(gè)頂點(diǎn)的坐標(biāo)、三角面數(shù)目、每個(gè)三角面上3個(gè)頂點(diǎn)的索引。三維建筑簡(jiǎn)化的操作對(duì)象主要是模型的幾何信息。

        2.2 模型的簡(jiǎn)化算法實(shí)現(xiàn)

        根據(jù)CityEngine所建立的3D模型進(jìn)行墻面和屋頂?shù)暮?jiǎn)化,如圖5。

        圖5 三維模型簡(jiǎn)化流程圖

        2.3 構(gòu)造平面算法

        建筑物模型的表面由平面構(gòu)成,所有的簡(jiǎn)化處理操作都是以平面為單位,但3DS模型都是由三角面構(gòu)成的(如圖6),所以首先需要將三角面組成平面[7],根據(jù)法向量共向和面面共點(diǎn)這2個(gè)必要條件,組合在同一個(gè)平面上的三角面形成一個(gè)完整的平面。法向量可由式(1)獲取,法向量共向可用它們之間的夾角的余弦值為0來判定,如式(2)。通過式(3)和式(4)獲取三角面和平面的面積特征值。

        圖6 三角面構(gòu)成三維模型

        式中,P1、P2、P3表示平面上任意3點(diǎn),通過式(1)計(jì)算得到平面的法向量Normal1。

        式中,Normal1、Normal2表示2平面的法向量,表示2平面之間的夾角。

        式中,A、B、C為三角面的三邊邊長(zhǎng);P=(A+B+C)/ 2;S表示三角面面積。

        式中,SΔi表示構(gòu)成平面的第i個(gè)三角面的面積;S平面表示平面面積。

        2.4 墻面凹凸判斷方法

        建筑物墻面凹凸主要依據(jù)建筑物中心到平面的距離大小來判定。具體判斷算法如下:

        2)將平面兩兩比較,如果2平面法向量方向相同,則進(jìn)行步驟3),否則比較另外2組平面。

        3)判斷2個(gè)平面是否在中心點(diǎn)的同一側(cè),如果在,則進(jìn)行步驟4),否則比較另外2組平面。

        4)計(jì)算2個(gè)平面的平面方程。任取平面內(nèi)4個(gè)點(diǎn),根據(jù)ax+by+cz+d=0建立方程組計(jì)算出a、b、c、d的值,從而計(jì)算出平面方程。

        5)通過式(5)分別計(jì)算中心到2平面的距離,具有相對(duì)較小距離的平面為凹面,相對(duì)較大距離的面為凸面,如圖7。

        式中,a、b、c、d為平面方程的參數(shù);x,y,z為中心點(diǎn)的三維坐標(biāo)值。

        圖7 墻面凹凸

        2.5 面平移算法

        面平移算法的原理是通過平移平面的點(diǎn)來消除建筑物模型細(xì)節(jié)信息,包括墻面凹凸、外部附屬物、屋頂?shù)?。首先?duì)墻面和外部附屬物進(jìn)行簡(jiǎn)化的算法如下:

        1) 兩兩比較平面,若2個(gè)平面的法向量同向,則進(jìn)行步驟2),否則比較下一組平面。

        2)分別計(jì)算中心點(diǎn)到2平面的投影,通過中心點(diǎn)與投影點(diǎn)的方向判定2個(gè)平面是否在中心點(diǎn)的同一側(cè)。如果在同一側(cè),則進(jìn)行步驟3),否則比較另外2組平面[8]。

        3)獲取并比較2平面的面積S,用式(6)計(jì)算2平面的距離,如圖8a紅色部分。如果V于等于整個(gè)模型的體積V總的1/3,則進(jìn)行步驟4),否則比較下一組平面。

        4) 將小面積平面的所有點(diǎn)朝著大面積平面的方向平移距離D,從而使得2平面共面,如圖8b。

        圖8 墻面簡(jiǎn)化

        屋頂?shù)淖R(shí)別與處理步驟如下:

        1)首先遍歷所有平面,通過判斷平面是否垂直地面判斷出模型的墻面(圖9的灰色部分)。

        2)遍歷兩兩平面之間的夾角,當(dāng)夾角不等于90°且不為墻面(圖9深色部分)時(shí),判定平面為屋頂面(圖9淺色部分)。

        3)遍歷屋頂面所有點(diǎn),若點(diǎn)是屋頂面和墻面公共點(diǎn),則判定為墻面點(diǎn),否則為屋頂點(diǎn)。

        4)向地面方向平移屋頂點(diǎn),直至各屋頂面共面,完成屋頂簡(jiǎn)化。

        圖9 屋頂簡(jiǎn)化

        3 實(shí)驗(yàn)結(jié)果

        3.1 三維模型的讀取和顯示

        本文使用CityEngine建立的三維數(shù)字城市模型導(dǎo)出為3DS數(shù)據(jù)結(jié)構(gòu),在VisualStudio 2012平臺(tái)上使用C++語言對(duì)三維模型讀取點(diǎn)、面、紋理信息后,使用OpenGL對(duì)模型進(jìn)行三維顯示。

        3.2 三維模型簡(jiǎn)化效果

        三維模型的簡(jiǎn)化效果主要有2方面的內(nèi)容:模型細(xì)節(jié)簡(jiǎn)化,如圖10;數(shù)據(jù)量減少,如表1。

        圖10 簡(jiǎn)化效果

        表1 三維模型簡(jiǎn)化數(shù)據(jù)量減少情況

        4 結(jié) 語

        使用CityEngine建立三維城市模型,分析模型結(jié)構(gòu)特點(diǎn)和三維模型存儲(chǔ)結(jié)構(gòu),探討三維數(shù)字城市模型綜合基本方法,并在此基礎(chǔ)上討論此方法對(duì)CityEngine建立的三維數(shù)字城市模型進(jìn)行綜合的可行性。本文選擇其中的簡(jiǎn)化方法進(jìn)行實(shí)驗(yàn),使用面平移算法實(shí)現(xiàn)了對(duì)三維數(shù)字城市模型的簡(jiǎn)化。從三維模型形狀上分析,模型的凹凸結(jié)構(gòu)、紋理、屋頂樣式等都得到了有效簡(jiǎn)化,從數(shù)據(jù)量上實(shí)現(xiàn)了三維模型的點(diǎn)面數(shù)據(jù)量減少。同時(shí),此簡(jiǎn)化算法仍存在一定的局限性,如在進(jìn)行屋頂簡(jiǎn)化時(shí),由于使用了點(diǎn)向下平移方法,導(dǎo)致整個(gè)建筑物的高度降低,這與實(shí)際不符。但從整體簡(jiǎn)化結(jié)果來看,面平移算法和點(diǎn)平移算法能很好地實(shí)現(xiàn)CityEngine 3D模型的簡(jiǎn)化。參考文獻(xiàn)

        [1] 周艷,朱慶,黃鐸,等.三維城市模型中建筑物L(fēng)OD模型研究[J].測(cè)繪科學(xué),2006,31(5):74-77

        [2] 王慶國,朱慶,艾廷華,等.建筑物三維表面模型簡(jiǎn)化算法探討[J].測(cè)繪科學(xué),2007,32(2):84-86

        [3] 葛磊,武芳,朱強(qiáng),等.三維建筑綜合基本方法的探討[J].測(cè)繪信息與工程,2009,34(2):15-17

        [4] 葛磊,武芳,王鵬波,等.3維建筑綜合中基于最小特征的面平移算法[J].測(cè)繪科學(xué)技術(shù)學(xué)報(bào),2009,26(2):103-105

        [5] Forberg A,Mayer H.Scalecale-Space Events for the Generalization of 3D-Building Data[C].Amsterdam,2000

        [6] Ribelles J,Heckbertps.Finding and Removing Features from Polyhedra[C].Detc’01 Asme Design Engineering Technical Conferences,2001

        [7] 楊姣,李光,羅守華,等.基于近平面合并的三角網(wǎng)格簡(jiǎn)化算法[J].軟件,2011,32(5):14-17

        [8] 曹菡,陳軍.方向關(guān)系與距離關(guān)系的定性描述與推理[J].西安石油學(xué)院學(xué)報(bào):自然科學(xué)版,2001,16(1):68-72

        P208

        B

        1672-4623(2016)04-0010-03

        10.3969/j.issn.1672-4623.2016.04.004

        劉磊,碩士,主要研究方向是GIS應(yīng)用與二次開發(fā)。

        2015-03-06。

        項(xiàng)目來源:國家自然科學(xué)基金資助項(xiàng)目(41371433,41071288)。

        猜你喜歡
        墻面屋頂墻體
        今日農(nóng)業(yè)(2022年1期)2022-11-16 21:20:05
        新型建筑墻體材料及墻體保溫技術(shù)分析
        冷暖——老舊小區(qū)改造,改變的不止是墻面
        屋頂屋
        屋頂上的馬
        承重型3D板墻體抗震性能數(shù)值模擬
        秸稈磚在墻體材料中的應(yīng)用
        上海建材(2018年2期)2018-06-26 08:50:54
        屋頂?shù)难?外四首)
        天津詩人(2017年2期)2017-11-29 01:24:14
        開關(guān)的美麗衣裳
        手工字母花卉讓墻面與眾不同
        粉嫩av最新在线高清观看| 98久9在线 | 免费| 亚洲精品国产成人AV| 国产精品久久久久免费看| 9l国产自产一区二区三区| 久久精品国产亚洲av天| 最近2019年好看中文字幕视频| 国产精品视频一区二区噜噜| 欧美伊人亚洲伊人色综| 天堂女人av一区二区| 亚洲精品国产亚洲av| 真实国产乱子伦精品视频| 亚洲产国偷v产偷v自拍色戒| 国产精品嫩草影院午夜| 日本看片一区二区三区 | 无码之国产精品网址蜜芽| 日本五十路熟女在线视频| 国产91成人精品高潮综合久久| 特黄熟妇丰满人妻无码 | 欧美色图50p| 久久久噜噜噜噜久久熟女m| 国精产品一区一区三区有限在线| 黑人巨大跨种族video| 久久亚洲国产中v天仙www| 日韩精品久久不卡中文字幕| 国模91九色精品二三四| 欧美人与禽zozzo性伦交| 国产av日韩a∨亚洲av电影| 色婷婷一区二区三区四区| 美女免费视频观看网址| 亚洲性无码一区二区三区| 久久99精品久久久久久野外| 日本一区二区亚洲三区| 偷拍视频网址一区二区| 亚洲综合色区另类av| 亚洲V在线激情| 亚洲综合中文日韩字幕| 最新日本一道免费一区二区| 女同亚洲女同精品| 一区二区三区成人av| 日本熟妇美熟bbw|