王奇勝, 高博青, 吳 慧
(1. 浙江大學 建筑工程學院, 杭州 310058; 2. 浙江財經大學 公共管理學院, 杭州 310018)
隨著計算機輔助設計技術的突破和建造工藝的提升,世界各地出現了越來越多的自由曲面建筑,如上海陽光谷世博軸[1]和天津于家堡綜合交通樞紐站[2].該類建筑通常具有獨特的造型需求,常規的網格結構難以表達,而已有的自由曲面網格設計方法,要么耗時耗力,要么適用范圍有限.為復雜的自由曲面生成符合建筑要求的網格,是現代空間結構研究的難點與熱點.Owen[3]總結了經典的網格劃分算法,如Delaunay法[4]、波前法[5]、映射法[6]及其組合[7-8].但這些方法在自由曲面上的應用有局限性,無法滿足建筑上對網格規整、流暢的要求.近些年,針對自由曲面網格生成的研究,取得了一定的進展.Su等[9]在波前法中引入主應力線來控制網格走向,生成均勻的三角形網格,但網格的流暢性較差.Zheleznyakova和Wang等[10-12]采用基于物理模擬的方法優化節點分布,再結合Delaunay法和映射法生成空間網格,但對于曲率較大的曲面,網格容易產生映射畸變.Gao等[13]在曲面的參數域中以直線段為引導線調控網格走向,采用兩種方法推進引導線并結合曲面的參數化關系生成流暢的空間網格,稱為映射引導線法.但是,該方法僅適用于空間域和參數域對應關系較好的曲面,否則易引起網格畸變.
為了生成規整、流暢、走向可控的建筑網格,基于引導線偏移的思想,提出一種自由曲面網格劃分方法,即空間引導線法.通過直接在曲面上偏移曲線避免了映射畸變,引入偏移距離函數實現了曲線間距的控制,并通過與兩種現有方法的對比說明空間引導線法的優勢.
非均勻有理B樣條(Non-Uniform Rational B-Splines,NURBS)[14],是建筑上常用來表達自由曲面的技術.NURBS曲線、曲面是由節點矢量、控制點、權值確定的參數方程,通過調整這3個變量可以實現幾何形狀的自由變化.對于邊界復雜的自由曲面,常用裁剪曲面表達.裁剪曲面是由完整的NURBS曲面和用于裁剪的NURBS曲線聯合表示的曲面.
基于NURBS技術,針對曲線和曲面的幾何操作,如曲線延伸、曲面延伸、線線求交、線面求交、曲線擬合等,都已有成熟的算法實現,在Rhinoceros、3DS Max等軟件中有著廣泛的應用.
引導線是直接在曲面上勾勒的曲線,一般由建筑師給定.在曲面上偏移引導線時,偏移得到的曲線(偏移線)必須要保證本身在曲面上、端點在曲面邊界線上,與引導線走勢一致且間距合理.鑒于已有的曲線偏移方法難以滿足上述要求,本文提出一種在曲面上偏移曲線的方法,偏移引導線的過程如圖1所示.

圖1 偏移引導線的過程
以圖1(a)所示的曲面S為例,為了保證后續生成的偏移線有足夠的長度,先延伸曲面S(裁剪曲面取其完整曲面進行延伸)和引導線G,得到曲面S′和在曲面S′上的引導線G′(圖1(b)).在曲線G′上布置n個點作為偏移的基準點,記為點集P.過點集P中一點p,生成垂直曲線G′的平面V,同時以點p為球心、偏移距離為半徑生成球面B(圖1(c)).求平面V、球面B和曲面S′的交點,若交點存在,則作為點p在引導線兩側的偏移點q.遍歷點集P中的點,得到由偏移點q組成的點集Q.將點集Q中在同一側的偏移點按順序擬合成曲面S′上的曲線C(圖1(d)).裁去曲線C不在曲面S上的部分,得到偏移線C′(圖1(e)).在引導線的同一側上,以剛生成的偏移線為引導線,采用上述方法生成新的偏移線,如此迭代,得到一組偏移線(圖1(f)).
在上述過程中,基準點的數目和間距需要合理設置.數目過大或間距過小時,會導致偏移線不光滑且運算更耗時;數目過小或間距過大時,會導致偏移曲線不能體現引導線的形態.實踐表明,根據偏移距離控制基準點的數目和間距,使相鄰的球面B正好有少量的重疊,可以取得相對較好的計算結果.
通過調控各基準點的偏移距離,可以控制偏移線與引導線的間距.當各基準點對應的偏移距離R都等于基本間距s時,上述偏移為等間距偏移,反之為不等距偏移.等間距偏移有助于后續生成均勻、規整的網格,所以更為常用;合適的不等距偏移可以得到間距按一定規律變化的曲線組.這可為建筑師提供一種更加靈活的選擇,有一定的應用前景.為實現間距的等比、等差或自定義規律的變化,下面構造相應的基準點偏移距離函數.
采用橫向(沿引導線走向)比例rh和縱向(垂直引導線方向)比例rz來實現偏移距離的等比調控.第j次偏移的引導線上第i個基準點pij對應的偏移距離為
(1)
當rh=rz=1時,生成等間距偏移線;rh≠1時,生成間距沿橫向漸變的曲線,如圖2(a)中的曲線分布為下側較密,右上側較疏;rz≠1時,生成間距沿縱向漸變的曲線,如圖2(b)中靠近初始引導線的相鄰曲線間距較小,遠離的曲線間距較大.圖2中的曲線雖然間距不同,但間距變化自然,疏密有致,具有一定的美感.

