文章目录

  • 一、一阶贝塞尔曲线
  • 二、二阶贝塞尔曲线

贝塞尔曲线参考 : https://github.com/venshine/BezierMaker

一、一阶贝塞尔曲线


一阶贝塞尔曲线 本质 是一条直线 , 下图是 一阶贝塞尔曲线 , P0P_0P0​ 是曲线开始位置 , 逐个点向 P1P_1P1​ 绘制 ;

二、二阶贝塞尔曲线


二阶贝塞尔曲线 需要在 一阶贝塞尔曲线 基础上 , 添加一个控制点 , 曲线的绘制受控制点影响 ;

下图中 由 P0P_0P0​ 向 P2P_2P2​ 绘制 二阶贝塞尔曲线 , 控制点是 P1P_1P1​ ;

由 P0P_0P0​ 点绘制一条曲线到 P2P_2P2​ 点 , 绘制该曲线时 , 有一个控制点 P0P_0P0​ , 相当于 将曲线向 " 控制点 P0P_0P0​ " 方向拖动 , 产生一条圆滑的弧线 ;

上述绘制的 弧线 , 是通过计算得来的 , 绘制 P0P_0P0​ 到 P2P_2P2​ 的弧线 , 中间引入一个控制点 P1P_1P1​ ,

  • 首先由 起始点 P0P_0P0​ 与 控制点 P1P_1P1​ 进行连线 ,

  • 然后由 控制点 P1P_1P1​ 与 结束点 P2P_2P2​ 进行连线 ,

  • P0P_0P0​ 到 P1P_1P1​ 可以认为是 一阶贝塞尔曲线 , P1P_1P1​ 到 P2P_2P2​ 也可以认为是 一阶贝塞尔曲线 ,
  • 由 起始点 P0P_0P0​ 与 控制点 P1P_1P1​ 连线的这条线开始进行控制 ,
  • 在 起始点 P0P_0P0​ 与 控制点 P1P_1P1​ 连线上找到一个 比例值 xxx ( 取值范围 0−1.00 - 1.00−1.0 ) , 找到 xxx 比例所处的点 AAA , 同时在 控制点 P1P_1P1​ 与 结束点 P2P_2P2​ 连线上 , 找到一个 比例值 xxx 对应的点 BBB , 将 ABABAB 两个点进行连线 ,

  • 贝塞尔曲线上绘制的点 , 是 在 ABABAB 连线上的 xxx 比例所在位置 , 绿色的点 CCC 就是贝塞尔曲线要绘制的位置 ;

上述计算过程中的比例 :

P0AP0P1=P1BP1P2=ACAB\cfrac{P_0 A}{P_0 P_1} = \cfrac{P_1 B}{P_1 P_2} = \cfrac{AC}{AB}P0​P1​P0​A​=P1​P2​P1​B​=ABAC​

其中 P0AP_0 AP0​A 表示 P0P_0P0​ 点到 AAA 点的线段长度 , P0P1P_0 P_1P0​P1​ 表示 P0P_0P0​ 点到 P1P_1P1​ 点的线段长度 ;

