【发布时间】:2012-07-20 23:53:57
【问题描述】:
我需要在 C# 中绘制公司结构树(有点像家谱)。所有辅助代码都在那里。它是彩色的、互动的和花哨的。唯一的麻烦是实际决定将每个节点放在哪里的算法让我很伤心。
目前,盒子的大小为 100x50,我有一个名为 StaffNode 的类,它代表特定 x,y 坐标处的工作人员。
算法只需要创建一个带有适当 x 和 y 的 List<StaffNode>。
这非常棘手。
基本上,该算法是沿公司结构递归的,因此左->右,然后自上而下沿树。显然,如果两个节点在另一个之上是不好的。
我能想到一些可能会产生如下结果的算法:
*
o O
o o o o o O
o O O O O O
O
而这样的东西会更好,因为树非常大,空间非常有限:
*
o O
o o o o o O
o O O O O O
O
你们中有人曾经画过这样的树吗?如果你有,我相信你已经遇到了我遇到的许多障碍。有小费吗?到目前为止,我已经花了一整天的时间。
【问题讨论】:
-
你想做什么?不应该在microsoft visio之类的里面做吗??
-
@DrStrangeLove 不,我正在编写交互式可视化。