gpt4 book ai didi

javascript - 将分割三次贝塞尔曲线外推为 1,1

转载 作者:行者123 更新时间:2023-12-03 12:42:51 24 4
gpt4 key购买 nike

我需要此处提供的解决方案的帮助。

Create easy function 40% off set

我需要修改它,以便将返回的左和右推断为 1,1 split 后。这是因为如果我不进行推断,我就无法使用返回的分割三次贝塞尔曲线作为 css 过渡。

这就是我所做的测试。请帮忙,因为 real 与 mike way 不匹配:( 我认为问题是我需要将结果推断为 1,1。尽管我很确定,但我不能简单地将值加倍。

用于以迈克方式获取它的代码是这样的:

var result = split({
z: .5,
x: [0, 0.42, 0.58, 1],
y: [0, 0, 1, 1]
});
alert(result.toSource());

最佳答案

first half is ease-in which is cubic-bezier(.42,0,1,1) and graphically is http://cubic-bezier.com/#.42,0,1,1

请验证这个假设。 (曲线原始端点是 css timing function 中的 0,0 和 1,1)贝塞尔曲线的前半部分 [0,0, .42,0, .58,1, 1,1] 不应该是 [0,0 .42,0, 1,1, 1,1]端点是正确的(缩放到 1,1 后),但在那里失去了连续性。

Mike 算法返回的值是正确的。

Try this visualisation解释为什么你的假设可能是错误的。

您用来分割的算法是一种众所周知的算法,称为 de Casteljau 算法。该方法可以以非常简单的方式进行几何表达。查看动画可视化,了解如何在任意点进行 split https://en.wikipedia.org/wiki/B%C3%A9zier_curve .

但是,您可能很快就会遇到问题,试图正确缩放贝塞尔曲线的分割部分以适合单位正方形,端点固定为 0,0 和 1,1。您可能可以在纸上轻松尝试。最简单的方法可能是线性缩放贝塞尔曲线的控制点,但在大多数情况下你会得到一条被压扁的曲线。

关于javascript - 将分割三次贝塞尔曲线外推为 1,1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23475372/

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