🌐 ZH

🌀 曼德博集合浏览器

放大进入曼德博集合的无限细节。点击任意位置放大,Shift+点击或右键点击缩小,并可实时调整迭代次数和配色方案。

200

点击画布放大 · Shift+点击或右键点击缩小。

指南

了解更多

01

什么是曼德博集合?

曼德博集合是指使迭代 z → z² + c(从 z = 0 开始)始终保持有界、不发散到无穷的复数 c 的集合。集合内部的点显示为黑色,外部的点则根据其发散到无穷的速度着色。它以1980年研究它的伯努瓦·曼德博命名,是分形最著名的例子——一种在每个尺度上都重复呈现复杂自相似结构的对象。
02

浏览器的工作原理

对每个像素,工具将其位置映射为一个复数 c,然后迭代 z² + c,直到模超过2(确定发散)或达到迭代上限。发散次数决定颜色。本浏览器采用平滑(连续)着色——由最终模值算出的小数发散值——使色带平滑过渡,而不是形成生硬的圆环。渲染通过 requestAnimationFrame 按行带进行,因此即使在1000次迭代下页面也不会卡顿。
03

获得最佳图像的技巧

放大越深,就应提高迭代次数。较浅的视图在100–200次迭代下即可,但深度放大需要500–1000次才能分辨出纤细的细丝。最壮观的结构——微缩曼德博、螺旋和"海马"山谷——都位于黑色内部与彩色外部之间的边界上。找到喜欢的视图后,点击保存PNG即可按画布全分辨率导出。

常见问题

为什么放大很深时图像会变得块状?
缩放依赖双精度浮点数。放大约10^13倍以后,数值会丧失精度,细节变成块状——这是标准JavaScript数字的硬件限制,并非缺陷。请重置并探索其他区域。
迭代滑块究竟改变了什么?
它设置在判定某点属于集合内部之前所执行的 z → z² + c 步数上限。数值越大越能显示边界的精细细节,但渲染也越慢。上限为1000。
它与朱利亚集合有关吗?
有。曼德博集合实际上是所有朱利亚集合的地图:每个点 c 对应一个朱利亚集合,位于曼德博集合内部的 c 值给出连通的朱利亚集合。可在我们的朱利亚集合生成器中探索它们。