基于 3Blue1Brown 风格的 Manim 动画库,可视化信号与系统课程中的核心数学概念。
所有动画使用 Python + Manim Community 渲染,带中文支持 (xelatex)。
animation/
├── animate.bat # Windows 批处理启动脚本
├── animate.ps1 # PowerShell 启动脚本
├── pycharm-setup.md # PyCharm External Tools 配置指南
└── Project2/ # 信号与系统动画
├── ft_properties.py # 傅里叶变换性质 — 8幕教学动画
├── s_to_z_mapping.py # s域 → z域 映射 — 3组可视化
├── FT学习大纲.md # 傅里叶变换完整学习指南
├── FT性质.md # 傅里叶变换性质速查表
├── s域到z域映射.md # s-z映射数学原理 (教材原文)
└── _test_xetex.py # xelatex 中文渲染测试
基于 "缠绕机 + 质心" 隐喻,可视化傅里叶变换的 6 条核心性质:
| 幕 | 性质 | 公式 | 时长 |
|---|---|---|---|
| 0 | 引入 | 傅里叶变换定义 | ~40s |
| 1 | 缠绕机 | 双面板 + ω扫描 + 解旋 | ~90s |
| 2 | 线性性质 | a₁f₁ + a₂f₂ ↔ a₁F₁ + a₂F₂ | ~60s |
| 3 | 时移特性 | f(t-t₀) ↔ e^{-jωt₀}F(ω) | ~60s |
| 4 | 频移特性 | f(t)e^{jω_c t} ↔ F(ω-ω_c) | ~60s |
| 5 | 尺度变换 | f(at) ↔ (1/|a|)F(ω/a) | ~75s |
| 6 | 卷积定理 | f₁∗f₂ ↔ F₁·F₂ | ~60s |
| 7 | 总结 | 6条性质网格 | ~30s |
- 场景类:
FourierTransformProperties - 双面板布局: 左 = 缠绕机(复平面),右 = 频谱图
可视化连续时间与离散时间之间的桥梁 —
| 场景类 | 内容 | 风格 |
|---|---|---|
SDomainToZDomain |
5幕教学:公式→坐标系→点映射→区域映射→多值性 | 分幕讲解 |
CoordinateTransform |
网格线变形:竖线→同心圆,水平线→辐角射线 | 连续变形 |
GridDeformation |
原地网格扭曲:矩形网格 → 圆形网格 (ValueTracker) | 实时变形 |
- Python 3.10+
- Manim Community — 动画引擎
- MiKTeX — LaTeX 中文渲染
- FFmpeg — 视频编码
# 1. 克隆仓库
git clone https://github.com/chanbao43/-.git
cd animation
# 2. 创建虚拟环境
python -m venv venv
# 3. 激活虚拟环境
# Windows:
venv\Scripts\activate
# Linux/Mac:
source venv/bin/activate
# 4. 安装 Manim
pip install manim
# 5. 确保 MiKTeX 和 FFmpeg 已安装并在 PATH 中# 进入 Project2 目录
cd Project2
# ===== 傅里叶变换性质动画 =====
# 480p 快速预览
manim -ql ft_properties.py FourierTransformProperties
# 720p 高清输出
manim -qm ft_properties.py FourierTransformProperties
# ===== s域→z域 映射动画 =====
# 分幕教学版
manim -ql s_to_z_mapping.py SDomainToZDomain
# 坐标变换版 (网格变形)
manim -ql s_to_z_mapping.py CoordinateTransform
# 原地变形版 (最酷的视觉效果)
manim -ql s_to_z_mapping.py GridDeformation使用项目提供的启动脚本 (自动配置 ffmpeg + MiKTeX + venv):
# PowerShell
.\animate.ps1 -qm ft_properties.py FourierTransformProperties
# CMD
animate.bat -qm ft_properties.py FourierTransformProperties| 选项 | 分辨率 | 用途 |
|---|---|---|
-ql |
480p15 | 快速预览 |
-qm |
720p30 | 标准输出 |
-qh |
1080p60 | 高清演示 |
-qk |
4K60 | 极限画质 |
动画配套的详细学习材料在 Project2/ 目录中:
- FT学习大纲.md — 8幕逐幕讲解,含学习提示和关键洞察
- FT性质.md — 傅里叶变换性质完整速查表
- s域到z域映射.md — 教材原文,数学推导
- 3Blue1Brown — But what is the Fourier Transform?
- Manim Community — https://docs.manim.community/
- 《信号与系统》— Alan V. Oppenheim
动画愉快 喵~