圖2 偏移間距的調控
類似地,采用橫向差值ah和縱向插值az實現偏移距離的等差調控.基準點pij的偏移距離為
Rij=s+ah(i-1)+az(j-1)
(2)
除了等比和等差調控外,也可根據需要自定義偏移距離函數R(s,hi,zj),實現曲線間距的特定調控,其中hi和zj是跟基準點編號i、j有關的函數.
在曲面較為平坦且引導線彎折不顯著時,由上述方法偏移得到的曲線一般都較為光順,但當偏移距離相對引導線或曲面的曲率半徑較大時,擬合的偏移線可能較不光順,甚至出現交叉.以圖1(a)所示的曲面S為例,由初始引導線迭代地朝兩側偏移得到的曲線如圖3(a)所示.圖中圈出的曲線(紅線)存在扭曲、自交的情況.為此,對上述偏移算法進行局部調整,將滿足下式的相鄰偏移點合并為兩者的中點:
di,i+1 (3) i=1,2,…,n-1 式中:k為調整系數,一般取0.5;Ri和Ri+1分別為第i和第i+1個基準點的偏移距離;di,i+1為第i和第i+1個基準點對應的偏移點之間的距離. 通過合并距離過近的偏移點,優化了偏移線的形態,避免了曲線彎折突兀,甚至交叉的情況出現.優化后的偏移線形態光順,與引導線的間距合理、走勢吻合,如圖3(b)所示. 圖3 偏移線的形態優化 基于給定的單條引導線,在曲面上迭代地進行偏移后,得到一組布滿整個曲面的偏移線.以偏移線(包括初始引導線)為網格線,直接按照一定的規律進行分解和連接,形成最終的網格.例如,先按相同桿長將偏移線等分,再用曲面上的約束Delaunay法將分段點連接成三角形網格(見圖4(a)).此外,也可以采用其他方法在曲面上生成另一組曲線,使其與偏移線相交而構成網格.例如,由等距斷面線(曲面上的等高線)與偏移線構成網格,如圖4(b)所示. 由于偏移線已經基本決定了網格的走向和布局,所以基于引導線偏移生成的網格能較好地反映建筑師的要求,體現建筑意蘊. 圖4 基于單引導線生成的網格 如果勾勒了兩條相交的引導線,那么分別對這兩條引導線迭代地進行偏移,得到兩組偏移線.通過求交、連線等操作,將這兩組偏移線構成的曲線網轉換為四邊形網格,如圖5(a)所示.若需要三角形網格,則先在延伸的曲面上采用上述方法生成四邊形網格,再連接四邊形的對角線形成三角形網格,然后將不在原曲面上的部分剔除,得到曲面上的三角形網格,如圖5(b)所示. 圖5 基于雙引導線生成的網格 通過布置雙引導線,建筑師可以從兩個方向上引導網格走向,控制網格形態,往往比單引導線能更好地表達建筑美感. 基于雙引導線偏移生成的網格,雖然在整體上較為規整、流暢,但在邊界附近存在桿長參差不齊、節點數目較多的缺點.為此,可以合并邊界上相距較近的節點并采用基于彈簧-質點模型的網格松弛方法[15]調整網格形態,得到如圖6所示的網格.調整后的網格仍保持原來的網格走勢,且邊界附近的桿長均勻性得到提升,節點數目明顯減少,但線條的流暢性降低,以致建筑美感下降.鑒于調整前后的網格各有優劣,建筑師可以根據需求進行選擇. 圖6 調整后的網格 圖7是一個外邊界近似為圓角六邊形、內邊界近似為圓形的裁剪曲面,且其參數域為自身的水平投影.分別以兩對相交的曲線為引導線,采用空間引導線法生成兩組不同的網格,如圖8(a)和(b)所示.參數設置完畢后,空間引導線法僅需數秒即可完成曲面的網格劃分,而生成的網格既規整又流暢,能較好地體現建筑意蘊. 作為對比,采用現有的等參線法和映射引導線法[13]對圖7中的曲面進行網格劃分.等參線法是按一定間距提取NURBS曲面的等參線,形成四邊形網格,如圖8(c)所示.映射引導線法是在曲面的參數域中等間距偏移直線段,再映射到曲面上形成網格,如圖8(d)所示(圖中黃線對應于參數域中的直線段).這兩種方法得到的網格也具有相對較好的流暢性,但參數域中很規整的網格,在映射到曲面后由于尺度的非均勻變化而使其規整性明顯下降.此外,這兩種方法難以調控網格走勢或調控能力有限. 圖7 給定的曲面和引導線 圖8 采用3種方法生成的網格 因此,與現有方法相比,空間引導線法避免了映射畸變,提高了網格的規整性,提升了對網格走勢的調控能力,更符合建筑網格設計的需求. 為生成符合建筑意蘊的網格,提出了空間引導線法.首先,確定合適的曲線作為引導線并在其上布置適量的基準點.接著,在過基準點垂直引導線的平面內,求取以基準點為圓心、偏移距離為半徑的圓與曲面的交點,作為偏移點,并遍歷各基準點,得到兩組在不同偏移方向上的偏移點.將兩組偏移點按順序分別擬合成兩條曲面上的曲線,作為偏移線.然后,以這兩條偏移線為引導線,分別向兩側推進生成新的偏移線.如此迭代,在曲面上生成一組按特定間距分布的網格線.最后,通過分段、連線等操作,以偏移線為網格線生成流暢網格.通過偏移距離函數調控偏移線的間距;通過合并過近的偏移點,優化偏移線的形態;通過布置兩條引導線,從兩個方向上控制網格走向.與兩種現有網格劃分方法的算例對比表明,空間引導線法既保證了較好的網格流暢性,又避免了映射畸變,能得到更規整的網格,還能更靈活地調控網格走勢.
2 生成網格
2.1 單引導線

2.2 雙引導線


3 分析和比較


4 結語