Bézier 曲线从一个轴计算点

发布于 2024-08-14 12:04:18 字数 120 浏览 8 评论 0原文

我有一条三次贝塞尔曲线。但当我只需要一分时,我遇到了问题。我只有 X 轴的值,并且想要找到与该点对应的 Y 轴的值。或者找到t步,从中我可以轻松计算出Y轴。

有知道如何做的线索吗?或者有什么公式可以做到这一点?

I have a Cubic Bézier curve. But I have a problem when I need only one point. I have only value from the X-axis and want to find a value that coresponds to Y-axis to that point. Or find the t step, from it I can easely calculate the Y-axis.

Any clue how to do it? Or is there any formula to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

心是晴朗的。 2024-08-21 12:04:18

任何解决方案都必须处理这样一个事实:如果曲线不是 X 单调。考虑三次贝塞尔曲线 (0,0),(2,0),(-1,1),(1,1):

作为您可以看到,有 4 个参数值(和 Y 坐标),其中 X==1/2。

这意味着,如果您使用细分(这可能是最简单的解决方案),那么您需要小心,您的初始边界 t 值仅围绕您想要的点。

您还可以猜测这对于代数解的阶数意味着什么。

Any solution will have to deal with the fact that there may be multiple solutions if the curve is not X monotone. Consider the cubic bezier (0,0),(2,0),(-1,1),(1,1):

As you can see, there are 4 parameter values (and Y coordinates) at which X==1/2.

This means that if you use subdivision (which is probably your simplest solution), then you need to be careful that your initial bounding t values only surround the point you want.

You can also guess what this implies about the order of an algebraic solution.

鸩远一方 2024-08-21 12:04:18

通过添加这些维度的系数,参数曲线可以扩展到任何维度。你确定你把事情搞清楚了吗?看起来您正在使用 x 轴作为曲线参数tt 参数通过两个三次方程控制 X 和 Y 坐标的计算。看一下 Wikipedia,它为 2D 案例提供了一些非常简洁的解释。

编辑:

求解为一般三次多项式。但请注意,它可能有 3 个解决方案。

A parametric curve extends to any dimension by adding coefficients for those dimensions. Are you sure you've got things straight? It seems like you are using the x-axis as the curve parameter t. The t parameter controls the computations of X- and Y-coordinates by having two cubic equations. Take a look at Wikipedia which provides some pretty neat explanations for the 2D case.

Edit:

Solve as a general third-degree polynomial. Beware that it might have 3 solutions, though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文