【发布时间】:2012-05-22 20:47:30
【问题描述】:
我需要为 2D 平面生成 N 个随机坐标。给定任意两点之间的距离(距离数为 N(N-1) / 2)。 例如,假设我需要生成 3 个点,即 A、B、C。我有它们之间的距离,即distAB、distAC 和distBC。
MATLAB中是否有任何内置函数可以做到这一点?基本上,我正在寻找与pdist() 函数相反的东西。
我最初的想法是选择一个点(比如 A 是原点)。然后,我可以随机找到 B 和 C 在两个不同的圆上,半径为 distAB 和 distAC。但是 B 和 C 之间的距离可能不满足distBC,如果发生这种情况我不确定如何进行。而且我认为如果 N 是一个很大的数字,这种方法会变得非常复杂。
【问题讨论】:
-
那么,您基本上想在随机位置和旋转处绘制一个已知三角形?随机选择原点和旋转。然后使用 trig 确定实际的点位置。
-
@MattB。其实不仅仅是一个普通的三角形,而是一个Reuleaux triangle
标签: matlab