gpt4 book ai didi

bezier - 平滑三次贝塞尔曲线的条件

转载 作者:行者123 更新时间:2023-12-04 16:49:35 29 4
gpt4 key购买 nike

我有起点和终点以及曲线在这些点的斜率值。现在我必须通过给定的两个点绘制一条“平滑的二维贝塞尔曲线”。现在如何定位两个控制点来实现这一点。有什么办法吗?我知道控制点必须位于各自起点和终点的切线上。

  • 注意:“平滑曲线”是指在最终情节中不应有陡峭的曲线或转弯。

最佳答案

听起来你有 catmull-rom 曲线坐标(两点,以及它们的出发和到达切线),在这种情况下 https://pomax.github.io/bezierinfo/#catmullconv涵盖了将这些转换为贝塞尔坐标所需的所有数学运算。如果您不关心“如何”,只需跳到本节末尾的直接转换规则。

tl;dr 版本:将您的坐标重写为 Catmull 形式:

[P1, v1, v2, P2] -> [P1 - v1, P1, P2, P2 + v2]

然后我们将其转换为贝塞尔坐标:

P1 <= P1
p2 <= P1 - (P2 - P1 - v1) / 6 * f
p3 <= P2 + (P2 + v2 - P1) / 6 * f
p4 <= P2

f 是一个张力常数。玩那个。它通常为 1,但可能不取决于这些切线的强度。

关于bezier - 平滑三次贝塞尔曲线的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25844175/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com