Android曲线拟合

最近在研究一个问题,有一系列点,需要拟合成一条漂亮的曲线,绘制出来,研究结果如下,感谢网友!

// 获取一系列点的曲线路径
    private Path getPointCurvePath(List<Point> points)
	{
		Point startp;
		Point endp;
		Point p3 = new Point();
		Point p4 = new Point();
		Path path = new Path();
		
		if (null == points || 0 == points.size())
		{
			return path;
		}
		
		startp = points.get(0);
		path.moveTo(startp.x, startp.y);
		int xCenter, yCenter;
		
		for (int i = 0; i < points.size() - 1; i++)
		{			
			startp = points.get(i);
			endp = points.get(i+1);			
			xCenter = (int)(startp.getX() + endp.getX()) / 2;
			yCenter = (int)(startp.getY() + endp.getY()) / 2;
			p3.y = startp.y;
			p3.x = xCenter;
			p4.y = endp.y;
			p4.x = xCenter;
			// 确定曲线的路径		
			path.cubicTo(p3.x, p3.y, p4.x, p4.y, endp.x, endp.y);
			
			// path.quadTo(xCenter, yCenter,  endp.x, endp.y);
			
			
		}		
		
		return path;
	}

效果如下:



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值