EN
EN
回到笔记

为你出生的那年造一个时间盘

一个把公历年反向还原到干支六十甲子的计算器 —— 是我反复承诺自己要做的时间动力学模拟器的第一步。

两年来我一直在尝试做时间动力学模拟器。每隔几个月我打开文件,盯着它,又关掉。问题不在算法 —— 算法是公开的,经典文献读起来甚至很友好。问题在界面。没有人想要一个长得像 1998 年桌面应用的干支计算器。

我想要的是:你给它一个年份,它把那一年的四柱画出来。不是表格,不是流程图 —— 是你"凭感觉"就能读懂的东西,像读一只表。

这篇文章是第一步:一个静态的、服务端渲染的时间盘,输入年份,输出四柱(年柱 / 月柱 / 日柱 / 时柱)作为同心环。不能输入,不能交互,只是一个数字进去一张图出来。能拖动年份、看四柱随时间滑动的版本 —— 才是我反复承诺的 demo。

有意思的部分是渲染。SVG 弧线其实没那么难,只要你愿意写一个把年份和柱转换成起始角度 + 弧长的小 helper。一旦你有了这个,剩下的就是排版。六十甲子有 60 个节点;一个年份只用到 4 个。其余 56 个属于别的年份。

这周我学到的是:一个循环的视觉节奏不等同于一个列表的视觉节奏。列表要求你"扫",循环要求你"定位"。服务列表的设计动作(清晰的分割线、等距间距)放到循环上反而是伤害。正确的做法是:把分割线变细、当前节点加重、让眼睛自己环绕。

评论

评论区由 GitHub Discussions 驱动。点右上角 "Sign in" 用 GitHub 账号登录即可评论。

← 上一篇 五月的五个安静小胜 下一篇 → 为什么我把三个站放在一个仓库里