【发布时间】:2017-01-31 04:29:02
【问题描述】:
我目前正在使用数字弹簧物理学研究一个软体系统,我终于得到了这个工作。我的问题是目前一切都在直线上。
我的目标是复制类似于游戏“地板是果冻”的东西,除了平滑的角落和目前是直角的变形之外,一切都正常。
我尝试过使用三次贝塞尔方程,但这只是意味着每 3 个节点我就有一条新曲线。是否有一个贝塞尔样条方程,它包含 n 个控制点,这些控制点将与 vec2 的循环一起使用(因此 node[0] 是第一个和最后一个控制点)。
抱歉,我没有为此显示任何代码,但我完全被难住了,谷歌搜索什么也没找到。
【问题讨论】:
-
Eigen 有一个样条库。我用过一次,尽管官方不支持,但还是可以的。但我认为它不支持闭合曲线。
-
可能值得一读pomax.github.io/bezierinfo/#bsplines,因为实现 b 样条实际上并不是所有 工作。此外,github.com/thibauts/b-spline/blob/master/index.js 是一个高度可读的 JS 实现,它(几乎)被广泛采用,包括 C++
标签: c++ bezier spline bspline softbody