admin 管理员组

文章数量: 887021

android studio画曲线,Android

最近遇到个题,给定一系列坐标点,如何把它们绘制成一条平滑的曲线。

1 Catmull-Rom算法绘制曲线

首先来了解一下,样条曲线(Spline Curves),

是指给定一组控制点而得到一条曲线,曲线的大致形状由这些点予以控制,一般可分为插值样条和逼近样条两种,插值样条通常用于数字化绘图或动画的设计,逼近样条一般用来构造物体的表面。

而Catmull-Rom就是其中一种常用于绘制曲线的样条曲线算法,我们可以把它当成是一种特殊的贝塞尔曲线,一种能够经过所有控制点的曲线。

给定四个坐标点,P0,P1,P2,P3,同时再给定一个float值t(从P1移动到P2的同时,t从0变化到1),可以绘制P1到P2这段曲线的坐标点。

我们可以看到相关的计算公式:

根据公式我们可以转化成代码:

private PointF interpolatedPosition(PointF point0, PointF point1,

PointF point2, PointF poin

本文标签: android studio画曲线 Android