生成用于形成二维随机点的随机数对

generating random number pairs for forming 2 dimensional random point

本文关键字:随机 随机数 二维 用于      更新时间:2023-10-16

我试图理解一个愚蠢的句子:

"这个函数将执行一个单独的实验。它将生成npoints随机有理数对(x,y)形成npoints随机二维点。这些点的x和y坐标应保持在间隔中[-r,r]"

因此,在这个函数中,npoints是整数,值为1000,可以是不同的值。函数得到数字a和b,次数thera1和theta2,以及r,即r(θ) = ae^bθ。那么,有人能解释一下吗,这个函数到底要做什么?

PS。它实际上并不是bug,问题是我不能理解它可能是因为我的英语不太好,很抱歉,但它不适用于英语网站,因为它的代码是:)

我的解释如下:

"此函数将执行单个实验。它将生成npoints随机有理数对(x,y),

您需要生成随机的x/y坐标对。"有理"只是指数字可以写成两个整数的商(所以e和PI是out的)。

以形成npoints随机二维点。

你最终应该得到"npoints"。

这些点的x和y坐标应保持在区间[-r,r]"

因此,您需要将所有点保持在0的"r"距离内。换句话说,任何点的x或y坐标都不会小于-r或大于r。在函数形式中,这看起来像:

/* The point structure */
struct POINT {
   int x;
   int y;
};
/* npoints    -- The number of points to generate */
/* range      -- The maximum (positive/negative) value for the points */
POINT *GetRandomCoordinates(int npoints, int range);

希望能有所帮助!