前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Android UI】贝塞尔曲线 ① ( 一阶贝塞尔曲线 | 二阶贝塞尔曲线 )

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

作者头像
韩曙亮
发布2023-03-30 16:08:20
9340
发布2023-03-30 16:08:20
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

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

一、一阶贝塞尔曲线


一阶贝塞尔曲线 本质 是一条直线 , 下图是 一阶贝塞尔曲线 ,

P_0

是曲线开始位置 , 逐个点向

P_1

绘制 ;

请添加图片描述
请添加图片描述

二、二阶贝塞尔曲线


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

下图中 由

P_0

P_2

绘制 二阶贝塞尔曲线 , 控制点是

P_1

;

请添加图片描述
请添加图片描述

P_0

点绘制一条曲线到

P_2

点 , 绘制该曲线时 , 有一个控制点

P_0

, 相当于 将曲线向 " 控制点

P_0

" 方向拖动 , 产生一条圆滑的弧线 ;

上述绘制的 弧线 , 是通过计算得来的 , 绘制

P_0

P_2

的弧线 , 中间引入一个控制点

P_1

,

在这里插入图片描述
在这里插入图片描述
  • 首先由 起始点
P_0

与 控制点

P_1

进行连线 ,

在这里插入图片描述
在这里插入图片描述
  • 然后由 控制点
P_1

与 结束点

P_2

进行连线 ,

在这里插入图片描述
在这里插入图片描述
P_0

P_1

可以认为是 一阶贝塞尔曲线 ,

P_1

P_2

也可以认为是 一阶贝塞尔曲线 ,

  • 由 起始点
P_0

与 控制点

P_1

连线的这条线开始进行控制 ,

  • 在 起始点
P_0

与 控制点

P_1

连线上找到一个 比例值

x

( 取值范围

0 - 1.0

) , 找到

x

比例所处的点

A

, 同时在 控制点

P_1

与 结束点

P_2

连线上 , 找到一个 比例值

x

对应的点

B

, 将

AB

两个点进行连线 ,

在这里插入图片描述
在这里插入图片描述
  • 贝塞尔曲线上绘制的点 , 是 在
AB

连线上的

x

比例所在位置 , 绿色的点

C

就是贝塞尔曲线要绘制的位置 ;

在这里插入图片描述
在这里插入图片描述

上述计算过程中的比例 :

\cfrac{P_0 A}{P_0 P_1} = \cfrac{P_1 B}{P_1 P_2} = \cfrac{AC}{AB}

其中

P_0 A

表示

P_0

点到

A

点的线段长度 ,

P_0 P_1

表示

P_0

点到

P_1

点的线段长度 ;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、一阶贝塞尔曲线
  • 二、二阶贝塞尔曲线
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档