上一篇说的仿58同城loadingview的项目,中有一个利用贝塞尔曲线进行绘制圆的步骤,这个贝塞尔曲线理论挺复杂,特此单独说一下所知的和能用到的。
比如上一个loadingView的项目中,要用到Path.cubic()来使用贝塞尔曲线画一个圆,那么首先要了解的是
Path.cubic()方法的定义:
void cubicTo(float x1,float y1,float x2,float y2,float x3,float y3)
Add a cubic bezier from the last point,approaching control points(x1,y1)and(x2,y2),and ending at (x3,y3)
什么意思呢,就是从我们的最后一个点出发以接近(x1,y1)(x2,y2)这两个点的方向走最后结束在(x3,y3)点。
什么叫接近呢?比如y = 1/x^3 这个函数的轨迹当x趋近于0时,轨迹无限趋近于Y轴值趋于无限大。
当曲线从0点出发以趋近1点的方向前进终结于4点时就会呈现这样一个轨迹。
所以当想以三次方程贝塞尔曲线绘制一个圆时,项目中的方法是绘制4个1/4圆,每次用三次贝

本文详细介绍了如何利用三次贝塞尔曲线(Path.cubic())来画圆。通过理解贝塞尔曲线的数学原理,结合Path.cubic()方法,可以计算出画1/4圆所需的四个关键点坐标,进而组合绘制完整的圆。这种方法特别适用于动画和图形绘制场景。
3万+

被折叠的 条评论
为什么被折叠?



