备案权重域名预定

 找回密碼
 加入我們

3D建模與處理軟件簡介

[複製鏈接]
小豬哼囔 發表於 2023-3-26 13:58:52 | 顯示全部樓層 |閱讀模式
【前言】自半年前筆者發表博客「什麼是計算機圖形學」以來,時常有人來向筆者詢問3D模型的構建方法與工具。筆者的研究方向是以3D技術為主,具體包括3D建模,3D處理及3D打印三個方面,在3D建模與處理方面從事了十多年的研究,接觸過很多3D相關的軟件,在這方面有些經驗。因此,特撰寫此文,以幫助我們的學生及關注3D技術的人瞭解3D建模和3D技術。本文僅僅為筆者根據自己的經驗對3D建模與處理軟件淺薄的理解,不涉及對技術的深入討論,是非學術性的。因此,筆者盡量嘗試用通俗的語言介紹一下各種3D建模的軟件和工具,以幫助還未接觸3D技術的學生來瞭解這些工具,以便在今後的科研和工作中能夠選擇合適的3D工具。筆者對本文的有些內容的理解也是很有限的,值得進一步的學習和交流。有不當之處,還請讀者諒解指正。


一、專業3D建模軟件
1.       3DS Max
美國Autodesk公司的3D Studio Max(前身是Discreet公司的,後被Autodesk收購)是基於PC系統的三維建模、動畫、渲染的製作軟件,為用戶群最為廣泛的3D建模軟件之一。常用於建築模型、工業模型、室內設計等行業。因為其廣泛性,它的插件也很多,有些很強大,基本上都能滿足一般的3D建模的需求。我們的學生也需要經常用到3DS Max來構建模型。網上關於3DS Max的教程和學習視頻非常多,使用者眾多。
2.       Maya
Maya也是Autodesk公司出品的世界頂級的3D軟件,它集成了早年的兩個3D軟件Alias和Wavefront(這兩個軟件在我讀博時就非常有名,當時就代表了最先進的動畫及數字技術,我曾用過Wavefront)。相比於3DS Max,Maya的專業性更強,功能非常強大,渲染真實感極強,是電影級別的高端製作軟件。在工業界,應用Maya的多是從事影視廣告,角色動畫,電影特技等行業。我們的學生也經常用Maya來製作和渲染3D模型,生成漂亮的渲染結果放在論文中。
3.       Softimage
Softimage曾經是加拿大Avid公司旗下的專業的3D動畫設計軟件,後被Autodesk收購。它在影視動畫方面,特別是角色功能非常強大。許多電影,比如《泰坦尼克號》、《失落的世界》、《第五元素》等,都曾使用Softimage來製作大量的驚人的視覺效果。
4.       LightWave
LightWave是美國NewTek公司開發的一款3D動畫製作軟件,具有悠久的歷史,我在讀博時曾接觸過。它的功能非常強大,特別是在生物建模和角色動畫方面功能異常強大,廣泛應用在電影、電視、遊戲、網頁、廣告、印刷、動畫等各領域。在電影《泰坦尼克號》中細緻逼真的船體模型及其他眾多遊戲的場景和動畫都曾使用LightWave來製作的。
5.       Rhino(犀牛)
Rhino是美國Robert McNeel公司開發的專業3D造型軟件,它對機器配置要求很低,安裝文件才幾十兆,但「麻雀雖小,五臟俱全」,其設計和創建3D模型的能力是非常強大的,特別是在創建NURBS曲線曲面方面功能強大,也得到很多建模專業人士的喜愛。在與上海造船廠研究所的合作項目中,我們用Rhino來進行船體曲面的NURBS建模和修改,非常方便靈活。
6.       Cinema 4D
Cinema 4D (C4D)是德國Maxon公司的3D創作軟件,在蘋果機上用得比較多,特別是在歐美日為最受歡迎的三維動畫製作工具。2009-2010年我在美國哈佛大學訪問期間,經常看到學生用C4D在進行3D建模和動畫的設計。
7.       Creator
MultiGen-Paradigm公司開發的Creator是專門創建用於大型3D虛擬仿真的實時三維模型的軟件。其強大之處在於管理3D模型數據的數據庫,使得輸入、結構化、修改、創建原型和優化模型數據庫非常容易。前幾年與一家從事數字城市的公司合作時我們就用Creator快速創建大量的城市建築模型,並且生成數據庫來管理這些模型,還是相當的方便。
註:從上述介紹可知,美國Autodesk公司當之無愧是當今3D建模和動畫的「老大」,擁有3DS Max、Maya和Softimage等3D建模和動畫專業軟件。3DS Max和Maya在3D建模方面各有特色,前者更為大眾化些,相對容易掌握些,後者在專業級的行業應用更為廣泛,特別在製作動畫和高質量渲染方面強於前者。我們的學生用Maya的相對多些,包括建模,渲染和動畫製作。Softimage和LightWave在3D動畫方面表現強大。Rhino對NURBS曲面的支持更好。Creator適合於構建大量的3D模型並構建數據庫進行管理和修改。
  
