给定n个点之间的距离,如何从这些关系中绘制地图

时间:2012-05-30 04:29:06

标签: math language-agnostic puzzle

我在教科书中遇到了一个有趣的问题,但没有提供进一步的答案或细节:(

给出一些要点,A,B,C等

这些点之间的距离关系:

A -> B = 23
A -> C = 45

B -> A = 23
B -> C = 78

C -> A = 45
C -> B = 78

所以C和A之间的距离是45个单位,A和B是23个单位等

如何绘制地图或某种表示方式?它只是在你收敛之前限制这些规则的情况吗?

2 个答案:

答案 0 :(得分:2)

因为它只有3个点,所以它是一个简单的三角形,你知道三面与表格的距离:23,45和78“单位”。

所以你可以将任意两个点作为一条直线绘制,然后做一些数学运算来确定第三点的角度(你已经知道了距离):

// a, b, and c are the distances, C is the angle.
c² = b² + a² - 2ba cosC

解决这个问题,并且你在C点有一个角度,这样就可以绘制第三个点了。

编辑(我最初错过了这是N分,因为它只是在主题中):

如果你没有所有的距离,那么你必须找到三个确定所有三条腿的地方作为起点并绘制它们。之后,找到另一个点,该点将距离定义为两个现有点,并使用这三个点计算新三角形并绘制一个点。重复此操作,直到用完为止。

答案 1 :(得分:0)

我认为multidimensional scaling就是你想要的。例如,给定美国城市之间的距离,您将获得以下内容:

enter image description here

可能无法完全满足您在2-D或3-D中的约束,但这会最大限度地降低成本函数。

相关问题