Inscription / Connexion Nouveau Sujet
Niveau algorithmique
Partager :

Déterminer si un point est à l'interieur d'une 'forme'

Posté par
moman10
20-04-14 à 20:23

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.

Posté par
Glapion Moderateur
re : Déterminer si un point est à l'interieur d'une 'forme' 20-04-14 à 21:47

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 a\vec{MA}+b\vec{MB}+c\vec{MC}=\vec{0} (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.

Posté par Profil Dlzlogicre : Déterminer si un point est à l'interieur d'une 'forme' 21-04-14 à 13:13

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 :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !