La communauté ALL HTML c'est 58004 membres à ce jour dont 1 inscrits aujourd'hui et 29 depuis une semaine.

  • imprimer
  • aide

Forum de discussions « Modélisation - Algorithmique »

Retrouvez les publications relatives à ces discussions dans notre rubrique algorithmique et méthodes.

Savoir si 2 segments sont sécants ou non

liste des forums liste des discussions Participer à la discussion

Photo de atmaweapon Message publié le mercredi 19 avril 2006 à 00 h 38 par atmaweapon. Atma
Salut à tous !

Je suis actuellement à la recherche d'un algo permettant de savoir si 2 segments (représentés tous deux par 2 points avec une coordonnée (x,y)) sont sécants (se croisent) ou non.

J'aimerais également une solution "optimisée" (avec le moins d'opérations possible)

Merci d'avance :)
Fred
Photo de vikingforce Message publié le mercredi 19 avril 2006 à 09 h 27 par vikingforce. Le point de vue le plus simple est toujours le meilleur.[Charlie Chaplin]
bonjour a toi.....


demander comme ça, tu n'auras pas beaucoup de réponses, j'en ai bien peur.......
Est-ce un système que tu dois développer ou tu recherche juste un script tout fait ??

Ne le prend pas mal, mais le principe d'un forum c'est d'aider a réaliser et ce n'est pas une banque de données à script personnalisé....

La seule chance que tu puisse avoir, c'est qu'une autre personne ai déjà réalisé un script semblable a celui que tu recherche et qu'il mette sa source ici,

Si jamais tu veux développer la source........n'hésite pas a demander, mais personnellement, je n'ai pas d'exemple tout fait a te proposer et je n'ai pas le temps d'en créer un sur demande......surtout que je ne sais pas a quoi ca va te servir....alors que ça peux jouer dans la programmation du système..
Photo de toutoufff Message publié le mercredi 19 avril 2006 à 13 h 29 par toutoufff. http://avionsdeligne.free.fr
avec tes deux points, tu dois calculer l'équation de droite des segments
puis voir pour quelles valeurs les coordonnées des points vérifient l'égalité des deux équation des segments.

une fois que tu as le point, il faut que tu t'assures qu'il appartient aux deux segments. Hé oui, les segments sont délimités et peuvent ne pas s'intercepter.

Bonne programmation

++
Photo de gre Message publié le mercredi 19 avril 2006 à 22 h 21 par gre. Attention : ce que je dis ne marche pas toujours !!!
J'ai la flemme d'écrire un vrai code, en plus je ne sais pas en quel langage tu le veux mais le principe (tes segments sont définis par (a,b),(c,d) et (e,f),(g,h)) :
- tu regardes si les droites sont parallèles <=> (a-c)(f-h)=(e-g)(b-d)
- sinon tu calcules leur intersection : l'équation de ta première droite est (y-a)*(d-b)=(x-b)*(c-a), pareil pour la deuxième et tu résous l'équation (à la main, tu tapes la solution sirectement dans ton programme !).
- tu regardes si l'intersection appartient aux 2 segments : (pour le premier) si on note (x0,y0) les coordonnées de l'intersection, (x0,y0) appartient au segment <=> min(a,c)<=x0<=max(a,c) et min(b,d)<=y0<=max(b,d).

Voilà il te reste plus qu'à programmer ça, ça devrait pas être bien compliqué !

Rq : pour le min(a,c)<=x0 (et les autres...) tu peux dire {a<=x0 ou c<=x0}

liste des forums liste des discussions Participer à la discussion

Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.

ACCÉS COMMUNAUTÉ

Rejoignez ALL HTML

Publiez vos articles, actualités, communiqués ... Donnez votre avis, partagez votre réseau, rencontrez d'autres membres et participez à la vie de la communauté.

Les 5 dernières discussions