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

android 贝塞尔曲线cpu优化 贝塞尔曲线游戏怎么玩_android 贝塞尔曲线cpu优化

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

贝塞尔曲线的一些特性:

使用n个控制点

android 贝塞尔曲线cpu优化 贝塞尔曲线游戏怎么玩_游戏_02

来控制曲线的形状 曲线经过起点

android 贝塞尔曲线cpu优化 贝塞尔曲线游戏怎么玩_android 贝塞尔曲线cpu优化_03

和终点

android 贝塞尔曲线cpu优化 贝塞尔曲线游戏怎么玩_算法_04

,但不经过中间点

android 贝塞尔曲线cpu优化 贝塞尔曲线游戏怎么玩_贝塞尔曲线_05

~

android 贝塞尔曲线cpu优化 贝塞尔曲线游戏怎么玩_射击游戏_06

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

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

android 贝塞尔曲线cpu优化 贝塞尔曲线游戏怎么玩_贝塞尔曲线_07

 2.在线段AB和BC上找到D、E两个点,使得

android 贝塞尔曲线cpu优化 贝塞尔曲线游戏怎么玩_游戏_08

 

android 贝塞尔曲线cpu优化 贝塞尔曲线游戏怎么玩_贝塞尔曲线_09

 3.连接DE,并在DE上找到F点,使其满足

android 贝塞尔曲线cpu优化 贝塞尔曲线游戏怎么玩_游戏_10

(抛物线的三切线定理) 

android 贝塞尔曲线cpu优化 贝塞尔曲线游戏怎么玩_贝塞尔曲线_11

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

android 贝塞尔曲线cpu优化 贝塞尔曲线游戏怎么玩_游戏_12

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

 上述为一个二阶贝塞尔曲线。同样的,也有n解贝塞尔曲线,其实现思路和二阶贝塞尔曲线思路一样,都是在两条线段上分别找两个点,然后把他们相连,再找到连接的线段上的一个点,以此类推,找出所有的点后,其形状就是一条曲线