【问题标题】:How do bezier handles work?贝塞尔手柄如何工作?
【发布时间】:2010-05-25 03:09:33
【问题描述】:

在 Wikipedia 上,我找到了有关 bezier curves 的信息,并创建了一个函数来生成贝塞尔多边形的中间点。我注意到 Expression Design 使用贝塞尔手柄。这允许用 4 个点制作一个圆,每个点都有一个贝塞尔手柄。

我只是不确定这在数学上如何与时间 T 的贝塞尔点公式相关。这些句柄向量如何修改形状?基本上和贝塞尔公式有什么关系?

谢谢

【问题讨论】:

  • 你知道贝塞尔曲线只能近似圆,对吧?这是一种解释:cgafaq.info/wiki/Bezier_Circle。我知道我看到了更好的分析,但我现在找不到它。

标签: c++ c algorithm graphics


【解决方案1】:

基本上,三次贝塞尔公式中使用的 4 个点是曲线之间的 2 个点,加上前两个点“一侧”的手柄的两个点(每个第一个点都有一个手柄) .如果每个点上都有双手柄,则当前正在计算的曲线中点的“相反”侧的手柄将被忽略(它们用于生成从相反侧出来的曲线)。

您在问题中链接的维基百科页面概述了用于三次贝塞尔曲线的实际生成方法。

【讨论】:

    【解决方案2】:

    贝塞尔线段的 4 个点是线段的两个端点和两个句柄,每个端点一个。控制柄确定线离开端点时的初始方向。手柄到端点的距离决定了手柄对路径施加的“拉力”量。

    您通常会发现多个 Beziers 首尾相连,其中一个的端点被共享为下一个的起点。这保证了一条完整的曲线。如果一个点两侧的手柄直接相互交叉,则关节处的角度将匹配;如果手柄与点的距离也相同,则角度将完全平滑,并且在该点处不会有可见的不连续性。

    贝塞尔线段的一个有趣特性是曲线将完全符合由 4 个点定义的平行四边形。

    我一直在描述的是最常见的贝塞尔曲线形式,即立方。还有一个二次方程,它在两个端点之间只有一个句柄;最常见的应用是 TrueType 字体。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多