Android贝塞尔曲线--基础

贝塞尔曲线定义 贝塞尔曲线(Bézier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。贝塞尔曲线是计算机图形学中相当重要的参数曲线,在一些比较成熟的位图软件中也有贝塞尔曲线工具,如PhotoShop等。在Flash4中还没有完整的曲线工具,而在Flash5里面已经提供出贝塞尔曲线工具。 贝塞尔曲线于1962,由法国工程师皮埃尔·贝塞尔(Pierre Bézier)所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计。贝塞尔曲线最初由Paul de Casteljau于1959年运用de Casteljau演算法开发,以稳定数值的方法求出贝兹曲线。


一阶贝塞尔曲线

给定点P0、P1,线性贝兹曲线只是一条两点之间的直线。这条线由下式给出: 




二阶贝塞尔曲线公式




利用Path画一条二阶贝塞尔曲线

//画二阶贝塞尔曲线
mPath.moveTo(300, 500);
mPath.quadTo(500,100,800,500);
canvas.drawPath(mPath, mPaint);复制代码

moveTo 移动到操作起始点坐标,不会进行绘制,只用于移动移动画笔

quadTo(x1, y1, x2, y2) 生成二阶贝塞尔曲线,(x1,y1) 为控制点,(x2,y2)为结束点


三阶贝塞尔曲线公式

//画三阶贝塞尔曲线
mPath.moveTo(300, 500);
mPath.cubicTo(500, 100, 600, 1200, 800, 500);
canvas.drawPath(mPath, mPaint);复制代码



转载于:https://juejin.im/post/5d00a4aef265da1bcd37d042

你可能感兴趣的:(Android贝塞尔曲线--基础)