android 贝塞尔曲线自定义控件,Android自定义View——贝塞尔曲线学习笔记

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

贝塞尔曲线奠定了计算机绘图的基础(它可以将任何复杂的图形用精确的数学语言进行描述)

有开放和封闭路径的区别;

理解贝塞尔曲线的原理

贝塞尔曲线是由一系列点来控制曲线状态的**数据点:**确定曲线的起始和结束位置

**控制点:**确定曲线的弯曲程度

一阶曲线

一阶曲线是没有控制点的,仅有两个数据点(A 和 B),最终效果一个线段;类似于lineTo;

生成过程:

a3a5244600da07e14e72756233f6f692.gif

二阶曲线

二阶曲线由两个数据点(A 和 C),一个控制点(B)来描述曲线状态;类似于quadTo;

8f4645313155ca04479f95a257a3ab7e.png

连接AB BC,并在AB上取点D,BC上取点E,使其满足条件:AD/AB = BE/BC

链接DE,取点F,使:AD/AB=BE/BC=DF/DE

生成过程:

75cd475b801b20ffdd88aa0668bf76a6.gif

三阶曲线

三阶曲线由两个数据点(A 和 D),两个控制点(B 和 C)来描述曲线状态

生成过程:

ace0391a177d9a988781db2b5003ef8e.gif

贝塞尔曲线相关函数的使用

一阶曲线

同lineTo

二阶曲线

二阶曲线是由两个数据点,一个控制点构成

两个数据点是控制贝塞尔曲线开始和结束的位置,而控制点则是控制贝塞尔的弯曲状态1

2path.moveTo(start.x,start.y);

path.quadTo(control.x,control.y,end.x,end.y);

三阶曲线

由两个数据点和两个控制点来控制曲线状态1

2path.moveTo(start.x, start.y);

path.cubicTo(control1.x, control1.y, control2.x,control2.y, end.x, end.y);

贝塞尔曲线的主要优点是可以实时控制曲线状态,并可以通过改变控制点的状态实时让曲线进行平滑的状态变化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值