二、CAD建模和產品設計軟件
1.       AutoCAD
AutoCAD (Auto Computer-Aided Design)是美國Autodesk公司出品的自動計算機輔助設計(CAD)軟件,用於二維繪圖、文檔規劃和三維設計。適用於製作平面佈置圖、地材圖、水電圖、節點圖及大樣圖等。廣泛應用於土木建築、裝飾裝潢、城市規劃、園林設計、電子電路、機械設計、航空航天、輕工化工等諸多領域。大家買房時看的房型圖大部分都是用AutoCAD來做的。
2.       CATIA
Catia由法國Dassault Systems公司開發的CAD/CAE/CAM一體化的三維軟件,支持產品開發的整個過程,從概念(CAID),到設計(CAD),到分析(CAE),到製造(CAM)的完整流程。可幫助製造廠商設計未來的產品,並支持從項目前階段、具體的設計、分析、模擬、組裝到維護在內的全部工業設計流程,在機械行業,航空航天、汽車工業、造船工業等應用廣泛。其實體造型和曲面設計的功能非常強大。我讀博期間曾接觸過Catia,在它上面寫過一個NURBS曲面轉換的插件程序。
3.       SolidWorks
SolidWorks是世界上第一個基於Windows開發的三維CAD系統,後被法國Dassault Systems公司(開發Catia的公司)所收購。相對於其他同類產品,SolidWorks操作簡單方便、易學易用,國內外的很多教育機構(大學)都把SolidWorks列為製造專業的必修課。SolidWorks在杭州有專門的研發機構,我有個學生碩士畢業後在那裡進行研發工作。
4.       UG NX
UG NX由美國Unigraphics Solutions (UGS)公司開發的CAD/CAE/CAM一體化的三維軟件,後被德國西門子公司收購。廣泛用於通用機械,航空航天、汽車工業、醫療器械等領域。現在西門子公司在上海有專門的研發機構對UG NX產品進行升級完善,我有2個學生博士畢業後在那裡負責產品的開發和維護。
5.       Pro/E
Pro/Engineer是美國PTC公司(Parametric Technology Corporation)旗下的CAD/CAM/CAE一體化的三維軟件。在參數化設計,基於特徵的建模方法具有獨特的功能,在模具設計與製造方面功能強大,機械行業用的比較多。
註:除了上述所介紹的CAD/CAE /CAM系統軟件(它們各有特色,在市場中都佔有一定的份額)外,還有其他一些同類產品,比如法國Missler公司的Topsolid和以色列Cimatron公司的Cimatron。一般在機械設計與產品研發相關的行業中才會接觸到這些軟件,專業性比較強,在網上很容易能找到它們的相關資料。
  
三、3D雕刻建模軟件:筆刷式高精度建模軟件
3D雕刻建模軟件(Sculpturing modeling),也稱為筆刷式高精度建模軟件,顧名思義,就是像藝術家那樣用不同的「筆刷」工具在模型表面上進行「雕刻」的自由創作。建模過程就像玩橡皮泥一樣,利用拉,捏,推,扭等操作來對幾何進行編輯,生成任意的高度複雜和豐富的幾何細節(如怪獸的複雜表面細節)。這些工具的出現顛覆了過去傳統三維設計工具的工作模式,解放了藝術家們的雙手和思維,告別過去那種依靠鼠標和參數來笨拙創作的模式,完全尊重設計師的創作靈感和傳統工作習慣。
1.       ZBrush
美國Pixologic公司開發的ZBrush軟件是世界上第一個讓藝術家感到無約束自由創作的3D設計工具。 ZBrush 能夠雕刻高達 10 億多邊形的模型,所以說限制只取決於的藝術家自身的想像力。
2.       MudBox
MudBox是Autodesk公司的3D雕刻建模軟件,它和ZBrush相比各有千秋。在某些人看來,MudBox的功能甚至超過了ZBrush,可謂ZBrush的超級殺手。
3.       MeshMixer
最近,Autodesk公司又開發出一款筆刷式3D建模工具MeshMixer,它能讓用戶通過筆刷式的交互來融合現有的模型來創建3D模型(似乎是類似與Poisson融合或Laplacian融合的技術),比如類似「牛頭馬面」的混合3D模型。
值得注意的是,最新版本的MeshMixer還添加3D打印支撐優化新算法,值得關注。我們Siggraph Asia 2013的論文「Cost-effective Printing of 3D Objects with Skin-Frame Structures」也給出了一種為3D打印加盡可能少的支撐材料的新算法(詳見我的博文「經濟節約型的3D打印技術」),該算法也是具有較好的市場前景,我們也在努力進行產業轉化。
4.       其他
其他還有一些同類的3D雕刻建模軟件,比如3DCoat,Sculptris,Modo等。這裡就不再詳細介紹了。
注1:在工業界,人們更偏向於使用四邊形網格(quad mesh),而不是三角網格,一個很重要的原因就是這些雕刻建模工具善於在四邊形網格上進行細節的生成和編輯,因為四邊形網格的邊更能反應物體表面的流線方向(edge flow)。我們Pacific Graphics 2010的一篇論文B-mesh,就是在建模過程中同時生成具有良好流線方向的四邊形基網格(base mesh),然後直接可以導入到這些雕刻軟件中進行進一步的細節雕刻建模。
注2:雖然這些筆刷式建模工具上手容易,給了用戶便利的方式進行3D細節建模,但是,要想真正構建一個細節複雜和逼真的3D模型還是不容易的,除了用戶需要熟練掌握軟件的各種工具及雕刻技巧外,還需要用戶具有較好的藝術和繪畫功底。
  
