Tout cela n'apporte pas de réponses aux questions que je posais.
1-
Une intersection "infinie" ce sont deux droites paralelleles qui partagent plusieurs points en commun. Ceci n'implique pas grand chose, juste necessaire pour le calcul des segments en contact, vue que deux segments peuvent etre porter par la mème droite et n'avoir aucun point en commun.
Il y a alors potentiellement une infinité de points d'intersections. Il faut quand même savoir comment traiter cette situation et cela dépend de l'exploitation que l'on veut faire ultérieurement de cette base de données de segments. Or tu n'as pas explicité ce point de façon claire.
Je vois a priori 2 possibilités qui dépendent du traitement des données à réaliser sur ces segments
a- Il faut considérer qu'on peut avoir un point d'intersection ou une infinité.
Si les deux segments [AB] et [CD], sont portés par la même droite et se chevauchent, on peut coder cette situation par deux points "d'intersections". Symboliquement, (en décalant d'une ligne les deux segments pour la clarté)
C-----D
A---------------B 2 "intersections" entre [AB] et [CD] : C et D
C-------------D
A---------------B 2 "intersections" entre [AB] et [CD] : C et B
On pourrait avoir alors 1 ou 2 points d'intersections selon les segments (mais cela ne dit pas ce qu'il faut faire par la suite de cette information).
b- On peut fusionner des segments : C-----D
A---------------B équivalent A----------B
C----------D
A---------------B équivalent A----------D
Dans ce cas, on aura toujours au final 1 seul point d'intersection entre segments effectifs (mais ceci va altérer la manière de coder les segments puisqu'il y a possibilité de suppression d'un segment : dans l'exemple, il faut retrouver [AB] si on supprime [CD] et [CD] si on supprime [AB]).
2-
Pour le numero de segments en contact, cela signifie que les trois segments peuvent avoir un point en commun, ou qu'il y en a un qui soit en contact avec les deux autres, ou qu'ils soient tous en contact par 3 points ou plusieurs points(cas de segments confondus).
Est-ce que cela signifie que c'est une caractéristique de chaque segment indiquant le nombre de segments avec lesquels il a au moins 1 point d'intersection ?
3-
J'avais deja opté a la strutture graphe par des listes adjacences, mais je vois pas vraimment comment effectué des eliminations de segments avec cette strutture de donnée.
Il y a deux choses : (1) représenter l'ensemble des segments et pouvoir manipuler cette collection (ajouter, enlever des segments à la collection) puis (2) exploiter cet ensemble de données en déduisant éventuellement de cette collection une autre représentation des données plus adéquate au traitement à faire. Les deux représentations ne sont pas forcément identiques car les traitements à réaliser sont différents.
4- Tu n'as pas non plus répondu à la dernière question posée
Partager