从给定点获得N个随机等距点

时间:2015-01-10 13:55:46

标签: c++ function points

我需要一个让我找到n个随机点的函数。这些点必须与给定点具有相同的距离。你能救我吗?

void createCpoints()
{
    int xcenter=3;
    int ycenter=3;
    int radius=3;
    double x[N];
    double y[N];
    //...
}

2 个答案:

答案 0 :(得分:2)

只需生成N个角度,然后使用

从那里计算(x,y)坐标
x1 = xCenter + r * cos(theta1)
y1 = yCenter + r * sin(theta1)

(注意:这不应该是随时可用的C ++代码。如果您需要有关该语言的帮助,则需要更具体。)

答案 1 :(得分:2)

正如@ 5gon12eder所说,您可以将极坐标与初始点一起用作虚拟中点:

#include <math.h>

//...

for(int i = 0; i < n; i++) {
    double alpha = 2.0d*M_PI*((double) rand() / RAND_MAX);
    x[i] = radius*cos(alpha)+x0;
    y[i] = radius*sin(alpha)+y0;
}

使用(x0,y0)原点的坐标。