如何在两个直线之间生成随机坐标?

时间:2019-04-30 12:08:46

标签: c vector random coordinates

我有一个具有固定坐标的矢量,并且在确定我为区域的Y轴上(上下)增加时,我需要计算随机坐标。Image by the vector (black) coordinates and random coordinates (blue)

我可以生成一个函数来确定我需要工作的区域之间的直线度。但是我不知道如何生成属于我需要的区域的随机坐标。

我正在寻找实现它的想法。

1 个答案:

答案 0 :(得分:0)

如果您有N个线段和N+1个点,并且您的“直线”定义为点p[i]p[i+1]之间的线段,则可以执行以下操作:

  1. 通过在0到N(不包括)之间选择一个点i来随机选择线段。

  2. 从0到1之间随机选择一个数字a,该数字确定新点将沿着线段落在哪里。评估一个新点v = a*p[i] + (1-a)*p[i+1]

  3. 随机选择yymin之间的一些噪声ymax(可能是-2到2或您所处的范围),然后评估新点q=v+<0,y> < / p>

如果我理解您的要求是正确的,那么这些q值就是您追求的目标。

如果相反,您希望生成随机点,但要使符合这些点的线的最小二乘最小化,则该点就是您的黑线,那么这是一个更困难的问题,我现在没有时间。