返回博客
文章2026年7月26日· 阅读时长 9 分钟

绘制家谱的新方式:“婚姻节点”模型与示例树

为什么要为家谱打造一套新引擎?

真实的家族并非简单的树状结构。其中有一夫多妻、离婚、丧偶与再婚,有把一个人连接到多个分支的表亲婚姻,还有一些母亲的名字在史料中根本未曾被保留下来。传统的绘制工具假定“一位配偶、一条线”,因而会掩盖部分真相、重复列出同一个人,或使整个结构失形。我们从零开始重建了绘制家谱的方式,让家族以其本来的面貌呈现,而不是被一套简化的模板所左右。

平台上的“阿卜杜拉家族”示例树是这套引擎的一个安全展示场:全为虚构人物,专门设计用来呈现那些疑难情形(一夫多妻、离婚、丧偶、女性的世系延伸至她自己的家族),而不触及任何真实家族的隐私。

“婚姻节点”模型

核心理念是:婚姻本身就是图中的一个节点——一个连接夫妻双方的小圆圈,他们的子女便由此向下延展。这不同于传统的配偶“梳齿”排列——后者把妻子们一字排开列在男子身旁,并将所有子女统统挂在他之下,却无法说明每个孩子属于哪位母亲。有了婚姻节点,一切都清晰起来:谁与谁结婚、哪些子女属于哪一段婚姻,以及每一段关系的状态。

每段关系的状态都以视觉方式编码:一条实线配一个蓝色圆圈表示仍在延续的婚姻,空心圆圈表示离婚,带虚线环的灰色圆圈表示因一方去世而结束的结合,琥珀色则表示纳妾(milk yamīn)。观者仅凭这些形状即可读懂结构,角落里还有一份始终显示的“关系图例”。

这些疑难情形是如何处理的

一套引擎适用于每一棵树

同一套方法驱动着平台上的每一棵树:你自己的家族树、示例树,以及先知﵌的研究家谱。没有任何为单棵树单独编写的代码。这意味着任何设计上的改进或行为上的修复都会一次性惠及每一棵树、每一位用户——一致性由结构本身来保证,而非依靠人工努力。

在工程层面,数据沿着一条严格的单向管线流动:扁平数据(每人一行;结构由父母链接生成)馈入一个纯数学变换,由它生成场景,再由场景馈入一个完全不含数据逻辑的渲染器。每一个坐标都是计算得出的;整幅图中没有任何一处是手工摆放的位置。

发布前的一道质量关卡

由于每次部署都会影响到每一棵树,我们在其前面设置了自动的守卫:在任何导入之前都会检查一套完整性规则(不与直系祖先通婚、不存在同性结合、世系中无环、每个孩子都须有父母双方、引用完整性)。若数据违反其中任何一条,发布即被拒绝。此外,还有数十项一致性测试来验证:在不同版本之间,绘制结果不会有哪怕一个像素的偏移。

正是这份纪律,让我们能够毫无顾虑地快速迭代:我们持续改进设计,并信赖这些守卫将任何错误挡在你的树之外。

使用体验

这套新设计并非表面的翻新,而是对“如何以数字方式呈现一个家族”的重新思考:忠于真相、在每一棵树之间保持一致,并让数据始终归属于它所属的人。

← 所有文章
您的隐私至关重要。 Nasayeb 不使用跟踪 Cookie,也不使用任何第三方跟踪器,仅使用必要的本地存储以保持您的登录状态。