What & How & Why

Join

Join :将一系列的 face / surfaces 连接并组成一个独立的 Primitive,并继承来自之前 surface 中的所有属性。



Input / Output

输入方面:

  • 连接的 surface 可以是不同的类型,但混合类型(暂时不知道是什么FIXME)不允许。
  • Spline / parameterization (也就是曲线和显性化的隐函数)都可以作为输入。

输出方面:

  • 生成的 Primitive 编号将与之前 surface 的不同。
  • 在必要的情况下,Join 会将更简单的 primitive(比如 polygon)转化为 NURBS 或者 Beziers。



Join, Fillet, Stitch 的异同

  • Join 接收 N 个 Primitive 并将其转换成一个 Primitive
  • Fillet 不改变原有 Primitive 的形状
  • stitch 改变原有 Primitive 的形状,但不改变生成的 Primitive 的编号。



不同类型之间的 Join

在处理不同类型的 surface 之间的 Join 的时候,Houdini 会将“简单的” surface 转化成 “复杂的” surface。

从简单到复杂的顺序:Polygon < Bezier < NURBS。(我没有研究过各种几何体的具体生成方式,但从文档描述中可以猜测复杂度的一个要素应该是多项式的最高次项,越低越简单。FIXME

同时,blend 选项会控制几何体连接处的状态。如果不启用 blend,那么参与 Join 的几何体不会发生任何变化。

Useful Parameters

ParametersUsage
BlendPrimitive 连接的方式。blend 会导致 Primitive 连接处变得光滑。
Tolerance如果 blend 选中,这个参数会决定 blend 对影响连接处形状的影响。该值越小,为 Join 而插入的连接部分就越靠近 Primitive 的末端(表现上来说就是越小边缘越硬,越大更光滑)。如果 blend 没有勾选,那么该值会作为连接部分(Fillet)的放缩因子。
Multiplicity 影响 Fillet 部分的光滑度(通过插入的 knots 的数量来决定)。该选项从效果上来说会让连接部分边的更加锐利。不过如果 blend 没有开启的话,该属性会影响连接部分的形状 / 紧密度。该选项可以使连接效果更容易生效(因为是离散的连接,也就是点对点的连接),不过参与连接的点很可能就不能处于比较恰当的位置了(因为是离散的)。该选项对 polygon 和 mesh 没有作用。
Connect Closest Ends寻找最近的 Primitive 的末端进行连接。
Wrap Last to First封闭 Primitive 之间的连接。

待测试后完善。帮助简直反人类。。