本文整理自我 2024 年 6 月 14 日在上海科技大学数学所的一个小报告,标题是「GPU 涂鸦与数学可视化」。我保留了报告的技术内容,略去了报告中介绍 demoscene 文化和分形文化的部分。
春节的晚上,外面鞭炮喧天,家人在看电视,我躲在屋里看数学,还是挺惬意的。
我看的是 John Baez 和 Greg Egan 的博客。John Baez 是一位在科普方面非常高产的数学家,写过不计其数的科普文章。读他的文章非常让人享受,因为他总是从直观的例子入手,一步步启发读者,展开到更高级的数学。Greg Egan 是澳大利亚的一位非常高产的科幻小说作家,有不少作品已经被国内引入。他的小说属于硬科幻风格,而且是非常硬的那种。他也有不少有趣的 博客文章。不过与 John Baez 不同的是,Greg Egan 的文章不太会去兼顾不同水平的读者,对我来说,要看懂他在说什么经常不是一件容易的事情。
John Baez 博客上有一个系列 Rolling circles and balls 讨论了圆的外摆线和焦散,Greg Egan 也有一篇 文章 更深入的讨论了曲线的焦散。这个话题非常有意思,我也一时手痒写代码实验了一番并记录在此。
五一期间我写了一个 shadertoy 小动画,演示 Möbius 变换与球的刚体运动之间的关系:
这几天因为疫情居家观察难得多出点时间(不用健步挤地铁),可以写点小文章。我之前写过一篇介绍 Möbius 变换分类的文章,今天继续那里的讨论,介绍一个 Möbius 变换 \(M\) 作为二维 Poincaré 双曲圆盘 \(\mathbb{D}\) 中等距的两种构造方法:
- 指定 \(M\) 的不动点的个数和位置,不动点的个数和位置可以决定变换的类型。
- 指定两个反射镜面的位置:取两条测地线作为镜面,则关于这两个镜面的反演变换的复合变换就是一个 Möbius 变换。两个镜面的相对位置可以决定变换的类型。
这两种方法分别对应在 \(M\) 作用下保持不变的两个圆族。
本文的插图使用 matplotlib 绘制,代码在 Github 上。
我写了一个 shadertoy 小动画,演示 (Needham 1997) 书中第 7 章 “Winding numbers and topology” 中的结论:
当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器