四、基於草圖的3D建模軟件
基於筆劃或草圖的交互方式由於其符合人類原有日常生活中的思考習慣,交互方式直觀簡單(就像在圖紙上畫畫一樣來構建3D模型),是最近十多年來計算機圖形學中研究的熱點建模方法之一。這方面的研究論文有很多,比如Siggraph 1999年的Teddy,到Siggraph 2006年的SmoothSketch,Graphics Interface 2007的Magic Canvas,Siggraph 2007年的FiberMesh,SigCHI 2010年的ICanDraw等。最近,我們也提出一種基於陰影引導的草圖交互的3D建模的技術「Modeling by Drawing with Shadow Guidance」,從已知的模型數據庫中提取信息來引導用戶的筆劃交互,能構建更為精準的3D模型,該工作發表在Pacific Graphics 2013上。
雖然在科研上提出了很多基於草圖的3D建模技術,但是至今仍未能有比較成熟的商業化的軟件出現,可能是因為要理解不同用戶的劃線和草圖還是一件比較困難的事情。對於一些比較規則的物體,比如建築、傢俱等人造物體,這種方式相對可行些,比如Google的SketchUp(在國內我們也稱為「草圖大師」)。SketchUp是一套面向普通用戶的易於使用的3D建模軟件。使用SketchUp,創建3D模型就像我們使用鉛筆在圖紙上作圖一般,軟件能自動識別你畫的這些線條,加以自動捕捉。它的建模流程簡單明瞭,就是畫線成面,而後拉伸成體,這也是建築或室內場景建模最常用的方法。SketchUp還可以將你自己的製作成果發佈到Google Earth上和其他人共享,或者是提交到Google的3D Warehouse(Google的3D模型庫)。當然你也能從Warehouse那兒得到想要的素材,以此作為創作的基礎。很有趣的是,在2012年Google公司的SketchUp被美國Trimble公司收購了。去年出了個Trimble SketchUp 2013,網評似乎不太好。不知其是否能繼續免費。
最近國內出了一款叫做「EasyToy」的採用草圖式的3D建模軟件,適用於卡通動漫形象與玩具的設計。但我還沒有試用過,不知用戶體驗如何。另外,日本東京大學的Takeo Igarashi教授也發佈了一些基於草圖式的3D建模系統,比如Teddy,在其主頁上可以下載到。
另外,值得一提的是,基於草圖的交互方式在現在正在興起的Web3D建模領域會有新的廣闊空間。Web3D建模在稍後會介紹。
  
