图表系列之简单实现平滑曲线

关于插值和拟合

(出自:https://wenku.baidu.com/view/673980ae580216fc710afd48.html

在实际中,常常要处理由实验或测量所得到的一些离散数据。插值与拟合方法就是通过这些数据去确定某一类已知函数的参数或寻求某个近似函数,使所得到的近似函数与已知数据有较高的捏合精度。

如果要求这个函数(曲线或曲面)经过所已知的所有的数据点,则称此类问题为插值问题。(不需要函数表达式)

如果不要求近似函数通过所有数据点,而是要求它能较好地反映数据变化规律的近似函数的方法成为数据拟合。(必须有函数表达式)

近似函数不一定(曲线或曲面)通过所有的数据点。


关于曲线的实现

平滑曲线实现效果图:


由于最终的成品为坐标图表,需要经过已知的数据点,所以平滑曲线的实现采用的插值法(此处采用的三次样条插值法)。

本质上,折线和平滑曲线的实现思路基本是一致的,只不过采用了插值方法在原有点的基础上进行了点的补充,进而无限接近平滑。

线条的绘制为 UIBezierPath + CAShapeLayer 来实现。

再此处有一个渐显的动画,结合 CABasicAnimation  指定 strokeEnd 属性来实现。


实现代码:http://download.csdn.net/download/u013410274/10228930

三次样条插值参考博客:https://haoxiang.org/2011/06/cubic-spline-interpolation-curve-fitting/





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值