你知道吗?数学上有一个公式,它的图像就是它本身。
$$ \frac12<\left\lfloor \operatorname{mod}\left(\left\lfloor\frac y{17}\right\rfloor 2^{-17\lfloor x\rfloor-\operatorname{mod}(\lfloor y\rfloor,17)},2\right)\right\rfloor. $$
把它输入绘图软件,在特定的坐标区域作图,屏幕上竟然会出现这条公式的样子:
公式把自己画出来了?
它常被称为“塔珀自指公式”。第一次看到时,很容易把它理解成数学版的魔术:公式好像认识自己,甚至把自己的形状藏进了运算过程。
但我们今天不急着相信魔术。把它拆开,会发现里面藏着几个高中数学中非常熟悉的工具:
- 高斯取整:把连续坐标送进一个个离散的像素格;
- 同余与取模:像“韩信点兵”一样,用余数定位当前位于一列中的第几行;
- 二进制与幂:从一个巨大整数中读取指定的 0 或 1。
真正有趣的地方是:公式并没有理解自己的文字,而是在读取一个巨大整数。那串整数,才是图像真正的藏身之处。
要想看到这个图像,我们还需要指定k=
960939379918958884971672962127852754715004339660129306651505519271702802395266424689642842174350718121267153782770623355993237280874144307891325963941337723487857735749823926629715517173716995165232890538221612403238855866184013235585136048828693337902491454229288667081096184496091705183454067827731551705405381627380967602565625016981482083418783163849115590225610003652351370343874461848378737238198224849863465033159410054974700593138339226497249461751545728366702369745461014655997933798537483143786841806593422227898388722980000748404719
在$0<=x<106,k<=y<k+17$的地方,才可以看到。
实际上这个公式可以画出任意形状,每一个形状都对应一个相应的k的值。
如想看到这幅图

在这个约定下,I LOVE YOU 会对应下面这个 $k$:
1152562038400845536777407025790702655637237631155576603003266411656351259245782965406690697323355750843110407242624388520979801280429575392756005371473608865241378952185573794134962011959427888366826644987750552179974819015496091105379881107715879923492302153541205997316349633541661092067170632735430735284819100059753284995157713028909621424691139523482010779648这个数字有 364 位。
公众号“数你会玩”涂鸦
对应的k的值
29087940871904955879661778803591403014204624235184659997205665517253950422518139463524766232130616414965114280131239204461282878532552130291483026038729865101043788696426413370632344992526592326854080433603125994429956080831329353871702095239677335287475210916317785357174354830070925366367657792145320472420058227905591513803262289562134405447285381750866035408649863659581509245329848047545758073642486325717615393591778506627816534380623288351191720025936603482722070630753024076209926879313920这里制作一了一个网页,你可以看看你的名字对应什么数,那就是你的像素身份证
tupper_playground.html
想到这个的人是Jeff Tupper, 在2001年的论文中提及这个公式
我们用的ggb绘制一些隐函数的图像时是会出错的,你知道吗?
你在 GeoGebra 中输入一个方程,屏幕却是一片空白,或者漏掉了很多细节
这意味着方程没有图像吗?
不一定。还有一种可能:图像存在,只是绘图软件没有找到它。
比如:输入x=0能画出直线,输入x^2=0,就画不出图像,输入x^(2/3)+y^(2/3)=1,只画出第一象限的图,应该是一个封闭的曲线。
二十多年前,Jeff Tupper 就在研究这个问题。他开发了一款名叫 GrafEq 的软件,目标不是把图“画得像”,而是尽可能明确地告诉用户:哪些地方确定有解,哪些地方确定无解,哪些地方计算机还无法判断。
比如:



GrafEq 专门绘制隐式方程和不等式,例如圆、复杂代数曲线和多个条件组合出来的区域。它强调的不是“画得快”,而是“不要把错误的图像冒充成正确结果”。Tupper 自己的硕士论文页面还特别提到,GrafEq 曾用于高中数学教学。
只懂数学的人,可能证明得了公式,知道公式中的取整、取模运算,却未必知道它们在图像生成中的作用;只懂计算机图形学的人,可能知道图像中的 $0$ 与 $1$,却未必能把它们抽象为数学运算。只有同时理解数学规则与图形实现,才能创造这个万物归一的奇迹:让编码、坐标和采样彼此对应、相互校验。
这说明我们真正需要的是从题海中跳出来,思考所学知识的应用价值,真正重要的不是把数学和技术分别学会,而是培养在符号、图像与程序之间往返翻译、迁移和验证的跨学科综合能力。