五、基於照片的3D建模軟件
從物體的照片來進行3D模型的構建,是計算機圖形學和計算機視覺的一大研究方向,稱為基於圖像的幾何建模(Image based modeling)。這種技術已逐漸成熟且走向實用階段,最近有些軟件能夠讓用戶拿著普通相機或者手機對著要建模的實物從不同視角拍攝若干照片,然後軟件就能根據這些照片自動地生成相應的3D模型。這種基於圖片的建模技術提供給了非專業建模人士來構建3D模型的工具。
1.       Autodesk 123D
Autodesk公司最近發佈了一套平民級的建模軟件Autodesk 123D,用戶不需複雜的專業知識,只要為物體從不同的視角拍攝幾張照片,該軟件就能自動地為其生成3D模型,而且軟件是完全免費的。
(1)    Autodesk 123D是一款免費的3D CAD 工具,用戶可以使用一些簡單的圖形來設計、創建、編輯三維模型,或者在一個已有的模型上進行修改。
(2)    Autodesk 123D Catch是建模軟件的重點,用戶使用相機或手機來從不同角度拍攝物體、人物或場景,然後上傳到雲,然後該軟件利用雲計算的強大計算能力,可將數碼照片中幾分鐘的時間內轉換為3D模型,而且還自動帶上紋理信息。我們試用過幾次,感覺它的使用還是很方便的。但是其生成的3D幾何的細節不多,主要是通過紋理信息來表現真實感的。有時軟件也會失敗,生成的幾何是不正確的。
(3)    Autodesk 123D Make是將3D模型轉換為2D的切割圖案,用戶可利用硬紙板、木料、金屬或塑料等低成本材料將這些圖案迅速拼裝成實物,從而再現原來的數字化模型。這讓用戶能夠「製造」出所造的3D模型,有點像3D打印的雛形。目前123D Make只有Mac版的。
(4)    Autodesk 123D Sculpt是一款運行在iPad上的3D雕刻軟件(前面已介紹過),通過繪畫的方式在模型上雕刻幾何細節。
2.       3DSOM Pro
3DSOM Pro是一款從高質量的照片來生成3D建模的軟件,它可以通過一個真實物體的照片來進行3D建模,並且製作的模型可以在網絡上以交互的方式呈現。
3.       PhotoSynth
微軟開發了一款產品PhotoSynth,可將大量的照片做3D處理,但是它不是真正創建3D模型,而是根據照片之間的相機參數及空間對應關係,建構一個虛擬的3D場景,使得用戶能夠在從不同角度和位置來查看該場景,而顯示的場景圖像是由給定的照片所合成的。其基本原理來自於Siggraph 2006的論文「Photo Tourism: exploring photo collections in 3D」及其他相關論文。
註:從多幅不同角度拍攝的照片來重建3D物體,從技術原理上來講是可行的,但是由於算法的一些步驟,比如圖像中物體特徵點的檢測和匹配,相機參數的估計等,還會出現不太正確的結果,使得重建結果有時不夠穩定,甚至不正確。隨著技術和計算能力的不斷發展,相信這些會逐步得到解決。到時,從照片來重建3D模型的技術可能是最為方便的3D建模技術了,因為人人都有手機,隨時都可以拍照上傳到雲端來構建3D模型。如果有了大數據庫的支持,從單張照片來構建3D模型也是可能的,可以參看我們的Siggraph 2011的論文。
  
六、其他3D建模軟件
1.       人體建模軟件
關於構建人體模型及動畫,首推Metacreations公司的Poser軟件(俗稱「人物造型大師」)和開源的MakeHuman軟件。這兩款軟件都是基於大量人類學形態特徵數據,可以快速形成不同年齡段的男女臉部及肢體模型,並對局部體形進行調整。可以輕鬆快捷地設計人體造型、動作和動畫。我讀博期間用過Poser構建人體模型來做morphing,還是蠻方便的。
2.       城市建模軟件
加拿大Esri公司的CityEngine是三維城市建模的首選軟件,可以利用二維數據快速創建三維場景,並能高效的進行規劃設計。應用於數字城市、城市規劃、軌道交通、管線、建築、遊戲開發和電影製作等領域。另外,CityEngine對ArcGIS的完美支持,使很多已有的基礎GIS數據不需轉換即可迅速實現三維建模,縮短了三維GIS系統的建設週期。該軟件的核心技術是Siggraph 2001的論文「Procedural Modeling of Cities」及其他相關論文,早期是ETH Zurich大學的Pascal Mueller研究小組創辦的Procedural公司開發的,後被Esri公司收購。
3.       其他小巧的3D建模軟件
下面的這個網頁還介紹了一些其他3D建模相關的軟件或程序:
這些軟件大部分都非常小巧,而且是開源且完全免費的。有很多媒體工作者和藝術家用這些小軟件來製作3D作品,其中Blender, K-3D, Art of Illusion, Seamless3d, Wings3D等軟件的使用面稍微廣泛些。有興趣的讀者可以到網上找到相關資料去瞭解和學習,這裡不作詳細介紹。
4.       網頁3D (Web3D)建模工具
最近,出現了一些基於網頁(web)開發的3D模型設計軟件,即基於WebGL,可以在瀏覽器中完成3D建模的工具。比如3DTin,TinkerCAD(去年被Autodesk收購)等,它們的界面簡單直觀,有Chrome等瀏覽器插件插件,可以在線生成3D模型,直接存在雲端,並在社區分享模型。
在互聯網的時代,Web3D技術將被越來越被廣泛使用,建議大家多關注。
  
