张春成
2023/04/23阅读:15主题:默认主题
时间的漩涡
时间的漩涡
在时间的河流中,日子容易过得头昏脑涨。我觉得时间像个齿轮令人眩晕,人在眩晕中顾不上看年华老去。本工程希望通过螺旋的时间线来传达我的感受。怎么说呢,反正看上去可能有点晕。
开源代码如下
时间的漩涡
在时间的河流中,日子容易过得头昏脑涨。具体表现为当下几天比较清晰,而越到远离就越模糊。比如说,现在是五一,哪天调休、哪天上班、哪天出行……这些琐事都能弄得清楚明白。但要规划中秋、十一甚至过年的日期计划就会显得力不从心。这不是谁的错,而是由于人的大脑对于时间天然地不敏感。我觉得时间像个齿轮令人眩晕,人在眩晕中顾不上看年华老去。本工程希望通过螺旋的时间线来传达我的感受。
因此,本文使用一种螺旋形的齿轮结构来表达时间的流逝。表盘的中心是“当前时刻”的时间信息,它最清楚和清晰,接下来的日子像行星齿轮一样围着它旋转。而螺旋的旋臂是一条完整的曲线,它代表从今天开始延展开去所将要经过的日期。每个日期用一个球表示,球的大小代表距离现在的远近,而球的颜色代表每月 1 日到 31 日的日期轮回。另外,为了表示月份,我在每个月的 1 日对月份进行标注。整个螺旋结构如下图所示。

螺旋结构的等距排列
首先,绘制螺旋结构之前需要对日期序列进行规划,而规划的目标是使得序列日期之间的距离尽可能均匀,这种均匀体现在相信日期之间的弧长相近。其次,螺旋结构的半径与日期远近具有连续的对应关系,但这种关系不应该是线性的,否则会导致旋臂的层次结构叠在一起互相遮盖。
因此,我采用如下方法对日期节点的位置进行规划。首先规定螺旋半径( )与日期远近( )之间的关系,二者之间的 次方关系可以使得半径随日期而增加,但增加的速度不过过快而导致中间过于拥挤。
之后对螺旋线的曲线积分进行估计,得到曲线总长
其中, 代表事先规定的螺旋线周期数。易知上式将每个周期的螺旋线长度看作是一组等差数列,通过近似等差数列的估计方法来估计整条曲线的长度。这种估计并不严谨,但它近似成立的条件是这样一个假设,我假定螺旋线相邻圆周所容纳的日期数量满足渐进关系,从而使得它们在螺旋上看上去是均匀分布的。最后,为了将日期均匀地放置在圆周上,我使用逐次累加的方式对弧度进行计算,迭代方法为
其中, 代表要呈现的全部日期数量。从视频上看,整个表盘随着时间而旋转,旋转的原因就是弧度的初始值在随着秒数的增长而不停地变化,变化的周期是每 个小时旋转一周。我权当这代表一天的消逝。
作者介绍