感受傅里叶的魅力——脚把脚教你从零开始制作傅里叶级数绘制玫瑰花动画(一)

本文主要是介绍感受傅里叶的魅力——脚把脚教你从零开始制作傅里叶级数绘制玫瑰花动画(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

大家好,这里是京嘟嘟。

不知道大家有没有接触过傅里叶级数这种东西呢?网上关于傅里叶级数的解释有很多,那么简单说来就是:任何周期函数都可以用正弦函数和余弦函数而构成的无穷级数来表示。那也就是说如果存在一个内部不存在交叉点、仅由一根完整的封闭曲线所组成的图形,那么我们可以将其同样看作为一个周期函数,从而用一个特定的傅里叶级数给表示出来:

而Manim作为一个基于Python的、用于解释性数学视频的动画引擎。它可以用于以编程方式创建精确的动画,就像下图所示。

由于网络上使用macOS来配置Manim引擎的教程较少且很多都较为碎片,那么在今天要开始连载的专栏里,讲的就是如何在macOS上借助Manim动画引擎,从搭建引擎到复现例程、再到创建自己的13格满满的傅里叶玫瑰花动画。就像这样:

那么接下来介绍一下本次实验所使用的系统环境吧。

系统环境

Manim动画引擎在Windows、MacOS和Linux上都有提供,本专栏主要讲解macOS。三个平台的安装过程大差不差,只是有一些细节需要注意。

我使用的环境如下:

  • macOS:Ventura 13.1

  • 处理器:Intel Core i5

  • Python:Python 3.11.1

  • shell:Bash

在开始本教程之前,你需要准备的东西有:

  • 在电脑中安装好Python3,并明白怎么切换我们要用到的Python

  • 安装好Homebrew

如果以上两点你都不太明白也没关系,这些在我的另一个专栏——Mac从零开始的装机生活中都有讲到,你可以在里面找到相关的教程,或者直接发送邮件至我的邮箱1242640039@qq.com,邮件主题备注CSDN。

事不宜迟,我们赶紧开始

这篇关于感受傅里叶的魅力——脚把脚教你从零开始制作傅里叶级数绘制玫瑰花动画(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/315418

相关文章

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

【WebGPU Unleashed】1.1 绘制三角形

一部2024新的WebGPU教程,作者Shi Yan。内容很好,翻译过来与大家共享,内容上会有改动,加上自己的理解。更多精彩内容尽在 dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加微信号:digital_twin123 在 3D 渲染领域,三角形是最基本的绘制元素。在这里,我们将学习如何绘制单个三角形。接下来我们将制作一个简单的着色器来定义三角形内的像素

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件 创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码 using UnityEngine;public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour{private Rigidbo

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

生信代码入门:从零开始掌握生物信息学编程技能

少走弯路,高效分析;了解生信云,访问 【生信圆桌x生信专用云服务器】 : www.tebteb.cc 介绍 生物信息学是一个高度跨学科的领域,结合了生物学、计算机科学和统计学。随着高通量测序技术的发展,海量的生物数据需要通过编程来进行处理和分析。因此,掌握生信编程技能,成为每一个生物信息学研究者的必备能力。 生信代码入门,旨在帮助初学者从零开始学习生物信息学中的编程基础。通过学习常用

BIRT--商业智能和报表工具,从零开始

1.简介 BIRT (Business Intelligence and Reporting Tools), 是为 Web 应用程序开发的基于 Eclipse 的开源报表系统,特别之处在于它是以 Java 和 JavaEE 为基础。BIRT 有两个主要组件:基于 Eclipse 的报表设计器,以及部署到应用服务器上的运行时组件。 2.下载 官网下载网址:http://download.ec

动画AnimationDrawable、转动

现实开发中:很多地方都用到 点击动画的特效; 本案例本人做了三个关于“动” 画 的效果; 先上图: 总体图: A: B: 1:点击图片按钮,效果是:图片闪动; 通过在xml中定义:标签:animation-list来实现点击动画的效果;  是否循环标签:oneshot ;   时间间隔标签:duration ; 要显示的图片标签:drawable ;

13 transition数组的动画使用

划重点 动画:transitiontransition-group :数组动画数组的 添加 / 删除 豆腐粉丝汤 清淡又健康 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><me

12 动画transition的使用2

划重点 Vue 动画:transition / transform在动画周期中执行动动画(上一篇是通过动画样式控制动画) 清蒸扇贝 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><