七、虛擬現實軟件和平台
虛擬現實軟件本質上不是用於3D建模的,而是用來對生成好的3D模型和場景提供關於視覺、聽覺、觸覺等虛擬的模擬,讓用戶如同身歷其境一般。相關軟件也有很多,這不是本文的重點,只大致提及幾個比較常見的。
1.       VirTools和Quest3D
法國VirTools公司的VirTools和美國Act-3D公司的Quest3D都是元老級的虛擬現實製作軟件,簡單來說,就是工業或遊戲用的實時圖形渲染引擎,是3D虛擬和互動技術的集成工具。可以讓沒有程序基礎的美術人員利用內置的行為模塊快速製作出許多不同用途的3D產品,如網際網絡、計算機遊戲、多媒體、建築設計、交互式電視、教育訓練、仿真與產品展示等 。網上的學習資料比較多。
2.       Unity3D (U3D)
Unity Technologies開發的Unity3D (U3D)是最近幾年冒出來的新秀,是一個全面整合的專業虛擬3D和遊戲引擎。它在製作虛擬現實及3D遊戲方面上手非常容易,操作簡單,互動性好,有強大的地形渲染器。我們的學生使用U3D可以很快地製作一個3D遊戲,因此也強烈推薦大家學習使用。
3.       Vega
Vega是MultiGen-Paradigm公司開發的用於實時視覺模擬和虛擬現實應用的開發引擎,提供很多的C/C++語言的應用程序接口API,結合其應用程序的圖形用戶GUI界面軟件LynX,可以迅速創建各種實時交互的3D環境。對於開發3D遊戲和3D場景漫遊的項目非常方便。
4.       OSG (Open Scene Graph)
OSG (Open Scene Graph)是一套開源的基於C++平台的應用程序接口API,能夠讓開發者快速、便捷地創建高性能、跨平台的交互式圖形程序。它將3D場景定義為空間中一系列連續的對象,能夠對3D場景進行有效的管理。由於OSG是開源和完全免費的,很多3D應用的軟件都選用OSG作為基礎架構。幾年前,我們與一個公司合作開發的義齒軟件就選用OSG作為管理3D數據的框架,使得開發非常方便。
5.       其他
其他的一些用於3D應用程序開發的軟件開發包(SDK)或API還有GLUT(OpenGL Utility Toolkit), OpenGL Performer, CG2 VTree, Quamtum3D Mantis等。有興趣的讀者也可以去瞭解一下。
註:相比於十年前,由於有了上述開發平台和開發包,現在開發一個看起來還比較cool的3D應用程序或遊戲不是那麼困難,隨著技術的不斷發展和3D應用不斷滲入到各行各業,相信以後會更加方便。
  
八、開源3D網格處理庫
1.       MeshLab
MeshLab是一個開源的處理三角形網格的C++處理框架,提供了三角網格的數據結構和算法,諸如曲面重建、編輯、修復、光順、編輯等算法。MeshLab並沒有集成太多獨特的算法,但是作為一個三維網格數據的顯示工具和框架已被學術界廣泛使用,並作為科研的必備程序庫之一。

Point Cloud Library (PCL)是一個獨立的大型跨平台的處理二維/三維圖像和點雲數據的C++模板庫,它基於許多第三方庫,比如Boost、Eigen、FLANN、VTK、CUDA、OpenNI、Qhull等,實現了大量點雲相關的通用算法和高效數據結構,涉及到點雲獲取、濾波、分割、配准、檢索、特徵提取、識別、追蹤、曲面重建(包括Poisson重建算法)、可視化等。早期的PCL是由Dr. Radu Bogdan Rusu在德國慕尼黑工業大學讀博士期間開發的,目的是要為三維點雲數據處理的研究及應用,建立出一個共同的基礎架構。另外,PCL利用OpenMP、GPU、CUDA等先進高性能計算技術,通過並行化提高程序實時性。集成了Kinect Fusion重建算法。有人將其地位比喻為3D的OpenCV,足以可見其對3D的開發和研究的重要性,我們的學生在科研過程中經常用到PCL。
3.       Libigl
Libigl是由瑞士Ethz大學的Olga Sorkine研究小組開發的C++網格處理庫,使用說明文檔比較齊全,很容易上手使用。 它具有較好的構造稀疏離散微分算子和有限元稀疏方程組等功能。有很多研究人員對其有貢獻,包括:Alec Jacobson, Daniele Panozzo, Christian Schuller, Olga Diamanti, Qingnan Zhou, Nico Pietroni, Stefan Bruggerr , Kenshi Takayama, Wenzel Jakob, Nikolas De Giorgis, Luigi Rocca, Leonardo Sacht, Olga Sorkine-Hornung。

4.       Trimesh
Trimesh是由美國Princeton大學的Thomas Funkhouser研究小組開發的C++網格處理庫。非常容易上手,使用不難,適合初學者。但是其中的相關算法實現比較少。

5.       OpenMeshOpenFlipper
OpenMesh是由德國RWTH Aachen大學的Leif Kobbelt研究小組開發的C++網格處理庫。OpenFlipper是基於OpenMesh基礎上架構的網格處理框架。使用非常廣泛。

6.       DGtal
DGtal (Digital Geometry Tools and Algorithms) 也是一個通用的幾何處理的開源代碼庫,是近幾年逐漸被關注的一個開源庫。

Mesh Processing Library是由微軟研究院的Hughes Hoppe博士在早年(1992-1998)從事幾何處理工作過程中所寫可系列算法庫,包括曲面重建、簡化、網格優化、漸進網格、LOD等算法。早年有很多人使用。

