首页 / 关于

关于 fushu.net

一个把复数画出来的工具站。没有框架,没有构建,没有后端,没有统计。

复数在课本里是一行符号,在工程师手里是日常工具,在数学家眼里是一片平面。 这个站想做的是第三种:让平面可见,让旋转可拖,让公式自己解释自己。

六个工具覆盖一条从算术到混沌的路径:计算器处理单次运算, 相量图处理旋转叠加,单位根处理离散对称,Möbius 处理整体形变, Mandelbrot 处理迭代,欧拉公式处理这一切的共同底座。

技术取向

全站是纯静态文件:HTML + CSS + 原生 JavaScript。没有 React/Vue,没有打包器, 没有 CDN 依赖,没有字体外链,没有分析脚本。所有计算在你的浏览器里完成, 页面加载之后不再产生任何网络请求。

渲染 Canvas 2D。DPR 自适应,SDF 思路的抗锯齿图标由本地脚本生成。
数值 IEEE 754 双精度。复数库自带 Smith 除法防溢出、hypot 防上溢。
解析 手写递归下降解析器,支持隐式乘法与 21 个函数,错误带位置。
离线 Service Worker 预缓存全站;带版本号的资源一年 immutable。
主题 CSS 变量双主题,跟随系统或手动;canvas 从变量取色保持一致。
可访问性 键盘可操作画布,焦点可见,motion-reduce 下自动停动画。

版本与回归

当前版本 v1.0.0。 仓库带两道闸门:node tools/smoke-test.js 覆盖复数库、格式化与解析器的 188 项数值断言; node tools/preflight.js 用无头浏览器跑全站页面, 要求零控制台错误。改版本号用 node tools/bump-version.js, 它会同步全部 HTML 引用与 Service Worker 缓存清单。

资源与版权

本站不引用任何外部 CDN 资源。所有图标(favicon.svg、icon-*.png、og-cover.png) 由仓库内脚本 tools/gen-icons.py 用 Python 标准库 (zlib + struct + math,SDF 距离场渲染)本地生成,不依赖第三方图像库, 不含任何受版权保护的素材。

字体使用操作系统自带的系统字体栈(PingFang SC / Microsoft YaHei / Source Han Sans 等),不嵌入、不分发字体文件。

站点代码与生成脚本以 MIT 许可开放。数学内容属公共知识。

已知边界

  • 对数与分数次幂取主枝(辐角 ∈ (−π, π]),多值性不展开为黎曼面。
  • Mandelbrot 深钻到约 10¹⁴ 倍后受双精度限制出现像素量化,属预期行为。
  • Möbius 变换在极点附近采样断开,不做球面投影补全。

联系

发现问题或想加一个工具,直接给仓库提 issue。 这个站会一直慢慢长 —— 就像 Mandelbrot 的边界,永远还有下一层细节。