首页 > 其他分享 >贝塞尔曲线原理

贝塞尔曲线原理

时间:2023-03-19 11:22:33浏览次数:54  
标签:曲线 推导 float 贝塞尔 三阶 轨迹 原理

1 前言

贝塞尔曲线 (Bézier curve) 由法国数学家 Pierre Bézier 于 1962 年提出的一种矢量曲线,广泛应用于工程绘图、动画设计等领域。贝塞尔曲线是一种运动轨迹曲线,由 n 个点在 n 条线段上匀速运动(不同线段上的速度可能不同),同时开始同时结束,生成的轨迹曲线。如下是三阶贝塞尔曲线的生成过程。

img

在贝塞尔曲线家族中,三阶贝塞尔曲线最常用,读者可以在 cubic-bezier.com 生成三阶贝塞尔曲线,点击 Go 可以比较不同曲线的速度,界面如下。

img

Android 动画设计中,经常需要用到各种插值器,Android 系统提供了 PathInterpolator(float x1, float y1, float x2, float y2) 接口,给开发者使用,(x1, y1)、(x2, y2) 是三次贝塞尔曲线中间 2 个控制点的坐标。

2 一阶贝塞尔曲线

(1)轨迹曲线

img

(2)公式推导

img

img

3 二阶贝塞尔曲线

(1)轨迹曲线

img

img

(2)公式推导

img

img

4 三阶贝塞尔曲线

(1)轨迹曲线

img

img

(2)公式推导

img

img

在实际应用中,通常取 P0=(0, 0), P3=(1, 1) ,因此,B 可以化简为:

img

img

6 参考文献

​ 声明:本文转自贝塞尔曲线原理

标签:曲线,推导,float,贝塞尔,三阶,轨迹,原理
From: https://www.cnblogs.com/zhyan8/p/17232635.html

相关文章

  • 【Java邮件开发】3.邮件协议总结与邮件服务器的工作原理
    我们来对邮件协议进行总结,并探讨邮件服务器的工作原理一、邮件协议剖析1.指令过程描述记得上一篇总结,我们手动敲指令发邮件的时候,登录smtp服务器的......
  • 转置原理
    基本原理我们知道矩阵的转置满足如下性质:记\(V=E_1E_2\dotsE_k\),则\(V^T=E_k^T\dotsE_2^TE_1^T\)。这也就相当于,如果我们有快速的方法得到出\(V^T=E_k^T\dotsE_2^......
  • Java synchronized的实现原理
    通常在多线程执行的过程中,我们需要考虑一些线程安全的问题,而线程安全问题中最常用的解决策略之一就是“锁”。加锁的本质,就是为了解决在多线程场景中对于共享数据访问的......
  • 光场原理及一些算法代码实现
    2023.3.18好久没有写过博客了,感觉自己比以前更菜了\(//∇//)\好不容易的更新,是为了把最近看的几篇光场论文写个自己的整理和理解,后面可能会写一些用C++实现的光场处理算......
  • 简述CDN的工作原理
    CDN系统的具体工作方式是怎样的呢?先看看没有CDN服务时,一个网站是如何向用户提供服务的。网站系统基本上都是基于B/S架构的。B/S架构,即Browser/Server(浏览器/服务器)架构,是对......
  • maven的原理、配置与简单应用
    目录1Java中的依赖和jar文件2依赖仓库的设计与实现3maven项目 - 3.1maven的配置:配置settings.xml、建立本地仓库目录maven-repo - 3.2maven的使用:以Spring......
  • webpack原理(1):Webpack热更新实现原理代码分析
    热更新,主要就是把前端工程文件变更,即时编译,然后通知到浏览器端,刷新代码。服务单与客户端通信方式有:ajax轮询,EventSource、websockt。客户端刷新一般分为两种:整体页面刷新,......
  • webpack原理(2):ES6 module在Webpack中如何Tree-shaking构建
    Tree-shaking最早由​​打包工具Rollup​​ 提出DCE作用于模块内(webpack的DCE通过UglifyJS完成),而Tree-shaking则是在打包的时候通过模块之间的信息打包必须的代......
  • webpack原理(3):Tapable源码分析及钩子函数作用分析
    webpack本质上是一种事件流的机制,它的工作流程就是将各个插件串联起来,而实现这一切的核心就是Tapable,webpack中最核心的负责编译的Compiler和负责创建bundles的Compilation......
  • webpack原理(2):ES6 module在Webpack中如何Tree-shaking构建
    Tree-shaking最早由打包工具Rollup 提出DCE作用于模块内(webpack的DCE通过UglifyJS完成),而Tree-shaking则是在打包的时候通过模块之间的信息打包必须的代码。We......