贝塞尔曲线:FPS设计游戏中应用广泛的一个算法

我们今天来认识一下贝塞尔曲线,贝塞尔曲线,是由由法国工程师皮埃尔·贝济埃(Pierre Bézier)于1962年所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计,贝塞尔曲线最初由保尔·德·卡斯特里奥于1959年运用德卡斯特里奥算法开发,以稳定数值的方法求出贝塞尔曲线。

 这个就是贝塞尔曲线的示意图,其实贝塞尔曲线和我们常见的抛物线很相似,都是一个曲线形状的运动轨迹,说起贝塞尔曲线,在热门的FPS射击游戏中,扔投掷物就是利用了贝塞尔曲线,我们扔出投掷物后,会根据我们投掷的角度,从而在落点和起点之前模拟出一条弧线路径,让投掷物根据这个模拟出来的路径去移动,从而实现扔投掷物的效果,这个抛物线就是一个二阶的贝塞尔曲线。还有n阶的贝塞尔曲线,下面我们来了解一下:

贝塞尔曲线的一些特性:

使用n个控制点{\{P_1,P_2,...,P_n\}}来控制曲线的形状

 曲线经过起点{P_1}和终点P_n,但不经过中间点P_2~P_{n-1}

二阶贝塞尔曲线的实现过程:

1.在二维平面内选三个不同的点并依次用线段连接

 2.在线段AB和BC上找到D、E两个点,使得\frac{AD}{DB}=\frac{BE}{EC}

 

 3.连接DE,并在DE上找到F点,使其满足\frac{DF}{FE}=\frac{AD}{DB}=\frac{BE}{EC}(抛物线的三切线定理)

 

 4.找出符合上述条件的所有点,依次连接

 这就是贝塞尔曲线的实现思路以及过程。

 上述为一个二阶贝塞尔曲线。同样的,也有n解贝塞尔曲线,其实现思路和二阶贝塞尔曲线思路一样,都是在两条线段上分别找两个点,然后把他们相连,再找到连接的线段上的一个点,以此类推,找出所有的点后,其形状就是一条曲线,具体效果可参照这篇文章:n 阶贝塞尔曲线计算公式——Ts实现_n阶贝塞尔曲线_对酒当歌﹏✍的博客-CSDN博客

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值