Aide - Recherche - Membres - Calendrier
Version complète : petit algo ??
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS
blueberry
bonjour,

j'ai une figure géométrique dont je connais les coordonnées des sommets
Comment savoir si un point (x,y) est à l'interieur de cette figure ?
connaissez vous un algo ?

merci
Patrice
Je n'ai pas ça sous la main mais ça existe plus ou moins :? Le principe (si je me souviens bien) consiste à partir d'un point dont tu sais qu'il est à l'intérieur de la figure et de compter le nombre de "bords" que tu traverses en traçant une ligne vers le point qui t'intéresse. Si le nombre est pair ou nul, le point est à l'intérieur de la figure, s'il est impair, il est à l'extérieur. Cela fonctionne aussi avec des figures concaves (c'est ce qui le rend très utile).

L'inconvénient (pour toi), est de déterminer les "bords" à partir des sommets (c'est à dire les segments joignant les sommets). Il vaudrait mieux chercher une autre solution icon_bla.gif
snark
Tu peux peut-être t'inspirer du code source de FastGEO?
CITATION
...
Point in/on triangle detection  
Point in/on rectangle detection  
Point in/on circle detection  
Point in/on quadix detection  
Point in/on sphere detection  
Point in/on convexconcave (non-complex) polygon region detection  
...
blueberry
merci à vous deux !
en effet, en lisant le pascal de cette bibliotheque on retrouve l'idée de Patrice.
Pour calculer l'intersection de deux segments, il suffit de tester les signes de quelques produits vectoriels - cela se fait bien quand on connait les coordonnées du polygone - rangés dans l'ordre (ce qui est mon cas).

icon_lol2.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.