3.6.2 模型必须为流形(Manifold

3D模型必须为流形。通俗地说,如果一个网格模型中存在多个(3个或以上)面共一条边,那么它就是非流形的(non-manifold),因为这个局部区域由于自相交而无法摊开展平为一个平面了。请看如图3.6.2-1所示这个4个面共享一条边的非流形例子:

manifold

3.6.2-1  非流形模型的例子(4个面共享一条边)

提示:

所谓流形(Manifold),是局部具有欧几里得空间性质的空间。严格的数学定义为:一个n维的流形是一个连通的Hausdorff空间M,即,对于M中的任何一点p,都存有一个邻域,其同胚于欧几里得空间的开子集。

这个深奥且拗口的数学定义可用通俗的话来理解。如图3.6.2-2所示的地球球面就是一个2维流形。因此,对于球面上的一个曲面三角形(左图),可以摊开展成(即流动变形成)一个2维欧几里得空间上的平面三角形(右图)。此外,因为地球实在太大,我们往往把地球上的一块足够小的(曲面)局部区域当作平面来丈量,而不用担心会引起大的误差。比如,你要丈量学校操场的面积,根本不用把它认为是地球上的一块曲面,而直接看作一块平面即可。所以,光滑流形其足够小的结构是“硬”的(如可以固定丈量),而整体结构则是“柔软”的(可流动变形)。流形(Manifold)可看作是很多(Many)曲面片的叠加(Fold),比如整个地球的地图册就是由各个地区的地图页合订而成,而相邻地区的地图页之间含有重叠区域,以便建立彼此之间的联系,这样我们才能通过翻看一页一页的局部地图得出整张世界地图。

3.6.2-2  球面为二维的流形,因为可由一群二维的平面图形来叠加表示 (图片来源:维基百科)