Je veux choisir 50 points aléatoires entre l'axe des x et la courbe y = sin (x) +2 (par exemple). Je veux que les points aléatoires soient répartis uniformément dans cette région 2D. Je l'ai fait comme ceci:2D points aléatoires sous une courbe en C++
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);
}
Mais ce n'est pas correct, car il donne des points plus denses dans les régions où la courbe est plus proche de l'axe des x. Comment puis-je choisir des points avec une densité égale dans le domaine? Ne pas presser le même nombre/la même probabilité de points sous les parties inférieures de la fonction
que voulez-vous dire uniformément? Alors ils ne sont plus aléatoires! – farbiondriven
Je veux dire dans les régions où la courbe est fermée à x_axis, j'ai besoin de moins de points. Ai-je un sens? @farbiondriven –
@farbiondriven Je pense qu'il signifie uniformément échantillonné où la probabilité d'un point étant dans une région est proportionnelle à la région de la région – WorldSEnder