3
x軸と曲線y = sin(x)+2(例えば)の間に50のランダムな点を選びたいと思います。ランダムな点をこの2D領域に均一に広げたいと思っています。C++の曲線下の2Dランダム点
using namespace std;
double randnum (double aa, double bb) //defining a function to create random numbers
{
static std::default_random_engine generator;
std::uniform_real_distribution<double> distribution (aa,bb);
return distribution(generator);
}
for(int i = 0; i < 50; i++)
{
x[i] = randnum(0,2 * M_PIl);
y[i] = randnum(0,sin(x[i])+2);
}
をしかし、それは曲線がx軸に近い地域で密度の高いポイントを与えるので、それは正しくありません:私はこのようでした。ドメイン内で等密度のポイントを選択するにはどうすればよいですか?
一様に広がるのはどういう意味ですか?その後、彼らはもうランダムではありません! – farbiondriven
私は曲線がx_axisに近い領域では、必要な点数が少なくて済むことを意味します。私は意味がありますか? @farbiondriven –
@ farbiondriven私は彼が一様にサンプリングされたことを意味すると思います。ある点のある点の確率はその領域の面積に比例します – WorldSEnder