提问人:Zokhoi 提问时间:11/3/2023 最后编辑:SpektreZokhoi 更新时间:11/3/2023 访问量:54
沿样条曲线移动骨骼
Moving a bone along a spline curve
问:
我有一条 B 样条曲线,我希望刚性骨骼沿着该曲线移动,并且我想计算移动另一端时骨骼一端的反向运动学。骨头的两端应位于曲线上,骨头的长度应保持一致。我有必要的函数将 B 样条曲线转换为其他参数曲线,如贝塞尔曲线。我应该如何解决这个问题?
示例方案:
初始花键与骨:
一段时间后,移动了骨骼的花键:
这些图像是通过手动移动点完成的,因此骨骼长度不一致。但是,对于计算结果,它应该是。
目前我正在研究的是首先将骨头的头部固定下来,然后以骨头长度的半径在头部中心画一个圆,并找到圆和样条之间的交点。我发现 T. W. Sederberg 的《计算机辅助几何设计》第 7.3 章描述了参数曲线和隐式曲线之间的交集,这似乎符合我的需求,但我不确定如何将其应用于我的问题,以及如何有效地求解多项式根。
上下文:我正在制作一个 2D 矢量动画引擎供我自己使用。前端是浏览器中的 JavaScript 和 html5 canvas,计算部分是用 Rust 编译成 WASM 完成的。
答: 暂无答案
评论
BEZIER(t)
t
t = <0,1>
BEZIER(t+dt)
dt
dt=bone_length/BEZIER_length