这可能是一个奇怪的应用程序。 问题的简要描述是"如何根据相对位置(距离)得到节点的绝对协调?"
我们有许多节点(每个节点都有一个唯一的ID)和一个列表,指定其相邻节点以及每个节点的距离作为输入。
所需的输出是在2D Surface上布置这些节点的一种可能方式。
结果算法将在C#中使用......因此外部.net库也可能有所帮助。
如果你能告诉我一个方法,那将是一个很大的帮助。 提前谢谢。
答案 0 :(得分:1)
您必须在开始时拥有至少三个已知点的坐标。
方式I.如果已知点相邻,则过程很简单 - 您循环所有点,寻找这样的点,在列表中有三个已知点。使用其中两个计算两个可能的位置,然后使用第三个选择右侧或左侧变体。重复循环,直到循环期间没有新点。
这个简单的算法收敛性差 - 误差累积,远点可能有不好的坐标。但是,由于你有坐标整数,你可以在每次计数后修复坐标并让它们变好。
方式II。如果已知点彼此不相邻,则该过程更复杂。
如果您有所有积分的长列表,这两种方式都有效。如果点只有很少的距离,那么任务变得更加复杂。