双曲树
双曲树(英語:hyperbolic tree)是一种信息可视化和图形绘制方法,其灵感来自双曲几何。
将分层数据显示为一棵树,由于每层的节点数量会呈指数级增长,因此会出现视觉上的混乱。对于一棵简单的二叉树来说,第 n 层的最大节点数是 2n,而分支较多的树的节点数增长得更快。因此,把树画成一个节点-链接图需要指数级的空间来显示。
解决上述问题的其中一种方法是使用双曲树,首先由Lamping等人提出。[1] 双曲树采用双曲空间,其本质上比欧氏空间的“空间更大”。例如,在欧几里得空间中线性增加一个圆的半径,其周长会线性增加,而在双曲空间中同样的圆,其周长会呈指数级增加。利用这一特性,可以在双曲空间中以整洁的方式给树布局:把一个节点放在离其父节点足够远的地方,可以让该节点几乎拥有与其父节点相同的空间来布局自己的子节点。
通常利用双曲几何的庞加莱圆盘模型来展示双曲树,尽管也可以使用凯莱-克莱因模型。两者都是在一个单位圆盘中显示整个双曲平面,使整个树一次性可见。单位圆盘提供了一个平面的鱼眼透镜视图,更加强调焦点内的节点,而在靠近圆盘边界处可以显示更加远离焦点的节点。遍历双曲树需要对空间进行莫比乌斯变换,使新的节点成为焦点,并将层次结构的更高层次移出视野。
双曲树于1996年由施乐公司在美国申请了专利,但该专利已经过期。[2]
参见
参考文献
- ^ Lamping, John Ogden; Rao, Ramana; Pirolli, Peter. A focus+context technique based on hyperbolic geometry for visualizing large hierarchies. Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI 1995): 401–408. May 1995 [2021-04-13]. doi:10.1145/223904.223956. (原始内容存档于2017-05-10).
- ^ US patent 5590250,Lamping; John O. & Rao; Ramana B.,「Layout of node-link structures in space with negative curvature」,指定于Xerox Corporation
外部链接
- d3-hypertree (页面存档备份,存于互联网档案馆) – HTML5 Hyperbolic tree implementation, MIT licensed
- Hyperbolic Tree of life (页面存档备份,存于互联网档案馆) – Open source tree of life visualisation using Open Tree of Life data set
- The Green Tree of Life (页面存档备份,存于互联网档案馆) – Tree of life – University of California at Berkeley and Jepson Herbaria
- Tree of life Similar to the above, but with pictures
- RougeViz (页面存档备份,存于互联网档案馆) supports hyperbolic trees.