坐井观天网

探索易于理解并实现的业余手工业创作技能

菜单
20

标签:营造 | 工具

几何表达的一些问题和思维方式

讨论离散和连续表达方式融合的可能性

参数曲线面和离散网格面造型在表示上一直没有比较满意的兼容。

两种表示方法只是概括级别上不同。一张曲面即可概括曲面尺度上的流型,一个孤立的网格面只可代表局部,宏观形态由多个邻接的网格面共同表达。前者在整体尺度上采样,后者则需要联合局部的样本。

前容易实现宏观造型的连续,若需要进行细节调节,使某个局部出现与其余部分曲面参数不同的表达,则需在这个曲面上分出更多控制点,这会造成主函数分段,权重参考点发生变化,在一些表达方式中,难以解出等价的分段函数,这会导致整体造型的变化。对于网格,移动少数离散点的位置分布即可达到类似的目的,但是做整体尺度上的调节,则要改变非常多的点。原理上可以认为网格在平面特征为主的场合表达较曲线方便(因为少了一个采样逼近过程),并且数据结构不和几何特征相关(比如cascade式的brep就包含直线、曲面、样条等多种边界表达)。

如果要融合二者的优点,例如既想要拥有曲面造型的控制,又想有网格的灵活度,又应该从什么角度来看这个问题?

这里暂时只讨论顺序建模而不是逆向的场合,在这里逆向的问题在于原始参考不明确。但是逆向的重拓扑和参数生成也是比较重要的方向。

考虑人工建模的场合,操作者对目标的抽象空间结构实际是有数的。例如一个手持设备可以由一些长方体和圆柱构成,细节可能增加了一些切缝;再如一个人头可能简化为由一些经过切割的球体、柱形等的空间组合,其细节再由尺度小一些的生物组织的穿插概括出来。始终可以看出一个从概括到细节,从概括到局部的结构。建立基本几何体,融合后雕刻细节的做法也是一样的思维过程。

可以认为概括的步骤是容易宏观参数化表达的,例如一个人是马脸还是圆脸,眉骨是突出还是收敛等。细节不会影响对整体的判断,但它实际依附于整体的特征。

破坏式建模在创造下一阶段细节时,上一阶段的造型参数会丢失,坍缩到一个确定的形式,此后不可以修改。而类似修改器加布尔贴片等方法则保留了原始造型参数,可以随便改动,但最终效果可能不太整洁。(但就这个问题而言,如果没有后续加工,实际也不影响。)

类似修改器这样的是全参数化流程,而更进一步地,能否在自由造型的时候保留原始参数化信息而无需坍缩?比如不应用修改器而任意修改修改器执行后的模型,之后还能回来调节修改器的各种参数并使更改始终有效?或者说雕刻好人头的细节之后,再参数化的方式调节脸型?

如果按照局部依附于整体的思路来看这个问题似乎是可行的,因为我们只需要让高阶的造型基于低阶结果构建出的动态参考系即可。这样在低阶参考修改之后,高阶自然依附于其上,同时这不影响高阶自身内部的变化。一个更加完备的考虑是,我们应当可以制定低阶参考的生成方法,以满足不同场合的需要。

关于分支

和Houdini有类似形式的节点/特征系统,目前操作和数据是分的离,或者后者被隐蔽,但是数据的不同会导致不同的生成结构,影响后面步骤的执行。例如某个步骤是否挤出了一个凸台,决定了后面在凸台上进行的变形是否能够操作。目前的状况是,程序在遇到前一步错误时将会停在那里,因为没有提供处理错误的方式。

如果我们提供支路呢?例如,如果凸台不存在,接下来的特征基于什么,与凸台存在的情况分开处理。这个条件框架搭建起来可能比较费力,但更加容易实现在约束条件严格情况下的造型探索。

Sverchok的节点对不同几何拓扑形式的操作相对鲁棒一些,或者说是在节点内部隐藏(或尝试自主回避)那些区别。

评论 (0)

要评论,请发送邮件到xp8110@outlook.com