跳到主要内容

Unity傅里叶级数可视化

【编程德鲁伊】系列是我的横向编程练习笔记,每期围绕一个主题(数学物理电子图形声音...),用几种程序语言分别实现。战法牧贼同时修,能抗能打能奶能开溜。


编程德鲁伊 - 数学篇 - 傅里叶级数可视化 Unity 实现

fs-unity


上一章做了三角函数可视化,分别用 MaxMSP, JavaScript (React), Python, 以及 Unity:

sine-unity-croped

这一章重拾被傅里叶支配的恐惧。 谈到傅里叶变换、傅里叶分析,通常会分为两部分内容来讲,傅里叶级数连续傅里叶变换。本章集中在傅里叶级数

数学基础

在数学中,傅里叶级数可以看作一组正弦曲线组成的周期函数,由加权求和组合而成。(wikipedia)

举个例子,假设有一个周期性方波,它可以分解成多个正弦波。正弦波越多,合成后的曲线越接近方波:

Fourier_series_and_transform

更多图文解释及公式推导,可见上一节 JavaScript(React)傅里叶级数可视化

上一节的实现效果:

fs-js-5


本节用 Unity

曾写过一篇 Unity三角函数可视化 ,在其代码基础上,将绘制公式由三角函数修改为下方的傅里叶级数即可:

fs-mathshot

code

完整代码可见后文。

最终效果:

fs-unity


参考资源


Talk is cheap. Show me the code!

本例及【编程德鲁伊】系列大部分代码都开源在这里: https://github.com/avantcontra/coding-druid


公众号/B站/小红书/抖音/知乎:实验编程

实验编程社群资源、公开课: https://ghc.h5.xeknow.com/s/hzkMX

实验编程情报中心(会员): https://ghc.h5.xeknow.com/s/2BCFuJ

Cheers🍻

Contra