重慶建筑業(yè)和重慶3D動畫建模技術(shù)
1.3D建模內(nèi)核
既然BIM是以3D數(shù)字模型為信息載體,那么從理論上說,優(yōu)秀的BIM設(shè)計軟件就應(yīng)當(dāng)具備精準(zhǔn)的3D建模能力,這好像是一項合理的要求。然而令人驚訝的是,事實并非如此,幾乎所有的傳統(tǒng)BIM軟件都不具備這樣的能力。為什么這么說呢?我們需要先介紹一點計算機圖形學(xué)的基本知識:
在計算機軟件里,描述3D幾何的算法可以分為兩大類:網(wǎng)格建模和曲面建模。前者是用網(wǎng)格單元(包括三角形、四邊形、多邊形等)去擬合幾何形體,后者是用數(shù)學(xué)語言去精確描述各種曲面形體。(可以類比于2D的光柵圖和矢量圖,這兩個概念不清楚的請自行百度,不解釋了。)兩類算法在本質(zhì)上截然不同,在實戰(zhàn)中各有優(yōu)劣。
網(wǎng)格建模的優(yōu)勢是算法簡單、計算速度快,而缺點是不夠精確,因此常用于對計算速度要求較高、而精確性要求不高的場合,尤其是各種視覺渲染、影視特效、電腦游戲等。重慶3D動畫公司在這些場合中,網(wǎng)格建模的一大優(yōu)勢是可以通過合并三角形來減少其數(shù)量,從而提高計算性能(三角形越少則精度越低、速度越快)。游戲玩家們往往對這一點深有體會——早期3D電腦游戲中的人物造型經(jīng)常可以看出明顯的三角面片,而隨著電腦性能的改善,新的游戲中這種現(xiàn)象已經(jīng)基本消失。
在BIM領(lǐng)域,很多所謂的“模型輕量化”軟件實質(zhì)上都是把模型轉(zhuǎn)為,然后通過減少三角形數(shù)量來壓縮模型。這種做法對提高顯示速度是有效的,但代價是模型精度的降低,因此輕量化之后的模型只能用于可視化,而不能用于工程建造。同時,在土木工程中,網(wǎng)格建模的另一個重要應(yīng)用場合是數(shù)字地形模型,因為地形模型的特點恰恰是數(shù)據(jù)量巨大而精確性要求較低,因此幾乎所有的數(shù)字地形處理軟件都會使用網(wǎng)格算法來表達地形模型。
由于網(wǎng)格建模的精確性差,追求精確的工程軟件(尤其是在制造業(yè))不會用它來描述設(shè)計對象,而是使用曲面建模。然而,如果僅僅是用數(shù)學(xué)語言描述立方體、圓柱體這樣的規(guī)則形體那還好說,如果要用數(shù)學(xué)語言描述汽車、飛機的外形,就不是一般人可以輕松做到的了。在工程領(lǐng)域,描述這類自由曲面的公認(rèn)最佳方式是NURBS算法(NURBS=非均勻有理化樣條曲面),它使用嚴(yán)格的數(shù)學(xué)函數(shù)來描述曲面,因此無論如何放大都能保持精確和連續(xù),這是網(wǎng)格建模無法實現(xiàn)的。當(dāng)然,除了NURBS之外也有其它的數(shù)學(xué)算法(例如Hermite),但都不如NURBS出色,因此在國際標(biāo)準(zhǔn)化組織(ISO)頒布的工業(yè)產(chǎn)品數(shù)據(jù)交換標(biāo)準(zhǔn)(STEP)中把NURBS作為定義工業(yè)產(chǎn)品幾何形狀的唯一數(shù)學(xué)方法。
3D軟件的建模引擎就好比電腦里的CPU,是其最關(guān)鍵的核心。然而,3D建模引擎的開發(fā)需要相當(dāng)高超的數(shù)學(xué)功底,并非所有軟件公司都能做到這一點。有些軟件公司可以自己開發(fā)建模引擎,還有一些軟件公司采用別人的建模引擎來搭建自己的設(shè)計軟件。如果一個3D軟件的建模引擎能力不足,這是用戶再怎么努力也很難彌補的。
圖1:某BIM軟件的建模
我們舉一個簡單的例子:在某重慶影視公司的軟件中分別創(chuàng)建一個半徑為1的球體和一個圓柱體(見圖1),可以很明顯看到這個球體不是光滑的,而是似乎由多個面片拼接起來,而圓柱體就沒有出現(xiàn)這樣的問題。這是因為該軟件的內(nèi)核支持圓柱面而不支持球面,更不要說NURBS曲面了。因此,這樣的軟件無法用于復(fù)雜曲面的精確設(shè)計,也不適于大部分預(yù)制構(gòu)件的數(shù)字化加工。與之相比,CATIA軟件擁有強大的NURBS建模技術(shù),因而常常被用于帶有復(fù)雜曲面的異形建筑。
圖2:CATIA軟件創(chuàng)建的建
2.土木工程的3D建模
土木工程軟件對數(shù)學(xué)算法的要求遠比建筑軟件更高。一方面是因為土木工程(例如鐵路、大壩、隧道)中存在更多的曲線/曲面,更重要的是,土木工程師經(jīng)常要跟地形打交道,因此就需要處理設(shè)計模型和地形模型之間的交互。無論是場地平整、大壩開挖、道路邊坡、隧道洞口,都涉及到邊坡計算問題,其本質(zhì)是要在人工設(shè)計的幾何實體與自然地形之間進行布爾運算。從土木工程師的角度來看,這一需求是非常簡單清晰的,但對軟件工程師來說,這卻是一個超級難題,因為設(shè)計模型(幾何曲面)和地形模型(大型網(wǎng)格面)分別是用兩類不同的建模機制描述的。
在很多土木工程設(shè)計軟件中,由于無法處理這個混合運算問題,被迫采取簡化方式。它們不是用精確曲面生成道路和放坡,而是用網(wǎng)格面來生成這些設(shè)計模型,從而把邊坡計算問題統(tǒng)一簡化成網(wǎng)格面之間的運算。這種做法的好處是回避了混合運算問題,缺點則是犧牲了設(shè)計的精確性和可靠性。如果是用過這類軟件的人,都可以很直觀看到它所建的道路和邊坡模型不是連續(xù)曲面,而是按指定間距批量創(chuàng)建離散的橫斷面,然后像皮皮蝦般一節(jié)節(jié)連接起來,與真實世界相差甚遠。這樣的模型在變化復(fù)雜之處就容易產(chǎn)生問題,而工程量計算也不夠準(zhǔn)確。同時,用網(wǎng)格模型要完成隧道洞口這樣的設(shè)計就更為困難。
例如,下圖左側(cè)是某3D軟件建立的道路模型,右側(cè)是CATIA Civil Engineering建立的道路模型??梢郧逦目闯鰞煞N軟件的建模方式不同,效果也有很大差異。
3.CATIA軟件的建模技術(shù)
當(dāng)我們了解了各種3D建模技術(shù)的優(yōu)劣之后,才能更清晰的理解達索系統(tǒng)CATIA軟件的優(yōu)勢所在。它具備業(yè)界最高端的3D建模引擎,并且是完全自主開發(fā)的。與其它軟件相比,CATIA在3D技術(shù)上的優(yōu)勢體現(xiàn)在以下幾個方面:
(1)CATIA支持精確的NURBS曲線和曲面建模,因此無論尺寸比例如何,都可以獲得精確、連續(xù)的幾何信息。
(2)有了精確的空間曲線,就可以將其作為骨架線進行參數(shù)化建模。例如下圖中,每個構(gòu)件單元都使用同一條骨架線進行定位;一旦調(diào)整骨架線,所有相關(guān)的構(gòu)件都隨之自動更新。
圖3:CATIA中基于骨架線的參數(shù)化建模
(3)在面向土木工程行業(yè)的CATIA Civil Engineering最新版本中,既能以NURBS曲面生成設(shè)計對象,也能以網(wǎng)格面生成數(shù)字地形模型。更重要的是,CATIA通過強大的數(shù)學(xué)功底實現(xiàn)了曲面建模和網(wǎng)格建模之間的混合運算,從根本上解決了邊坡計算問題。在CATIA Civil Engineering中,我們不僅可以創(chuàng)建連續(xù)光滑的3D道路中心線,還可以創(chuàng)建同樣連續(xù)光滑的曲面作為重慶3D動畫制作的道路路面和邊坡,然后通過布爾運算求出邊坡與地形之間的交界,以及土方挖填體積。這樣一來,設(shè)計的質(zhì)量更高,工程量也更加準(zhǔn)確?;旌辖<夹g(shù)的面世,給土木工程的3D數(shù)字化設(shè)計提供了更加廣闊的空間。
4.總結(jié)
本文重點討論了3D內(nèi)核問題。傳統(tǒng)BIM軟件主要是面向常規(guī)建筑,解決出圖而不是制造問題,因此往往使用相對簡單的算法,創(chuàng)建簡化的3D模型——這對于傳統(tǒng)BIM應(yīng)用或許就足夠了。但對于面向數(shù)字孿生的軟件來說,其目標(biāo)是為現(xiàn)實世界中的物體創(chuàng)建精準(zhǔn)可靠的數(shù)字孿生,因此必須具備更加強大的3D內(nèi)核。建筑業(yè)的用戶或許也有必要思考:自己的目標(biāo)是用軟件完成傳統(tǒng)的工作任務(wù),還是為了迎接建筑工業(yè)化、數(shù)字化轉(zhuǎn)型?然后再根據(jù)自己的目標(biāo)選擇具有合適內(nèi)核能力的3D軟件。
