【问题标题】:Bézier Triangles and N-Patches贝塞尔三角形和 N-补丁
【发布时间】:2015-07-02 18:15:39
【问题描述】:

我正在尝试用多边形网格制作一个光滑的表面。因此,为了进行所需的细分,我想使用由贝塞尔三角形组成的 N-Patches。据我了解,贝塞尔三角形可以由三角形多边形网格组成,这些多边形网格由三角形基元组成,如她所见:

然而,这使任务复杂化。例如,如果我提供由三角形基元组成的多边形网格,我如何将贝塞尔三角形和 N 面片应用于多边形网格信息?对于三次贝塞尔三角形,我是否需要将所有多边形三角形绑定在一组 9 个三角形中,其中每个组代表一个更大的三角形,所以我得到了 9 个边界控制点,通过它我可以获得内部需要的控制点, 用于执行三次贝塞尔三角形的 de Casteljau 算法,如下所示:

这似乎不实用,并且在许多情况下无法使用,例如多边形网格的 UV 贴图必须由这 9 个顶点三角形(一组 9 个基本三角形)构成。

对我来说,这似乎是贝塞尔三角形唯一合乎逻辑的用法,但我认为贝塞尔三角形应该由每个基本多边形网格三角形构成/用于每个基本多边形网格三角形,但这没有意义。如果您使用 de Casteljau 为 Bézier 三角形构建基本多边形网格三角形的内部控制点,那么有什么可以控制/平滑?构成多边形网格的基本三角形是完全平坦的,因为三角形的所有 3 个点都保证在同一平面上 - 因此即使使用贝塞尔三角形,三角形上的表面也会是平坦的,这是正确的行为。这就是为什么我推断贝塞尔三角形需要从许多基本三角形中创建出来。

一些快速参考:http://www.gamasutra.com/view/feature/131389/b%C3%A9zier_triangles_and_npatches.php?print=1

【问题讨论】:

  • 所以你的问题似乎是,如果贝塞尔三角形可以由任何不规则三角形网格构造,还是只能由规则网格构造(由 9 个点组成)?
  • 当然不是指9个点,而是你展示的9个子三角形。
  • 一些关于bezier-trianges粗网格插值的信息是here

标签: algorithm 3d surface cad nurbs


【解决方案1】:

N-patch 是从网格的每个三角形创建一个三次三角形 Bezier 曲面。每个三角形由 3 个顶点和 3 个法线定义。因此,构造的三次三角贝塞尔曲面一般不会是平面的(除非 3 条法线都相互平行)。

【讨论】:

  • 是的,正如我所发现的,我没有考虑法线,但现在它是有道理的。但既然答案是正确的,我就接受了。
猜你喜欢
  • 1970-01-01
  • 2014-05-03
  • 2011-01-28
  • 2015-10-03
  • 2012-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多