Bonsoir,
Je suis entrain de faire un petit algo et
j'ai besoin de savoir détecter un point à l'intérieur d'une forme.
C'est à dire que pour un espace de dimension 2, je dois savoir si un point est dans un triangle.
Pour une dimension 3 , savoir si le point est dans un tétraèdre...
Pareil pour une dimension n.
En cherchant un peu sur internet, j'ai trouvé un sujet qui traite de coordonnées barycentriques pour faire ça.
Mais je ne comprend pas grand chose à cela. Je voulais donc savoir si quelqu'un peut me l'expliquer avec un exemple concret (ou une autre méthode). Et savoir si il existe une formule générique pour le savoir.
Merci d'avance pour votre aide.
Oui, pour que le point soit à l'intérieur du triangle, il faut que les 3 coordonnées barycentriques du point soient positives.
Et c'est généralisable à n dimensions. Reste à calculer ces coordonnées barycentriques. Dans le plan ce sont 3 scalaires tels que (avec a+b+c
0) on peut poser a+b+c=1 et donc il suffit de résoudre le système pour trouver a;b;c.
Bonjour,
C'est problème classique en CAO-DAO.
La difficulté consiste dans le fait que la "forme" que j'appelle généralement zone, peut avoir toutes les formes possibles, peut contenir des enclaves etc.
La méthode que j'utilise est de trouver le côté du polygone définissant la zone, le plus près du point. Et ensuite, tester si le point est à gauche ou à droite de ce segment, sachant que les zones sont toujours décrites dans un sens conventionnel.
Il n'est pas impératif que les contours des zones soit constitués uniquement de segments de droite, mais sinon, ça complique encore le problème.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :