Lolo77VBA
Messages postés3Date d'inscriptionlundi 5 mai 2008StatutMembreDernière intervention30 mars 2012
-
5 mai 2008 à 20:18
marinmarais
Messages postés104Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention16 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.
marinmarais
Messages postés104Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention16 juillet 20101 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,
marinmarais
Messages postés104Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention16 juillet 20101 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 :