Android中贝塞尔曲线

从去年开始了解贝塞尔曲线之后,发现开发中,不管是Android/Ios平台,还是web前端等,都有贝塞尔曲线的应用,通过绘制贝塞尔曲线,可以帮助开发者实现很多效果,例如一段时间内很流行的粘合型的下拉刷新、又如天气曲线图,同时,以贝塞尔曲线为基础的贝塞尔工具是所有绘图软件的最常用最实用的工具。

什么是贝塞尔曲线

贝塞尔曲线(Bézier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。主要结构:起始点、终止点(也称锚点)、控制点。通过调整控制点,贝塞尔曲线的形状会发生变化。

贝塞尔曲线的分类

了解一下贝塞尔曲线,根据影响变量的个数不同,我们可以看到不同类型的曲线

一阶贝塞尔曲线(线段):
公式:
这里写图片描述

意义:由 P0 至 P1 的连续点, 描述的一条线段

二阶贝塞尔曲线(抛物线):
公式:
这里写图片描述
原理: 由 P0 至 P1 的连续点 Q0,描述一条线段。
由 P1 至 P2 的连续点 Q1,描述一条线段。
由 Q0 至 Q1 的连续点 B(t),描述一条二次贝塞尔曲线。

三阶贝塞尔曲线:
公式:
这里写图片描述

当然还有四阶曲线、五阶曲线……只不过随着变量的增加,复杂维度会越来越高

虽然从公式上理解是非常难得,我们在开发中,也不是必须要完全理解这些公式,大概知道原理即可,通过这篇文章,我们可以大概理解它的图形上面的变化实现 http://www.html-js.com/article/1628

这个工具网站,可以帮助我们去绘制贝塞尔曲线 http://bezier.method.ac/#

参考文章:
https://blog.csdn.net/z82367825/article/details/51599245

猜你喜欢

转载自blog.csdn.net/zhaihaohao1/article/details/80943089