Intersection segment / cercle [Résolu]

Messages postés
3
Date d'inscription
lundi 5 mai 2008
Dernière intervention
30 mars 2012
- 5 mai 2008 à 20:18 - Dernière réponse :
Messages postés
106
Date d'inscription
lundi 11 avril 2005
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 
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
106
Date d'inscription
lundi 11 avril 2005
Dernière intervention
16 juillet 2010
- 7 mai 2008 à 11:58
3
Merci
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

Merci marinmarais 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de marinmarais
Messages postés
3
Date d'inscription
lundi 5 mai 2008
Dernière intervention
30 mars 2012
- 1 juin 2008 à 18:14
0
Merci
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+
Commenter la réponse de Lolo77VBA
Messages postés
106
Date d'inscription
lundi 11 avril 2005
Dernière intervention
16 juillet 2010
- 9 juin 2008 à 11:09
0
Merci
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
Commenter la réponse de marinmarais

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.