8.       CGAL(Computational Geometry Algorithms Library)
CGAL是一套開源的C++算法庫,提供了計算幾何相關的數據結構和算法,諸如三角剖分(2D約束三角剖分及二維和三維Delaunay三角剖分),Voronoi圖(二維和三維的點,2D加權Voronoi圖,分割Voronoi圖等),多邊形,多面體(布爾運算),網格生成(二維Delaunay網格生成和三維表面和體積網格生成等),幾何處理(表面網格簡化,細分和參數化等),凸殼算法,搜索結構(近鄰搜索,kd樹等),插值,形狀分析,擬合等。
CGAL功能非常強大,是我們學生做科研的必備程序庫之一。 但需要較強的C++代碼掌控能力,特別是基於C++ Template的開發。
9.       一些優秀的幾何處理的算法庫
9.1 MeshFix:是由意大利Marco Attene博士開發的修補3D網格數據的一個工具,能夠修補3D網格中出現的小空洞,去除自交,去除非流形等,並返回一個water-tight的網格。Libigl獲得了2014年SGP會議的最佳開源軟件獎
9.2 Poisson曲面重建:是由美國Johns Hopkins大學的Misha Kazhdan博士開發的,可以從帶法向量的點雲重建出流形網格曲面。該算法庫獲得了了2011年SGP會議的最佳開源軟件獎
9.3 Super4PCS library: 是由Nicolas Mellado, Niloy Mitra, Dror Aiger等人的研究工作4PCS算法 (SGP 2008)和Super4PCS算法(ACM ToG 2012)的C++代碼,能夠將兩個3D數據(點雲或網格)進行註冊拼接,得到最優的旋轉變換矩陣。使用方便,文檔豐富,註冊效果很好。
9.4 FCL(A Flexible Collision Library):一個用於檢測碰撞和形狀逼近計算(collision detection and proximity computation)的算法庫。
9.5 平面三角化
Triangle (A Two-Dimensional Quality Mesh Generator and Delaunay Triangulator):是最有名的平面三角網格生成庫,功能強大。
9.6 空間四面體化
TetGen (A Quality Tetrahedral Mesh Generator and a 3D Delaunay Triangulator): 是最有名的空間四面體網格生成庫,由華人學者Hang Si博士所開發。該算法庫獲得了了2012年SGP會議的最佳開源軟件獎。另外,NetGen也是一個能夠自動生成3D四面體網格的程序庫。Stellar (A Tetrahedral Mesh Improvement Program)是一個將四面體網格進行優化生成高質量的四面體網格。
9.7 線性代數求解庫Eigen
Eigen是一個優秀的C++模板庫,能夠解決許多線性代數的問題,比如向量、矩陣、線性方程組、稀疏線性方程組、矩陣分解等。該算法庫獲得了了2013年SGP會議的最佳開源軟件獎
9.8 SuiteSparse (A suite of sparse matrix software)
SuiteSparse是一個特別針對稀疏線性方程組求解的C++代碼庫,對Cholesky, LU矩陣分解等做了特別的優化,效率會比Eigen高。
9.9 最近鄰搜索庫ANN
ANN (A Library for Approximate Nearest Neighbor Searching)是一個優秀的查找最近鄰的代碼庫,簡單實用,在幾何與圖像處理中經常使用。
註:這裡列出了幾個主要的網格處理的C++代碼庫,我們的學生在學習和科研的過程中會經常用到它們。當然,網上還有其他的各種算法庫,對我們的科研和開發都是非常有用,我們有時也會用到,這裡就不再詳述。
  