【Android UI】贝塞尔曲线 ① ( 一阶贝塞尔曲线 | 二阶贝塞尔曲线 )相关推荐

  1. 【Android UI】贝塞尔曲线 ③ ( 贝塞尔曲线关键点坐标记录 | 二阶贝塞尔曲线示例 )

    文章目录 一.贝塞尔曲线关键点坐标记录 二.二阶贝塞尔曲线示例 三.代码示例 贝塞尔曲线参考 : https://github.com/venshine/BezierMaker 一.贝塞尔曲线关键点坐 ...

  2. View系列:贝塞尔曲线专栏:绘制二阶贝塞尔曲线(二)

    1:Android贝塞尔曲线Api 作用 相关Api 备注 移动起点 moveTo 移动下一次操作的起点位置 连接直线 lineTo 添加上一个点到当前点的直线Path 贝塞尔曲线 qyadTo / ...

  3. Android 高级UI解密 (四) :花式玩转贝塞尔曲线(波浪、轨迹变换动画)

    讲解此UI系列必然少不了一个奇妙数学曲线-–贝塞尔曲线,它目前运用于App的范围是在太广了,最初的QQ气泡拖拽,到个人界面的波浪效果.Loading波浪效果,甚至于轨迹变化的动画都可以依赖贝塞尔曲线完 ...

  4. 【Android UI】贝塞尔曲线 ② ( 二阶贝塞尔曲线公式 | 三阶贝塞尔曲线及公式 | 高阶贝塞尔曲线 )

    文章目录 一.二阶贝塞尔曲线公式 二.三阶贝塞尔曲线 三.高阶贝塞尔曲线 贝塞尔曲线参考 : https://github.com/venshine/BezierMaker 一.二阶贝塞尔曲线公式 二 ...

  5. 【Android UI】贝塞尔曲线 ⑦ ( 使用 德卡斯特里奥算法 公式计算的 方法绘制三阶贝塞尔曲线示例 )

    文章目录 一.使用 德卡斯特里奥算法 公式计算的 方法绘制三阶贝塞尔曲线 二.代码示例 贝塞尔曲线参考 : https://github.com/venshine/BezierMaker 一.使用 德 ...

  6. 【Android UI】贝塞尔曲线 ⑤ ( 德卡斯特里奥算法 | 贝塞尔曲线递推公式 )

    文章目录 一.德卡斯特里奥算法 二.贝塞尔曲线递推公式 贝塞尔曲线参考 : https://github.com/venshine/BezierMaker 一.德卡斯特里奥算法 贝塞尔曲线的 三阶 / ...

  7. 【Android UI】贝塞尔曲线 ⑥ ( 贝塞尔曲线递归算法原理 | 贝塞尔曲线递归算法实现 )

    文章目录 一.贝塞尔曲线递归算法 二.贝塞尔曲线递归算法实现 贝塞尔曲线参考 : https://github.com/venshine/BezierMaker 一.贝塞尔曲线递归算法 一阶贝塞尔曲线 ...

  8. Android 利用二阶贝塞尔曲线自定义弧形动画

    我们先看效果 实现思路 我的思路是给自定义view(蓝色圆圈)设置值动画,值动画的估值器自定义为二阶贝塞尔曲线的估值器,至于什么二阶贝塞尔曲线,网上有很多教程,大家百度一下吧. 代码 这个项目就不贴出 ...

  9. <android>水滴效果的进度条 DripProgressView(二阶贝塞尔曲线自定义view)

    最近写了一个水滴效果的进度条,加了点特效,就是个简单的自定义view,用的二阶贝塞尔函数,如果有赶工期或者正好碰到类似效果需求的同伴们可以直接改改来用,提供 setProgress(float por ...

最新文章

  1. Centos5.5下lvs+keepalived集群
  2. C#把数据写到硬盘指定位置
  3. Binlog同步工具Canal部署使用
  4. html延迟首页,jquery怎么实现延迟执行?
  5. H3C DHCP服务器显示及维护
  6. 记录几个CentOS安装包(rpm)的下载地址-离线安装必备
  7. LAMP架构调优(七)——Apache Prefork模式调优
  8. IDEA设置好看的字体
  9. java书名号乱码_别骗我,这些居然是汉字,不是乱码
  10. js 根据公历日期 算出农历_JS获取农历日期具体实例
  11. 前端技术栈---看完这篇就够了
  12. python 编程入门到实践
  13. 教你如何将朋友圈的视频发到自己的朋友圈
  14. Linux内防火墙永久开启或者关闭操作命令
  15. 去哪儿实习面经(拿到offer)
  16. 史蒂夫·乔布斯-读书笔记3
  17. matplotlib animation动画保存(save函数)详解
  18. Henry捡钱_DP
  19. 无人机动力系统扭矩测量方法和测试必要性的研究
  20. 第2关:求五边形的面积

热门文章

  1. 好酒和那些廉价酒比贵在哪里
  2. 水面垃圾漂浮物检测+yolo系列
  3. 允许这个网站打开计算机应用吗,win7在IE11浏览器中新建选项卡提示“允许这个网站打开你计算机上的应用吗”怎么办...
  4. Python正则表达式 .,[],\d,\w,\s,\S,\D,\W的用法
  5. 庄子“知”问题的深入探讨(转载)
  6. 计算机键盘space键在哪,space是哪个键,详细教您space是哪个键
  7. glidedsky挑战-图片式反爬(雪碧图)
  8. 通达信接口的登录调试步骤
  9. python公司基本面_Python读年报12-获得公司财务基本面信息
  10. 2021年危险化学品经营单位主要负责人考试及危险化学品经营单位主要负责人考试题