陆玉立
(安徽工业职业技术学院,安徽 铜陵 244000)
FreeForm三维雕刻技术是三维动漫制作中重要的三维建模工具之一[1-2]。当前用于FreeForm的设计工具以及以此为基础产生的设计过程可以大致分为两类:利用专业建模包组和隐式建模[3-6]。专业建模包组利用参数化曲面或子分割曲面为用户提供建模包,用户可以直接调用参数化和格式化的包组方便快捷地建立三维模型。传统的三维模型搭建的方法要求用户必须在初始建模阶段进行布局,建立最初的层次片,然后修改控制点以生成细节[7]。对于一个精心设计的模型,没有经验的用户很难从头开始为其生成控制结构,所以,专业建模包组绕过复杂的三维模型所需要的数学细节,采取直观的建模包组来完成构建,比如:动漫游戏中的角色编辑器,向用户隐藏建模的数学细节,用直观的方式调用参数化模型完成建模[8]。然而,这些工具中缺乏高层次的控制结构,使得迭代改进设计或者重用现有的设计变得困难。
通过大量研究,我们发现可以通过使用平滑的曲线连接来解决缺乏高层次的控制结构的问题,这便是设计工具的第二类——隐式建模。平滑的曲线连接就是一种常见的设计模型外观表面部分的隐式建模方法[9-10]。在迭代改进设计或者重用现有的设计模型的过程中,采用此种方法作为参数线,连接局部参数化面/片的接缝,进行重绘以生成或修改成为所需的形状,或者从当前形状中提取相应的参数化面/片并连接成为结构化的新模型面。需要指出的是,传统设计大多基于特征曲线的绘制[11]。然而,设计是一个完整的创作过程,我们不能期望新用户能自己定义连接曲线,并将所需模型的控制(或特征)曲线绘制到自由空间中。因此,该方法的第一个基本原则是,我们需要通过软件及算法让用户在当前设计阶段可以将控制曲线绘制到所需形状上来,并可以自动对所需形状的特征曲线进行准确的数学定义和描述。这些曲线可以在定义后立即用做下阶段变形处理的控制句柄,方便地在其他工具或设计过程中进行调用。当然,控制曲线的效果可以修改(即平滑或者锐利),它们可以从当前设计中增加或者移除,并且对它们的位置和拓扑结构没有任何调用上的限制。具体来说,它们可以连接到其他曲线上,或与其相交,也可以不做任何连接,这比参数化曲面的应用更方便。该方法的第二个基本原则是三维模型的形状由设计过程的任何阶段的控制曲线来定义。曲线的修改和表面几何形状的计算都必须考虑到一个交互式的平滑响应系统,即修改前后曲面的连接必须平顺。为此,我们采用离散拉普拉斯和表面处理的其他高阶非线性泛函来平滑地处理曲面形状的过渡问题。
从用户的角度来看,FreeForm系统可以看作是基于轮廓绘制的自由形式建模系统的扩展。用户交互式地绘制所需几何图形的轮廓,系统通过功能优化,自动构建模型表面,使得其轮廓与用户的草图相匹配。然而,与以前的系统不同,用户的原始笔划可以停留在模型表面上,并作为进一步进行几何控制的参考线。用户可以交互式地推拉这些曲线,自动生成的曲面几何形状也会相应地改变。此外,用户可以在曲面上自由添加和删除控制曲线。这些扩展使得设计出的形状比单纯的素描要复杂得多。图1显示了该方法的实施过程。
图1 FreeForm建模方法
在某种意义上,我们的建模过程类似于传统的建模方法,例如参数化面/片和细分曲面:用户定义曲线网络,系统基于这些曲线自动生成平滑曲面。Freeform界面的一个优点是用户不需要担心曲线的拓扑结构。传统方法要求用户用封闭的三角形或四边形区域覆盖整个表面,而Freeform的方法要灵活得多:曲线不需要连接到其他曲线,因此,用以表示简单几何图形的曲线要比传统方法少得多。同样,Freeform的界面将曲线视为连续的实体,而不是独立分散的各个几何体,这样,模型的可扩展性更大,提供给用户更多的创作可能,平滑地实现从2D绘画到3D建模的“技能转移”。
Freeform系统提供5种草图绘制操作:创建、切割、挤压、通道合成(图2)和添加控制曲线(图3)。当用户在空白画布上绘制闭合图形时,系统自动膨胀闭合区域并呈现初始3D模型。用户在模型上可以添加一个笔画来剪切它,可以在对象曲面上绘制闭合笔划,然后绘制轮廓笔划,从而将其中某一部分进行拉伸。如果用户在表面的另一侧绘制另一个闭环,系统将生成一个通道。
这些操作在传统的三维模型软件中也有,但FreeForm的不同之处在于用户的原始笔画作为控制曲线保留在模型表面上。这些控制曲线作为曲面优化中的位置约束定义了曲面形状,用户可以通过变形这些控制曲线来修改形状。可以通过在物体表面上画一个开放的笔画或者画一个闭合的图形来形成新的控制曲线,这使得曲面构型多样化。
图2 创建、切割、挤压、通道合成过程
图3 添加控制曲线过程
FreeForm的不同之处还在于其在模型创建初期阶段的非常有用的自动曲面参数控制功能,它允许用户快速生成一个方便的句柄来调整曲面膨胀量。控制曲线分为两种类型:平滑曲线(蓝色)和尖锐曲线(红色)。平滑曲线约束曲面在其圈定范围内平滑,而尖锐曲线控制点仅放置在具有C0连续性的位置,使其在圈定范围内尖锐。根据用户的绘制操作习惯,这些曲面绘制控制功能会自动分配给新添加的曲线。在缺省定义的状况下,创建操作会生成与轮廓相对应的平滑曲线;切割操作会产生一条尖锐的曲线;拉伸操作会沿底部生成一条尖锐曲线,沿轮廓生成一条平滑曲线。当用户在曲面上绘制新曲线时,它被定义为最初平滑曲线。这些曲线的类型可以随后使用类型更改工具自由更改。
变形工具允许用户在任意点抓取曲线并将其拉至所需位置,曲线会相应的变形但会尽可能保留局部细节。FreeForm中变形工具的编辑操作总是应用于控制曲线,而不是直接应用于曲面。如果用户想要更多的控制,必须在曲面上添加新的控制曲线。控制曲线的显式添加以清晰的方式暴露了曲面结构,并且将此曲线结构作为进一步编辑的控制手柄。FreeForm使用剥离界面的方法来确定变形的曲线段。要变形的曲线段的曲率大小与拉力成比例,用户拉得越多,变形的曲线段曲率就变得越大,这使得用户无需在开始变形之前手动指定目标区域,并且能够在变形期间动态调整目标区域。这种剥离效果可以自动地优化与目标区域连接的其他曲线,这允许用户可以对目标区域进行更大幅度的变形。图4为变形控制,图5为平顺控制(左:平顺控制前,中:平顺控制后,右:表面优化后)。图6为更改曲线类型(左:更改前,中:更改后,右:曲面优化后)。
图4 变形控制
左:平顺控制前;中:平顺控制后;右:表面优化后图5 平顺控制
左:更改前;中:更改后;右:曲面优化后图6 更改曲线类型
平顺工具用于平滑曲线。当用户在目标曲线附近来回拖动鼠标(摩擦)时,曲线逐渐变得平滑。用户摩擦越多,曲线变得越平滑(图4)。该工具非常重要,因为草图绘制所产生的曲线可能包含噪声,噪声会引起局部变形及引入锯齿。可能在每次用户交互后系统会自动应用去噪,但是系统并不清楚自动去噪的程度有多大,程度重了影响原有模型,轻了又起不到降噪的作用。FreeForm的平顺工具提供了直观和方便的界面,用于指定要应用平滑的目标区域以及平滑量。
擦除工具作为标准曲线段擦除器使用户可以沿着控制曲线拖动光标将其擦除,这相当于移除定义曲面的约束。当用户完成擦除操作(释放鼠标按钮)时,系统会自动优化表面。类型更改工具用于更改控制曲线的类型,像擦除工具一样,用户沿着曲线拖动光标来更改属性。如果曲线是锐曲线,它会将其转换为平滑曲线(或曲线段),反之亦然。与擦除工具一样,系统根据属性变化更新表面几何图形,并在用户完成操作(释放鼠标)后显示结果。
为了实现所描述的界面,我们提出了一种由两个主要步骤组成的算法:曲线变形和曲面优化。网格构造和网格重构仅在创建、拉伸、切割和变形结束时发生。FreeForm系统从曲面优化步骤中解耦曲线变形不是同时求解曲线位置和平顺曲面,而是快速、直观、产生美观的结果,并支持我们通过控制曲线定义形状。用户首先使用变形工具变形(拉动)曲线,之后新的曲线位置作为位置约束被反馈到表面优化步骤。在曲线拉伸过程中,这两个操作顺序执行,以实现它们定义的曲线和曲面的交互式更新。
(1)
(2)
(3)
(4)
(5)
(6)
整幅图像的灰度均值为μ0:
(7)
(8)
(9)
OTSU的最大类间距阈值为T*,有
(10)
最小类内方差阈值也为T*,有
(11)
T*即为所求的二值化阈值。
初始化自动生成曲面后,需要对耦合曲面进行分割,达到突出主几何体的目的,因此需要选择合适的分割线。待选分割线的验证问题是一个二分类问题:分成有效类w1(真正的分割线)和无效类w0(冗余分割线)。利用基于学习的分类器有这样的好处:通过监督式学习优化特征的组合,只用一个阈值判断就可以灵活地平衡过滤检测的召回率和精度。这里,我们利用两个线性分类器(线性判别式函数(LDF)和线性支撑向量机(SVM))将特征组合起来。除此之外,我们也尝试用非线性SVM对特征进行组合,但并没有发现在分类上有明显的改进。对于一个特征向量x,二分分类器的输出是
f(x)=wTx+b,
(12)
式中w和b分别是分类器的权重和偏差。
权重函数和偏差通过不同的方式进行计算,即在LDF中假定权重函数是等协方差高斯函数,而在SVM中最小化基于边缘规划的铰链损失函数。为了明确分类,f(x)>0表示输入是有效的,而f(x)<0表示输入无效。分类器的输出一般表示为基于反曲函数的概率模型。
(13)
式中α和β分别简单地取为1和0。通过这个变换,我们可以从区间[0,1]中为该概率模型选择一个阈值。
通过分类器的输出,我们可以区分独特的分割线和非独特的分割线,判断准则如下:
规则1:如果Prob(ω1|x)>Pthr,那么x∈ω1;否则,x∈ω0。Pthr∈(0,1)可以作为评判检测过程中的召回率和精度的标准,默认的阈值为Pthr=0.5。
如果两条分割线离得很近,那么很有可能只有一条是真正的分割线。所以,下面的规则用来判断两条邻近的分割线:
规则2:如果两条分割线是邻近的,那么概率值更小的那条被判断为属于ω0。
图7显示了采用隐式建模方法创建的三维动漫模型。CSG操作允许用户沿着边界表示闭合的锐曲线,不管是锐曲线还是平滑曲线,两者都可以用FreeForm系统建模(图7)。这表明,通过用显式网格跟踪隐式曲面,可以在曲面上表示一些折痕,同时可以保证基本几何图形是由用户定义的多边形骨架定义的,而不是由曲面曲线定义的。图8显示了用FreeForm的建模工具获得的一些更精细的结果。本研究创新点在于运用三维雕刻设计制作模型,快速将二维的动漫形象转换为数字三维模型。将模型导出打印格式,并结合打印将数字模型打印出精确到高度和重量的单色模型,完成动漫模型玩偶摆件的实体模型制作。模型的生产为了回应市场需求,必须提高生产的速度和数量,批量生产需要制作磨具,而打印的实体模型的精度可以达到直接翻制磨具的精度,可直接用来翻模,磨具的制作完成使得玩偶可以实现批量生产,完成动漫模型玩偶产品的设计和上市。
图7 隐式建模方法建模的三维动漫模型
图8 FreeForm建模结果
三维雕刻技术与三维扫描仪的结合模型的设计过程是可逆的,设计师将使用扫描仪扫描的实体数据输入三维雕刻系统中,将其转化为数字模型,对其进行修补和修改,运用快速打印进行全新的模型制造。对人物进行扫描,将扫描实体的数据输入三维雕刻系统中并将人物模型转化为数字模型,并进行变形和修改,使其成为动漫玩偶造型,并打印出实体模型。
平滑的曲线连接就是一种常见的设计模型外观表面部分的隐式建模方法。在迭代改进设计或者重用现有的设计模型的过程中,采用此种方法作为参数线,连接局部参数化面/片的接缝;进行重绘以生成或修改成为所需的形状,或者从当前形状中提取相应的参数化面/片并连接成为结构化的新模型面。本文采用FreeForm三维雕刻技术,通过隐式建模的方式,在迭代改进设计或者重用现有的设计模型的过程中,采用曲线作为参数线,连接局部参数化面/片的接缝;进行重绘以生成或修改成为所需的形状,或者从当前形状中提取相应的参数化面/片并连接成为结构化的新模型面。实验结果表明该方法能很好地应用于工程实践,改进现有建模方法。