九、基於掃瞄(逆向設計)的3D建模軟件
隨著深度相機的普及及掃瞄儀的價格迅速下降,人們採集三維數據變得容易,從採集到的三維點雲來重建三維模型的工作在最近幾年的Siggraph(Asia)上能常見到,比如我們Siggraph Asia 2010Siggraph 2013等的工作。最近幾年產生了許多基於點雲數據的建模與處理(或逆向工程和設計)的軟件,而且各種掃瞄設備的生產廠商也會發佈相應的點雲重建的軟件。
1.       Geomagic
Geomagic (俗稱「傑魔」) 包括系列軟件Geomagic Studio、Geomagic Qualify和Geomagic Piano。其中Geomagic Studio是被廣泛使用的逆向工程軟件,具有下述所有特點:確保完美無缺的多邊形和 NURBS 模型處理複雜形狀或自由曲面形狀時,生產效率比傳統 CAD軟件提高數倍;可與主要的三維掃瞄設備和CAD/CAM軟件進行集成;能夠作為一個獨立的應用程序運用於快速製造,或者作為對CAD軟件的補充。是我們學生科研的必備軟件之一。
2.       RapidForm
RapidForm是韓國INUS公司出品的逆向工程軟件,提供了新一代運算模式,可實時將點雲數據運算出無接縫的多邊形曲面,使它成為 3D掃瞄數據的最佳化的接口,是很多3D掃瞄儀的OEM軟件。我們購買的Konica Minolta 的激光掃瞄儀Range 7就是用RapidForm來進行逆向設計。我們SGP 2010的ARAP參數化算法作為目前為止最好的參數化算法之一,被集成到了RapidForm軟件中。
3.       ReconstructMe
ProFactor公司開發的ReconstructMe是一個功能強大且易於使用的三維重建軟件,能夠使用微軟的Kinect或華碩的Xtion進行實時3D場景掃瞄(核心算法是Kinect Fusion),幾分鐘就可以完成一張全彩3D場景。我們嘗試過,效果還可以。ReconstructMeQt提供了一個實時三維重建利用ReconstructMe SDK(開源)的圖形用戶界面。
註:法國ManCTL公司開發的Skanect為Mac平台的第一款3D 掃瞄軟件,也支持者華碩的Xtion或者微軟的Kinect進行實時3D 掃瞄。
4.       Artec Studio
Artec公司出品的Artec Eva, Artec Spider等手持式的結構光3D掃瞄儀,重量輕且易於使用,成為許多3D體驗館掃瞄物體的首選產品。我試用過Artec Eva後感覺還是需要較多的技巧才能掃瞄好物體,而且後期需要用軟件進行較多的處理,比如數據的去噪、修復、光滑、補洞等。
同時,Artec公司還開發了一款軟件Artec Studio,可以和微軟的Kinect或華碩的 Xtion以及其他廠商的體感周邊外設配合使用,使其成為三維掃瞄儀。Kinect通過Artec Studio可以完成模型掃瞄,然後進行後期處理,填補漏洞、清理數據、進行測量、導出數據等。不確定它是否也使用了Kinect Fusion算法。
5.       PolyWorks
PolyWorks是加拿大InnovMetric公司開發的點雲處理軟件,提供工程和製造業3D測量解決方案,包含點雲掃瞄、尺寸分析與比較、CAD和逆向工程等功能。
注1:全球四大逆向工程軟件除了Geomagic Studio和RapidForm外,還包括ImageWare和CopyCAD,由於後兩者我不熟悉,在此就不介紹了,有興趣的讀者可以到網上去找相關資料瞭解。
注2:微軟的Kinect作為快速獲取3D數據的傳感器,可以作為3D掃瞄儀來使用,我們曾使用3台Kinects來掃瞄人體全身,論文發在2012年的IEEE TVCG期刊。現在有多款軟件或者開發庫(包括上面介紹的PCL,ReconstrutMe,Artec Studio,Skanect),支持將單台Kinect作為手持式掃瞄儀來掃瞄物體,其核心都是Kinect Fusion算法。

