从多个点创建平滑曲线并按百分比或时间获取该曲线上的位置

发布于 2024-12-11 15:36:43 字数 347 浏览 0 评论 0原文

我不擅长数学;/

我有 2D 点数组 P[n] (P1,P2...Pn)

我想做的是基于这些点创建一条平滑曲线(如贝塞尔曲线,但更复杂),然后根据时间(t>=0;t<=1)获取该曲线上的位置,当 t=0 -> 时res = P1,当t=1时→ res = Pn,并且当 t = 0.5f 时位于中间某处。

你能帮助我吗 ?我认为 http://mathworld.wolfram.com/B-Spline.html 是正确的方法来做到这一点,但我需要在java中这样做。

I'm not good at math;/

I have array of 2D points P[n] (P1,P2...Pn)

What i want to do is to create a smooth curve based on that points ( like Bezier Curve but more complex ) and then get position on that curve based on time (t>=0;t<=1), when t=0 -> res = P1, when t=1 -> res = Pn, and when t = 0.5f somewhere in the middle.

Can you help me ? I think http://mathworld.wolfram.com/B-Spline.html is the right way to do this, but i need this in java.

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

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

发布评论

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

评论(1

黑色毁心梦 2024-12-18 15:36:44

是的,bspline 就是您所需要的。

Google 在第一个结果中显示了这一点

http://www.ibiblio.org/e- Notes/Splines/Bspline.java

它是一个小程序,但它显示了如何翻译数学。

Yes, a bspline is what you need.

Google showed this at the first result

http://www.ibiblio.org/e-notes/Splines/Bspline.java

It is an applet, but it shows how to translate the maths.

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