从给定点获取N个随机等距点
Get N random equidistant points from a given point
我需要一个可以让我找到 n 个随机点的函数。这些点与给定点的距离必须相同。你能帮帮我吗?
void createCpoints()
{
int xcenter=3;
int ycenter=3;
int radius=3;
double x[N];
double y[N];
//...
}
只需生成 N 个角,然后使用
从那里计算 (x,y) 坐标
x1 = xCenter + r * cos(theta1)
y1 = yCenter + r * sin(theta1)
(注意:这不是现成的 C++ 代码。如果您需要语言方面的帮助,则需要更具体。)
如@5gon12eder 所说,您可以使用极坐标,初始点为 virtual 中点:
#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)
原点坐标
我需要一个可以让我找到 n 个随机点的函数。这些点与给定点的距离必须相同。你能帮帮我吗?
void createCpoints()
{
int xcenter=3;
int ycenter=3;
int radius=3;
double x[N];
double y[N];
//...
}
只需生成 N 个角,然后使用
从那里计算 (x,y) 坐标x1 = xCenter + r * cos(theta1)
y1 = yCenter + r * sin(theta1)
(注意:这不是现成的 C++ 代码。如果您需要语言方面的帮助,则需要更具体。)
如@5gon12eder 所说,您可以使用极坐标,初始点为 virtual 中点:
#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)
原点坐标