注3:在測繪和地理信息等領域,由於數字城市和智慧城市的發展,再加上攝影測量的快速發展,近年來遙感測量和航拍測量得到快速發展並廣泛應用,特別地,傾斜攝影在近年來發展迅速,在城市級的3D建模方面發揮重要的作用,也是城市級數據採集和建模的重要工具。
十、後記
最近,隨著人們對3D建模的需求越來越大,出現了許多其他形式的3D建模軟件和工具,比如Blokify, 基於塊狀化3D建模軟件,特別適合孩子們製作模型。這些新出現的工具我這裡就不一一介紹了,大家可以關注網上的一些科技新聞網站、論壇或博客等。
1.       3D模型數據瀏覽與轉換軟件
上面介紹的大部分的軟件或庫都支持查看不同格式的3D模型數據。如果僅僅是瀏覽或查看現有的3D模型數據,我個人推薦3D Exploration軟件(相當於查看圖像的ACDSee軟件),它是一個專門用來查看各種格式的3D模型文件,包括3DS數據 (*.3ds, *.prj, *.asc)、LightWave Objects (*.lwo,*.lw)、 DirectX(*.x)、AutoCAD (*.dxf)、Object File Format (*.off)、Wavefront (*.obj)等,還可以用鼠標交互從不同視角來查看。而且還能查看各種圖像文件,包括bmp、rle、dib、gif、jpg、png、tif、tga、pcx等。當然也能查看帶紋理的3D模型。3D Exploration是我的機器必裝軟件之一,強烈推薦。另一個我推薦的同類軟件是Deep Exploration,它除了可以瀏覽3D數據外,還可以轉換數據格式(最新版本還支持Sketchup文件),同時它還可以對你的模型進行編輯及添加註釋製作動畫等,我也強烈推薦。
註:現在有很多3D數據格式,幾乎每個3D建模軟件都會定義自己的數據格式。幾種比較公認的3D數據格式有VRML、obj、off、stl (用於3D打印的數據格式)等。現在有些組織在力推3D數據的標準。相信隨著3D技術的發展,這些格式都將越來越標準化和統一化。對各種數據格式需要更多瞭解的,可以到網上找找,比如:
2.       3D模型渲染軟件
本文介紹的各種3D建模軟件一般都能渲染3D模型,但要得到更為逼真的真實感渲染效果,還可以使用專門的3D模型渲染軟件,比如Pixar Renderman、POV-Ray、 V-Ray、 Mental Ray、Final-Render等,這裡就不詳細介紹。一般我們使用Maya進行渲染放在論文中,已經足夠漂亮了,讀者可以在我們的許多論文中看到利用Maya渲染的結果圖。
3.       其他相關的軟件
本文以介紹3D建模的軟件和庫為主,另外,還有許多跟3D技術相關的軟件和開發包我沒有提及,比如圖像處理、可視化、處理醫學圖像、建築設計、裝潢設計及藝術設計等。讀者可以根據各自的專業去網上尋找所需要的專業軟件。
4.       學習使用3D建模軟件
相比於2D平面軟件Adobe Photoshop,Illustrator,CorelDraw等,學習3D軟件難度稍大些,需要瞭解和掌握一些3D的概念、3D交互習慣和技巧。因此,想要在短期熟練掌握好一個3D建模軟件,是不太可能的,需要多用、多摸索、多體會。網上有許多教材和視頻,您可以跟著去學習。總之,您要多去玩,就能玩熟了。如果您能有個確定的目標來學習3D軟件,比如完成項目或者論文中所需要的效果,您就能掌握得更快!因為,帶有確定目標和任務的學習,是最高效的學習。但您如果暫時用不到,暫可不必花太多時間去學習,學了但不去用,也容易忘。只要您學習軟件的速度快就可以,而這正是我們對學生的基本要求。J
5.       3D時代的來臨
最近兩年3D打印機的興起,引起人們的極大好奇與廣泛關注,同時也有些爭論。雖然還不清楚它是否能成為人們生活中不可或缺的一項技術,但不可否認,3D打印技術確實已經給世界帶來巨變,已逐漸在某些領域表現出巨大的價值,比如,提高了製造行業的生產力,在醫學領域得到了廣泛應用(義齒,假肢,器官等),為藝術家提供了有效的創作工具等等。個人認為,3D打印提供給了平民零技能製造的技術,會朝著「私人定制」(個性化需求)的方向發展;隨著大量草根參與到3D的設計和製造,3D打印將逐步顛覆人們創造東西的能力。正因人們對3D模型有了巨大的需求,3D打印技術才使得計算機圖形學「落地」,這也使得我們這個學科終於在人們生活中體現了巨大的價值。關於3D打印技術將給大規模工業經濟帶來的巨大衝擊以及給我們的生活將帶來的巨大變化,這裡不展開討論,我將以後抽空撰文加以詳述。
我們再來看一下這幾年的一些巨頭科技公司的變化,2011年微軟公司的Kinect讓人們獲取3D數據的硬件代價降低了許多,2012年3D打印的興起造就了兩家上市公司Stratasys和3D Systems,2013年蘋果公司收購了Kinect的核心技術公司PrimeSense,谷歌公司收購了大名鼎鼎的機器人公司Boston Dynamics,這些都說明,越來越多的高科技企業在快速發展3D科技,3D時代已經來臨!
隨著人們對3D技術有了越來越多的需求,本文所介紹的3D建模工具將會發揮出更為巨大的價值。隨著科學和技術的發展,雲計算與物聯網的進一步發展,將會出現越來越便利的3D建模工具,比如Autodesk 123D正在將3D技術從專業變成非專業,人們接觸3D技術的門檻將越來越低,創造的3D模型越來越豐富。我堅信,日後3D技術將「飛入尋常百姓家」,會越來越平民化,且成為人們生活中重要的一部分。
當然,當前人們對3D技術的瞭解還遠遠不夠,大部分的人對3D技術仍然很陌生。另一個我個人看好的市場就是3D教育與培訓,普及3D技術與培養3D技術人才已時不我待。
另外,現在也開始有了一些3D模型共享的網站在運營,能夠提供給全世界的用戶下載、上傳、分享3D數據;類似於十多年隨著Internet發展而產生的圖像共享網站,這些3D數據共享網站也將在不久的未來產生巨大的價值,3D模型數據也將逐步進入「大數據時代」。
我們很慶幸成為3D科技新時代的弄潮兒,有很多的機會和挑戰在等待著我們!讓我們一起努力!J
祝您健康、快樂、成功!
劉利剛
中國科學技術大學圖形與幾何計算實驗室(http://gcl.ustc.edu.cn)
電子郵箱:[email protected]
2014年2月8日


版權所有@劉利剛

回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 加入我們

本版積分規則

备案权重域名预定

QQ|4um創業社區

GMT+8, 2024-5-19 04:44

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回復 返回頂部 返回列表