本發(fā)明屬于建筑物模型設(shè)計領(lǐng)域,尤其涉及一種基于改進同倫映射算法的建筑物三維模型構(gòu)建方法及系統(tǒng)。
背景技術(shù):
建筑是一門藝術(shù),是一個復(fù)雜的綜合體,是“城市的雕塑”,它反映了人類文明的歷史與科學(xué)技術(shù)的進步。隨著時代的發(fā)展,建筑材料的多樣化,現(xiàn)代建筑的造型不再是規(guī)則的長方體,而越來越趨向于多變造型,利用了曲面、非對稱等多種造型手法,通過點、線、面、體彰顯了現(xiàn)代建筑的特點。
現(xiàn)有的建筑物的三維模型構(gòu)建方法都是采用規(guī)則形狀來仿真的,但是這種使規(guī)則形狀來仿真建筑物已經(jīng)不能滿足對多變造型的建筑物的建模仿真,缺乏真實感。
技術(shù)實現(xiàn)要素:
為了解決現(xiàn)有技術(shù)的缺點,本發(fā)明的第一目的是提供一種基于改進同倫映射算法的建筑物三維模型構(gòu)建方法。
本發(fā)明的一種基于改進同倫映射算法的建筑物三維模型構(gòu)建方法,該方法在處理器或服務(wù)器內(nèi)完成,具體包括:
分別獲取建筑物的底層平面圖像、頂層平面圖像和側(cè)面圖像,進而構(gòu)建出建筑物底層輪廓曲線函數(shù)f(x,y)、頂層輪廓曲線函數(shù)g(x,y)和建筑物側(cè)面變化曲線;
將建筑物側(cè)面變化曲線的控制點坐標進行標準化,再進行曲線擬合得到同倫映射函數(shù)k(t);
再基于改進同倫映射算法,得到建筑物的各層輪廓曲線上控制點的水平面二維坐標(x,y),其滿足公式:F(t,x,y)=f(x,y)(1-k(t))+g(x,y)k(t)+k1A(x,y)+k2R(x,y);
其中,A(x,y)為預(yù)設(shè)的中軸函數(shù);R(x,y)為預(yù)設(shè)的旋轉(zhuǎn)偏轉(zhuǎn)函數(shù);t為同倫映射函數(shù)的參數(shù);k(t)和t取值范圍均為[0,1];k1與k2均為常系數(shù),只取0或1;
根據(jù)建筑物的層數(shù)以及層高,得到建筑物的各個層輪廓曲線上的控制點的豎直坐標z;
根據(jù)建筑物的各個層輪廓線上控制點坐標值(x,y,z),依次生成各層輪廓曲線,最終得到出整個建筑物的三維模型。
進一步的,構(gòu)建出建筑物底層輪廓曲線函數(shù)和頂層輪廓曲線函數(shù)的過程包括:
從獲取的建筑物的底層平面圖像和頂層平面圖像,進而確定出建筑物底層輪廓的控制點坐標和頂層輪廓的控制點坐標;
根據(jù)建筑物底層輪廓的控制點坐標和頂層輪廓的控制點坐標,分別進行曲線擬合,得到建筑物底層輪廓曲線函數(shù)和頂層輪廓曲線函數(shù)。
其中,頂層曲線的點列個數(shù)應(yīng)與底層輪廓的點列個數(shù)完全相同。本發(fā)明利用曲線擬合,比如:多邊形模擬,得到建筑物底層輪廓和建筑物頂層輪廓,得到更接近實際情況的輪廓曲線函數(shù)。
進一步的,得到同倫映射函數(shù)的過程包括:
對標準化后的建筑物側(cè)面變化曲線的控制點坐標進行指數(shù)擬合或傅立葉擬合或高斯擬合或插值擬合或多項式擬合,得到同倫映射函數(shù)。
本發(fā)明利用同倫映射函數(shù),將建筑物底層輪廓曲線函數(shù)和頂層輪廓曲線函數(shù)映射到建筑物的各個層,這樣更符合建筑物本身的結(jié)構(gòu)特點,使得建立出的建筑物三維模型更具有真實感。
進一步的,同倫映射函數(shù)k(t)滿足:k(t)=t。
這樣使得同倫映射函數(shù)k(t)更加標準統(tǒng)一化,能夠適用于各種形狀的建筑物的三維模型的構(gòu)建。
本發(fā)明的第二目的是提供一種基于改進同倫映射算法的建筑物三維模型構(gòu)建系統(tǒng)。
本發(fā)明的一種基于改進同倫映射算法的建筑物三維模型構(gòu)建系統(tǒng),包括:
輪廓曲線構(gòu)建模塊,其用于分別獲取建筑物的底層平面圖像、頂層平面圖像和側(cè)面圖像,進而構(gòu)建出建筑物底層輪廓曲線函數(shù)f(x,y)、頂層輪廓曲線函數(shù)g(x,y)和建筑物側(cè)面變化曲線;
同倫映射函數(shù)獲取模塊,其用于將建筑物側(cè)面變化曲線的控制點坐標進行標準化,再進行曲線擬合得到同倫映射函數(shù)k(t);
控制點坐標計算模塊,其用于基于改進同倫映射算法,得到建筑物的各層輪廓曲線上控制點的水平面二維坐標(x,y),其滿足公式:
F(t,x,y)=f(x,y)(1-k(t))+g(x,y)k(t)+k1A(x,y)+k2R(x,y);
其中,A(x,y)為預(yù)設(shè)的中軸函數(shù);R(x,y)為預(yù)設(shè)的旋轉(zhuǎn)偏轉(zhuǎn)函數(shù);t為同倫映射函數(shù)的參數(shù);k(t)和t取值范圍均為[0,1];k1與k2均為常系數(shù),只取0或1;
根據(jù)建筑物的層數(shù)以及層高,得到建筑物的各個層輪廓曲線上的控制點的豎直坐標z;
三維模型獲取模塊,其用于根據(jù)建筑物的各個層輪廓線上控制點坐標值(x,y,z),依次生成各層輪廓曲線,最終得到出整個建筑物的三維模型。
進一步的,在所述輪廓曲線構(gòu)建模塊中,從獲取的建筑物的底層平面圖像和頂層平面圖像,進而確定出建筑物底層輪廓的控制點坐標和頂層輪廓的控制點坐標;
根據(jù)建筑物底層輪廓的控制點坐標和頂層輪廓的控制點坐標,分別進行曲線擬合,得到建筑物底層輪廓曲線函數(shù)和頂層輪廓曲線函數(shù)。
其中,頂層曲線的點列個數(shù)應(yīng)與底層輪廓的點列個數(shù)完全相同。本發(fā)明利用曲線擬合,比如:多邊形模擬,得到建筑物底層輪廓和建筑物頂層輪廓,得到更接近實際情況的輪廓曲線函數(shù)。
進一步的,在同倫映射函數(shù)獲取模塊中,對標準化后的建筑物側(cè)面變化曲線的控制點坐標進行指數(shù)擬合或傅立葉擬合或高斯擬合或插值擬合或多項式擬合,得到同倫映射函數(shù)。
本發(fā)明利用同倫映射函數(shù),將建筑物底層輪廓曲線函數(shù)和頂層輪廓曲線函數(shù)映射到建筑物的各個層,這樣更符合建筑物本身的結(jié)構(gòu)特點,使得建立出的建筑物三維模型更具有真實感。
進一步的,在同倫映射函數(shù)獲取模塊中,同倫映射函數(shù)k(t)滿足:k(t)=t。
這樣使得同倫映射函數(shù)k(t)更加標準統(tǒng)一化,能夠適用于各種形狀的建筑物的三維模型的構(gòu)建。
本發(fā)明還提供了另一種基于改進同倫映射算法的建筑物三維模型構(gòu)建系統(tǒng)。
本發(fā)明的一種基于改進同倫映射算法的建筑物三維模型構(gòu)建系統(tǒng),包括:
圖像采集裝置,其被配置為:
獲取建筑物的底層平面圖像、頂層平面圖像和側(cè)面圖像;
服務(wù)器,其被配置為:
接收建筑物的底層平面圖像、頂層平面圖像和側(cè)面圖像,進而構(gòu)建出建筑物底層輪廓曲線函數(shù)f(x,y)、頂層輪廓曲線函數(shù)g(x,y)和建筑物側(cè)面變化曲線;
將建筑物側(cè)面變化曲線的控制點坐標進行標準化,再進行曲線擬合得到同倫映射函數(shù)k(t);
再基于改進同倫映射算法,得到建筑物的各層輪廓曲線上控制點的水平面二維坐標(x,y),其滿足公式:F(t,x,y)=f(x,y)(1-k(t))+g(x,y)k(t)+k1A(x,y)+k2R(x,y);
其中,A(x,y)為預(yù)設(shè)的中軸函數(shù);R(x,y)為預(yù)設(shè)的旋轉(zhuǎn)偏轉(zhuǎn)函數(shù);t為同倫映射函數(shù)的參數(shù);k(t)和t取值范圍均為[0,1];k1與k2均為常系數(shù),只取0或1;
根據(jù)建筑物的層數(shù)以及層高,得到建筑物的各個層輪廓曲線上的控制點的豎直坐標z;
根據(jù)建筑物的各個層輪廓線上控制點坐標值(x,y,z),依次生成各層輪廓曲線,最終得到出整個建筑物的三維模型。
進一步的,所述服務(wù)器還被配置為:
從獲取的建筑物的底層平面圖像和頂層平面圖像,進而確定出建筑物底層輪廓的控制點坐標和頂層輪廓的控制點坐標;
根據(jù)建筑物底層輪廓的控制點坐標和頂層輪廓的控制點坐標,分別進行曲線擬合,得到建筑物底層輪廓曲線函數(shù)和頂層輪廓曲線函數(shù);
或所述服務(wù)器還被配置為:
對標準化后的建筑物側(cè)面變化曲線的控制點坐標進行指數(shù)擬合或傅立葉擬合或高斯擬合或插值擬合或多項式擬合,得到同倫映射函數(shù)。
本發(fā)明的有益效果為:
(1)利用改進同倫映射的算法對已有建筑物進行三維仿真建模,可以實現(xiàn)對非規(guī)則建筑物的仿真,解決了現(xiàn)有三維模型構(gòu)建方法中不能對此類建筑物進行有效的仿真的問題,本發(fā)明利用同倫映射函數(shù)、建筑物底層輪廓曲線函數(shù)、頂層輪廓曲線函數(shù)、中軸函數(shù)和旋轉(zhuǎn)函數(shù),來繪制建筑物各個層輪廓曲線,這樣更符合建筑物本身的結(jié)構(gòu)特點,不僅加快了仿真建模的速度,還提高了三維仿真場景的真實感。
(2)本發(fā)明的基于改進同倫映射算法的建筑物三維模型構(gòu)建方法適用于單體各類高層建筑物設(shè)計。
附圖說明
圖1是本發(fā)明的一種基于改進同倫映射算法的建筑物三維模型構(gòu)建方法流程圖;
圖2(a)是本發(fā)明中實施例一建筑物的頂層輪廓示意圖;
圖2(b)是本發(fā)明中實施例一建筑物的底層輪廓示意圖;
圖3是本發(fā)明中根據(jù)給定曲線輪廓求出同倫映射函數(shù)的示意圖;
圖4是本發(fā)明中輪廓中心點的確定示意圖;
圖5是本發(fā)明中旋轉(zhuǎn)偏移函數(shù)的獲取示意圖;
圖6是本發(fā)明的一種基于改進同倫映射算法的建筑物三維模型構(gòu)建系統(tǒng)結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖與實施例對本發(fā)明做進一步說明:
根據(jù)現(xiàn)有建筑物的特征及同倫映射的特點,發(fā)現(xiàn)影響建筑物的三維模型特征的主要有下面四個因素:S(shape形狀)、A(Aixs中軸)、R(Rotate旋轉(zhuǎn))、M(Mapping Function)。
其中,輪廓形狀:包括底層輪廓形狀與頂層輪廓形狀;
中軸線:建筑物的中軸線,可進行適當?shù)钠揭频茸儞Q;
旋轉(zhuǎn):建筑物的中間輪廓可繞中軸線進行一定的旋轉(zhuǎn);
同倫映射函數(shù):控制建筑物中間部分的輪廓變化趨勢。
因此考慮到四個因素對建筑物的影響,將同倫映射方程設(shè)置為如式(1)所示
F(t,x,y)=f(x,y)(1-k(t))+g(x,y)k(t)+k1A(x,y)+k2R(x,y) (1)
其中f(x,y)為底層輪廓曲線函數(shù),g(x,y)為頂層輪廓曲線函數(shù),A(x,y)為中軸線函數(shù),R(x,y)為旋轉(zhuǎn)函數(shù),k(t)為同倫映射函數(shù),x,y為生成建筑物的底面在xy坐標平面上的坐標,z坐標方向表示建筑物的高度。t為同倫映射函數(shù)的參數(shù),其取值范圍為[0,1]。k1與k2為系數(shù),只取0或1。分解為二維空間x,y坐標,則其方程如式(2)所示
圖1是本發(fā)明的一種基于改進同倫映射算法的建筑物三維模型構(gòu)建方法流程圖。
如圖1所示,本發(fā)明的一種基于改進同倫映射算法的建筑物三維模型構(gòu)建方法,該方法在處理器或服務(wù)器內(nèi)完成,具體包括:
S101:分別獲取建筑物的底層平面圖像、頂層平面圖像和側(cè)面圖像,進而構(gòu)建出建筑物底層輪廓曲線函數(shù)f(x,y)、頂層輪廓曲線函數(shù)g(x,y)和建筑物側(cè)面變化曲線。
其中,構(gòu)建出建筑物底層輪廓曲線函數(shù)和頂層輪廓曲線函數(shù)的過程包括:
從獲取的建筑物的底層平面圖像,如圖2(a)所示;頂層平面圖像,如圖2(b)所示;,進而確定出建筑物底層輪廓的控制點坐標和頂層輪廓的控制點坐標;
根據(jù)建筑物底層輪廓的控制點坐標和頂層輪廓的控制點坐標,分別進行曲線擬合,得到建筑物底層輪廓曲線函數(shù)和頂層輪廓曲線函數(shù)。
其中,頂層曲線的點列個數(shù)應(yīng)與底層輪廓的點列個數(shù)完全相同。本發(fā)明利用曲線擬合,比如:多邊形模擬,得到建筑物底層輪廓和建筑物頂層輪廓,得到更接近實際情況的輪廓曲線函數(shù)。
S102:將建筑物側(cè)面變化曲線的控制點坐標進行標準化,再進行曲線擬合得到同倫映射函數(shù)k(t)。如圖3所示。
具體地,得到同倫映射函數(shù)的過程包括:
對標準化后的建筑物側(cè)面變化曲線的控制點坐標進行指數(shù)擬合或傅立葉擬合或高斯擬合或插值擬合或多項式擬合,得到同倫映射函數(shù)。
本發(fā)明利用同倫映射函數(shù),將建筑物底層輪廓曲線函數(shù)和頂層輪廓曲線函數(shù)映射到建筑物的各個層,這樣更符合建筑物本身的結(jié)構(gòu)特點,使得建立出的建筑物三維模型更具有真實感。
優(yōu)選地,同倫映射函數(shù)k(t)滿足:k(t)=t。
這樣使得同倫映射函數(shù)k(t)更加標準統(tǒng)一化,能夠適用于各種形狀的建筑物的三維模型的構(gòu)建。
S103:再基于改進同倫映射算法,得到建筑物的各層輪廓曲線上控制點的水平面二維坐標(x,y),其滿足公式:F(t,x,y)=f(x,y)(1-k(t))+g(x,y)k(t)+k1A(x,y)+k2R(x,y);
其中,A(x,y)為預(yù)設(shè)的中軸函數(shù);R(x,y)為預(yù)設(shè)的旋轉(zhuǎn)偏轉(zhuǎn)函數(shù);t為同倫映射函數(shù)的參數(shù);k(t)和t取值范圍均為[0,1];k1與k2均為常系數(shù),只取0或1。
A(x,y)和R(x,y)均為已知的函數(shù)。其中,中軸線函數(shù)A(x,y)為:
其中A(x),A(y)求出的是每層的各點平移量。如圖4所示,建筑物各層中心點的(xi,yi)坐標,如式(3)其中ti=i/n,i為第i層,n為整個建筑物的總樓層數(shù),x方向的函數(shù)zx(ti)與y方向的函數(shù)zy(ti)可相同,也可不同。中心點(xi,yi)的位置移動,導(dǎo)致整個輪廓上的各控制點都要根據(jù)中心點的位移進行移動,因此各點的位置量如式(4)所示
一般情況下,k2為0:
設(shè)旋轉(zhuǎn)角度為θ,逆時針旋轉(zhuǎn)為正。則每一層的旋轉(zhuǎn)角度為α=θ/n,n為整個建筑物的總樓層數(shù)。則旋轉(zhuǎn)偏移函數(shù)R(x,y)如式(7)所示。
如圖5所示,已知前一層的坐標為(x,y),中心點的坐標為(xc,yc)。則根據(jù)二維變換的知識,按式(4)可求出(x',y')如式(6),則偏移函數(shù)如式(7)所示。
S104:根據(jù)建筑物的層數(shù)以及層高,得到建筑物的各個層輪廓曲線上的控制點的豎直坐標z;
根據(jù)層高h,得到第i層曲線的z坐標值,zi=h*i。
S105:根據(jù)建筑物的各個層輪廓線上控制點坐標值(x,y,z),依次生成各層輪廓曲線,最終得到出整個建筑物的三維模型。
本發(fā)明利用改進同倫映射的算法對已有建筑物進行三維仿真建模,可以實現(xiàn)對非規(guī)則建筑物的仿真,解決了現(xiàn)有三維模型構(gòu)建方法中不能對此類建筑物進行有效的仿真的問題,本發(fā)明利用同倫映射函數(shù)、建筑物底層輪廓曲線函數(shù)、頂層輪廓曲線函數(shù)、中軸函數(shù)和旋轉(zhuǎn)函數(shù),來繪制建筑物各個層輪廓曲線,這樣更符合建筑物本身的結(jié)構(gòu)特點,不僅加快了仿真建模的速度,還提高了三維仿真場景的真實感。
圖6是本發(fā)明的一種基于改進同倫映射算法的建筑物三維模型構(gòu)建系統(tǒng)結(jié)構(gòu)示意圖。
如圖6所示,本發(fā)明的一種基于改進同倫映射算法的建筑物三維模型構(gòu)建系統(tǒng),包括:
輪廓曲線構(gòu)建模塊,其用于分別獲取建筑物的底層平面圖像、頂層平面圖像和側(cè)面圖像,進而構(gòu)建出建筑物底層輪廓曲線函數(shù)f(x,y)、頂層輪廓曲線函數(shù)g(x,y)和建筑物側(cè)面變化曲線;
同倫映射函數(shù)獲取模塊,其用于將建筑物側(cè)面變化曲線的控制點坐標進行標準化,再進行曲線擬合得到同倫映射函數(shù)k(t);
控制點坐標計算模塊,其用于基于改進同倫映射算法,得到建筑物的各層輪廓曲線上控制點的水平面二維坐標(x,y),其滿足公式:
F(t,x,y)=f(x,y)(1-k(t))+g(x,y)k(t)+k1A(x,y)+k2R(x,y);
其中,A(x,y)為預(yù)設(shè)的中軸函數(shù);R(x,y)為預(yù)設(shè)的旋轉(zhuǎn)偏轉(zhuǎn)函數(shù);t為同倫映射函數(shù)的參數(shù);k(t)和t取值范圍均為[0,1];k1與k2均為常系數(shù),只取0或1;
根據(jù)建筑物的層數(shù)以及層高,得到建筑物的各個層輪廓曲線上的控制點的豎直坐標z;
三維模型獲取模塊,其用于根據(jù)建筑物的各個層輪廓線上控制點坐標值(x,y,z),依次生成各層輪廓曲線,最終得到出整個建筑物的三維模型。
其中,在所述輪廓曲線構(gòu)建模塊中,從獲取的建筑物的底層平面圖像和頂層平面圖像,進而確定出建筑物底層輪廓的控制點坐標和頂層輪廓的控制點坐標;
根據(jù)建筑物底層輪廓的控制點坐標和頂層輪廓的控制點坐標,分別進行曲線擬合,得到建筑物底層輪廓曲線函數(shù)和頂層輪廓曲線函數(shù)。
其中,頂層曲線的點列個數(shù)應(yīng)與底層輪廓的點列個數(shù)完全相同。本發(fā)明利用曲線擬合,比如:多邊形模擬,得到建筑物底層輪廓和建筑物頂層輪廓,得到更接近實際情況的輪廓曲線函數(shù)。
具體地,在同倫映射函數(shù)獲取模塊中,對標準化后的建筑物側(cè)面變化曲線的控制點坐標進行指數(shù)擬合或傅立葉擬合或高斯擬合或插值擬合或多項式擬合,得到同倫映射函數(shù)。
本發(fā)明利用同倫映射函數(shù),將建筑物底層輪廓曲線函數(shù)和頂層輪廓曲線函數(shù)映射到建筑物的各個層,這樣更符合建筑物本身的結(jié)構(gòu)特點,使得建立出的建筑物三維模型更具有真實感。
具體地,在同倫映射函數(shù)獲取模塊中,同倫映射函數(shù)k(t)滿足:k(t)=t。
這樣使得同倫映射函數(shù)k(t)更加標準統(tǒng)一化,能夠適用于各種形狀的建筑物的三維模型的構(gòu)建。
本發(fā)明的另一種基于改進同倫映射算法的建筑物三維模型構(gòu)建系統(tǒng),包括:
圖像采集裝置,其被配置為:
獲取建筑物的底層平面圖像、頂層平面圖像和側(cè)面圖像;
服務(wù)器,其被配置為:
接收建筑物的底層平面圖像、頂層平面圖像和側(cè)面圖像,進而構(gòu)建出建筑物底層輪廓曲線函數(shù)f(x,y)、頂層輪廓曲線函數(shù)g(x,y)和建筑物側(cè)面變化曲線;
將建筑物側(cè)面變化曲線的控制點坐標進行標準化,再進行曲線擬合得到同倫映射函數(shù)k(t);
再基于改進同倫映射算法,得到建筑物的各層輪廓曲線上控制點的水平面二維坐標(x,y),其滿足公式:F(t,x,y)=f(x,y)(1-k(t))+g(x,y)k(t)+k1A(x,y)+k2R(x,y);
其中,A(x,y)為預(yù)設(shè)的中軸函數(shù);R(x,y)為預(yù)設(shè)的旋轉(zhuǎn)偏轉(zhuǎn)函數(shù);t為同倫映射函數(shù)的參數(shù);k(t)和t取值范圍均為[0,1];k1與k2均為常系數(shù),只取0或1;
根據(jù)建筑物的層數(shù)以及層高,得到建筑物的各個層輪廓曲線上的控制點的豎直坐標z;
根據(jù)建筑物的各個層輪廓線上控制點坐標值(x,y,z),依次生成各層輪廓曲線,最終得到出整個建筑物的三維模型。
進一步的,所述服務(wù)器還被配置為:
從獲取的建筑物的底層平面圖像和頂層平面圖像,進而確定出建筑物底層輪廓的控制點坐標和頂層輪廓的控制點坐標;
根據(jù)建筑物底層輪廓的控制點坐標和頂層輪廓的控制點坐標,分別進行曲線擬合,得到建筑物底層輪廓曲線函數(shù)和頂層輪廓曲線函數(shù);
或所述服務(wù)器還被配置為:
對標準化后的建筑物側(cè)面變化曲線的控制點坐標進行指數(shù)擬合或傅立葉擬合或高斯擬合或插值擬合或多項式擬合,得到同倫映射函數(shù)。
本發(fā)明利用改進同倫映射的算法對已有建筑物進行三維仿真建模,可以實現(xiàn)對非規(guī)則建筑物的仿真,解決了現(xiàn)有三維模型構(gòu)建方法中不能對此類建筑物進行有效的仿真的問題,本發(fā)明利用同倫映射函數(shù)、建筑物底層輪廓曲線函數(shù)、頂層輪廓曲線函數(shù)、中軸函數(shù)和旋轉(zhuǎn)函數(shù),來繪制建筑物各個層輪廓曲線,這樣更符合建筑物本身的結(jié)構(gòu)特點,不僅加快了仿真建模的速度,還提高了三維仿真場景的真實感。
上述雖然結(jié)合附圖對本發(fā)明的具體實施方式進行了描述,但并非對本發(fā)明保護范圍的限制,所屬領(lǐng)域技術(shù)人員應(yīng)該明白,在本發(fā)明的技術(shù)方案的基礎(chǔ)上,本領(lǐng)域技術(shù)人員不需要付出創(chuàng)造性勞動即可做出的各種修改或變形仍在本發(fā)明的保護范圍以內(nèi)。