gpt4 book ai didi

math - 使用三次贝塞尔曲线作为直线 : where do the control points have to be located to get equidistant spacing for t

转载 作者:行者123 更新时间:2023-12-03 22:54:04 32 4
gpt4 key购买 nike

当三次贝塞尔曲线的两个控制点都位于曲线两个端点之间的线上时,生成的曲线将是直线。在我的例子中的问题是,我为不同的 t 得到的曲线上点的实际间距根据控制点在该线上的位置而有所不同。

如果我使用 p1 和 p2 之间的 lerp 计算两个控制点的位置,如下所示:

controlPoint1 = endPoint1.lerp(endPoint2,a);
controlPoint2 = endPoint1.lerp(endPoint2,b);

必须有 a,b 的一种配置,其中间距实际上是等距的。我尝试了 0.25/0.75、0.3333/0.6666、0.5/0.5,但这些似乎都没有削减它。

最佳答案

我相信 [0, 1/3, 2/3, 1] =[a, b, c, d] 是正确的答案。

至少用这些值递归二分法

e = a*(1-t)+b*t, f=b*(1-t)+c*t, g=c*(1-t)+d*t,  
h = e*(1-t)+f*t, i=f*(1-t)+g*t,
j = h*(1-t)+i*t,

为所有值给出 j=t。

关于math - 使用三次贝塞尔曲线作为直线 : where do the control points have to be located to get equidistant spacing for t,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13366370/

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