Flutter - 利用贝塞尔曲线实现添加购物车效果

本文介绍了如何使用Flutter的贝塞尔曲线来创建商品添加到购物车的动画效果。通过一、二、三阶贝塞尔曲线的介绍,重点讲解了利用二阶贝塞尔曲线实现抛物线轨迹,并详细阐述了从确定起点和终点,设置控制点,到计算并显示小红点在动画每一帧的位置,最终完成购物车动画的整个过程。
摘要由CSDN通过智能技术生成

🥦 前言 - 关于贝塞尔曲线

贝塞尔曲线,这个词大家都不陌生,特别是在前端里面,没用过相信也都听过。

我这里也继续啰嗦一下,贝塞尔曲线的知识:

贝塞尔曲线就是这样的一条曲线,它是依据四个位置任意的点坐标绘制出的一条光滑曲线[1]。在历史上,研究贝塞尔曲线的人最初是按照已知曲线参数方程[2]来确定四个点的思路设计出这种矢量曲线绘制法。贝塞尔曲线的有趣之处更在于它的“皮筋效应”,也就是说,随着点有规律地移动,曲线将产生皮筋伸引一样的变换,带来视觉上的冲击。1962年,法国数学家Pierre Bézier第一个研究了这种矢量绘制曲线的方法,并给出了详细的计算公式,因此按照这样的公式绘制出来的曲线就用他的姓氏来命名是为贝塞尔曲线。- 百度百科

它的出现为计算机矢量图形学奠定了基础,那么我们能用它做什么?

有的人说了,网上一搜一大把,这是必须的,「波浪形状」、「抛物线效果」等等等等。

🍋 贝塞尔曲线的效果和计算公式

这里我就不讲各阶贝塞尔曲线的区别了,直接把效果和公式贴上来。

一阶贝塞尔曲线

dc5de222fc3b26589ab57cb011d87e48.gif

outside_default.png

二阶贝塞尔曲线

f09b52781085d87a8316e73ae143c439.gif

outside_default.png

三阶贝塞尔曲线

d23e6fbf8a919f6b88f07d4065fa0bad.gif

outside_default.png

剩下的还有高阶,就不多赘述了,可推断公式如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值