注册 登录
主题 : 2D任意曲线的实现
级别: 精灵王

UID: 94657
精华: 0
发帖: 744
可可豆: 4687 CB
威望: 4637 点
在线时间: 1520(时)
注册时间: 2011-09-23
最后登录: 2018-01-22
0 楼:  发表于: 2018-01-12 17:15    发自: Web Page
来源于 教程分享 分类

2D任意曲线的实现   


如何让一个物体,在2D的坐标世界里,

按照任意曲线进行运动,

这个问题,我过去,一直都没有思路,

过去能想到,一个是 贝塞尔曲线,一个是 正弦方程 + 角度偏转,

今天,我在网上查找贝塞尔曲线的数学表达,

无意间,通了,

发现了在2D空间里,做任意曲线运动的方法,

首先是出处,

http://blog.csdn.net/likendsl/article/details/7852658

我从这个网址找到了问题的答案。




数学表达是这样的,

  


起点和终点,我们是确定的,

从哪里,运动到哪里,

之后,通过控制点,来让物体的运动轨迹,发生曲线变化。

一些比较复杂的曲线,

可以由若干个小曲线拼接而成,

这样,就完全自由了。

贝塞尔曲线,在真实的使用中,最大的问题之一就是,

运动的速度不容易控制,可能快,后面慢,

而我们可能想要的是,路径不变,但是,前面慢,后面再快,

而二阶贝塞尔曲线,在速度的控制上,非常友好,

因为运动的公式我们自己来实现,

这样,假如用两段曲线来模拟一个曲线,

用1秒完成第一段,再用1秒完成第二段,

因为时间是我们自己设定的,

这样,运动的幅度,速度,都是非常容易控制的,

相比于需要两个控制点的贝塞尔曲线,

这种方式,灵活的多。

我估计,可能有很多人,不清楚我在讲什么,

但,如果你之前,也跟我一样,一直想找到曲线的灵活实现方式,

你应该已经懂了,而且,迫不及待的开始试验了。


描述
快速回复

关注本帖(如果有新回复会站内信通知您)

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部