Intersection segment / cercle

Résolu
Lolo77VBA Messages postés 3 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 30 mars 2012 - 5 mai 2008 à 20:18
marinmarais Messages postés 104 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 16 juillet 2010 - 9 juin 2008 à 11:09
Bonjour

 Je recherche un algo permettant de connaître le ou les points d'intersections d'un segment défini par ces extrémités et d'un cercle définie par le coordonnés de son centre et son rayon. Segment X1,Y1 - X2,Y2   Cercle Cx,Cy,R. 







Merci a tous 

3 réponses

marinmarais Messages postés 104 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 16 juillet 2010 1
7 mai 2008 à 11:58
Salut,

Comme d'hab', je ne suis pas assez competent pour t'aider en programmation. Par contre, je peux te filer un petit coup de main en maths.
Tu cherches l'ensemble des points M (x,y) appartenant au cercle et au segment.

Si M(x,y) appartient au cercle, alors la distance du centre a ce point est R, autrement dit :
(x-cx)^2 + (y-cy)^2 = R^2

Si M appartient au segment AB, alors les vecteurs AM et AB sont colineaires et M entre A et B, c'est-a-dire :
Il existe un nombre k tel que 0 <= k <= 1 et    (x-xa) = k * (xb-xa)
                                                                      (y-ya) = k * (yb-xa)

Donc la solution a ton probleme est la resolution d'un systeme de 3 equations a 3 inconnues, k, x et y :
o   (x-cx)^2 + (y-cy)^2 = R^2
o   (x-xa) = k * (xb-xa)
o   (y-ya) = k * (yb-xa)
En toute rigueur, k est une inconnue. Simplement, sa valeur est sans importance, pourvu qu'il soit compris entre 0 et 1 (c'est-a-dire M pas seulement sur la droite (AB), mais uniquement dans le segment [AB]).

Pour resoudre ce systeme, et surtout pour trouver un algorithme permettant de le resoudre, il y a selon moi deux difficultes :
o   Le systeme n'est pas lineaire. La premiere equation fait intervenir des x^2 et y^2...
o   Ce systeme d'equation peut avoir deux, une ou pas de solutions...

Je n'ai malheureusement pas plus de temps a te consacrer...
J'espere neanmoins t'avoir aide...
Bon courage,

Tom.

Marin Marais
3
Lolo77VBA Messages postés 3 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 30 mars 2012
1 juin 2008 à 18:14
Merci Marin Marais

Solution presque réaliser encore un petit problème d'angle et de secteur angulaire.

Mais il semble aussi que j'ai un problème de redirection de mes mails ce qui explique le retard de mes remerciements

A+
0
marinmarais Messages postés 104 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 16 juillet 2010 1
9 juin 2008 à 11:09
Salut Lolo,

Content de t'avoir aide. C'est quoi ton souci de secteur angulaire ? Si c'est un probleme pour definir la partie du cercle dans laquelle se situe un angle, j'ai poste un truc qui pourrait s'averer utile :



http://www.vbfrance.com/infomsg_CALCULER-ARGUMENT-VB-NET_1149747.aspx#8



Par contre, par curiosite, je serais interesse par les methodes que tu as utilisees pour resoudre ce systeme.

A+,
Tom.




Marin Marais
0
Rejoignez-nous