Fonctionnement de l'outil Créer des points aléatoires

Créer des points aléatoires permet d'insérer de façon aléatoire un nombre précis de points au sein d'une fenêtre de cadrage ou à l'intérieur des entités d'une classe surfacique, d'entités linéaires ou d'entités points.

La première étape du traitement consiste à créer un flux de nombres aléatoires à partir d'un générateur de nombres aléatoires et d'une valeur de configuration. Lors de la génération de points aléatoires dans une étendue spécifiée, une valeur aléatoire sur l'axe des x et une autre sur l'axe des y de l'étendue sont identifiées, lesquelles deviennent les coordonnées x et y d'un point. Pour sélectionner de façon aléatoire le point sur l'axe des x, la prochaine valeur inutilisée du flux de nombres aléatoires est sélectionnée puis transformée en une répartition uniforme de type Minimum et Maximum représentant les valeurs minimales et maximales de l'étendue x. La même méthode est appliquée à l'axe des y. Les deux valeurs identifient le premier point aléatoire. Ce processus se répète jusqu'à ce que le nombre spécifié de points soit atteint.

Pour placer de façon aléatoire le nombre spécifié de points dans chaque polygone, les polygones sont fractionnés par triangles de différentes tailles à l'aide d'un algorithme de fractionnement de polygone standard. Ces triangles occupent la totalité de la surface de chaque polygone. Pour placer le premier point dans le premier polygone, l'un des triangles du polygone global est sélectionné de façon aléatoire. La probabilité de sélectionner un triangle particulier dépend de sa taille. Plus le triangle est grand, plus la probabilité que le triangle sera sélectionné est grande. Les côtés du triangle deviennent les deux axes à partir desquels le point aléatoire sera placé. Comme avec l'option d'étendue, la prochaine valeur inutilisée est extraite du flux de nombres aléatoires, transformée en répartition uniforme en utilisant le début de l'axe et l'extrémité du côté du triangle comme valeurs minimale et maximale. Une valeur est sélectionnée de façon aléatoire sur l'axe. La même opération est appliquée à l'autre axe ou côté du triangle. Ces deux valeurs aléatoires sont utilisées pour placer un point. Le point sera situé dans un parallélogramme créé par les deux axes du triangle. Si le point figure dans le troisième côté définissant le triangle, il est sélectionné. Si le point figure à l'extérieur du triangle, il est situé dans l'autre moitié du parallélogramme. Cette moitié du parallélogramme étant une image miroir du triangle de définition (miroir du troisième côté), le point est reflété dans le triangle de définition. Ce processus se répète jusqu'à ce que le nombre spécifié de points soit placé dans le polygone, pour chaque polygone.