[Maths] C'est loin les cours du lycée...

C'est loin les cours du lycée... [Maths] - C#/.NET managed - Programmation

Marsh Posté le 14-04-2006 à 15:24:38    

Salut,
 
Imaginons que j'ai 3 points, A, B et C.
 
C'est quoi la formule pour retrouver le centre + rayon du cercle qui passe par ces 3 points ?
(à la limite, celle là, moyennant grosse concentration, je devrais y arriver :D)
 
Par contre, suivante, plus dure...
J'ai deux points A et B.
 
Une droite a qui passe respectivement par A.
C'est quoi la formule pour retrouver le centre + rayon du cercle qui passe par ces deux points de façon à ce que la droite a soit tangeante au cercle ?
(Hmmmm, en fait, en réfléchissant bien, ça doit être plus facile à trouver... Seul truc, je sais plus comment on fait des calculs sur des droites :ange:)

Reply

Marsh Posté le 14-04-2006 à 15:24:38   

Reply

Marsh Posté le 14-04-2006 à 15:33:02    

Hmpf...
 
Pour le 2 donc...
 
Perpendiculaire a' de a (ax + b) en X(Xa, Xb) :
 
a' = -1/a + Xb + Xa / a
 
Maintenant, reste à trouver le point Y qui est sur a' et à égale distance de A et B :sweat:
Vais pas dormir de la nuit moi :o
 
-- Edit : C'est l'intersection entre a' et l'"iso-machin ou medi-chais-plus-quoi" du segment [AB] :sweat: (chais plus comment on calcule une intersection moi :o)


Message édité par Arjuna le 14-04-2006 à 15:36:04
Reply

Marsh Posté le 14-04-2006 à 15:38:35    

Pour la 1:
http://www.maths.ac-aix-marseille. [...] l#concours
 
Donc en gros dans ton cas tu prends le milieu(disons D) d'un segment(disons AB),  et puis tu prends le milieu de CD et zouuu ( vu que tous les points ont le même poids)
 
edit: passe pas super bien les caractères mathématiques sur le forum :o donc je file le lien plutot!

Message cité 1 fois
Message édité par anapajari le 14-04-2006 à 15:41:17
Reply

Marsh Posté le 14-04-2006 à 17:51:36    

Arjuna a écrit :

Salut,
 
Imaginons que j'ai 3 points, A, B et C.
 
C'est quoi la formule pour retrouver le centre + rayon du cercle qui passe par ces 3 points ?
(à la limite, celle là, moyennant grosse concentration, je devrais y arriver :D)
 
Par contre, suivante, plus dure...
J'ai deux points A et B.
 
Une droite a qui passe respectivement par A.
C'est quoi la formule pour retrouver le centre + rayon du cercle qui passe par ces deux points de façon à ce que la droite a soit tangeante au cercle ?
(Hmmmm, en fait, en réfléchissant bien, ça doit être plus facile à trouver... Seul truc, je sais plus comment on fait des calculs sur des droites :ange:)


 
Soit A(x1, y1) B(x2, y2), C(x3, y3) les trois sommets de ton triangle.
 
Le centre du cercle circonscrit au triangle est l'isobarycentre de A, B et C.
Appelons-le O. Ses coordonnées sont :
 
x0 = (x1+x2+x3)/3
y0 = (y1+y2+y3)/3
 
PS : le raisonnement d'anapajari est faux. Pour contre exemple, considère un triangle rectangle ABC avec l'angle droit en A. Si tu prends le milieu de [AB] et que tu le nommes D, alors le point trouvé par sa méthode sera à l'intérieur du triangle rectangle. Or le centre du cercle circonscrit à un triangle rectangle est le milieu de l'hypothénuse.

Reply

Marsh Posté le 14-04-2006 à 19:00:20    


Citation :

le point G est appelé barycentre des points pondérés


chérie, ça te dirait que je te titille le barycentre ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 18-04-2006 à 10:09:19    

Salut :)
 
Merci pour ces réponses. En regardant bien, j'aurai pu chercher un peu plus ;)
 
Par contre, en réfléchissant à mon problème initial, je me suis rendu compte que mon problème n'étais pas vraiment ça...
 
Vous connaissez illustrator ?
 
En gros, je fais 2 points. Ca me fait une droite qui passe par ces deux points. Maintenant, j'attribue un vecteur à chacun de ces deux points. La ligne droite devient alors un arc de cercle passant par A et B, mais dont chacun des deux vecteurs sont les tangeantes à l'arc de cercle en  A et B.
Mais c'est pas tout... Si je change la longueur des vecteurs, alors l'arc de cercle se transforme en représentation d'une formule polynomiale.
 
En fait, c'est ça que je veux faire... Là je crois que niveau maths, je suis franchement largé. Je sais même pas faire une droite qui revient sur ses pas :o (ça doit être de la forme y²=...) Sauf qu'après, trouver la formule qui "passe" par mes points... je crois que je vais tout simplement laisser tomber pour le moment :/

Message cité 1 fois
Message édité par Arjuna le 18-04-2006 à 10:12:16
Reply

Marsh Posté le 18-04-2006 à 10:16:55    

ceyquem a écrit :

PS : le raisonnement d'anapajari est faux. Pour contre exemple, considère un triangle rectangle ABC avec l'angle droit en A. Si tu prends le milieu de [AB] et que tu le nommes D, alors le point trouvé par sa méthode sera à l'intérieur du triangle rectangle. Or le centre du cercle circonscrit à un triangle rectangle est le milieu de l'hypothénuse.


Tout a fait exact,  :jap: , j'ai voulu raccourcir ( a tort), mais ce que je voulais dire c'était:
Le centre du certe circonscrit à un triangle se trouve à l'intersection des projections orhtonormales de chacun de ses cotés
 

Arjuna a écrit :

En gros, je fais 2 points. Ca me fait une droite qui passe par ces deux points. Maintenant, j'attribue un vecteur à chacun de ces deux points. La ligne droite devient alors un arc de cercle passant par A et B, mais dont chacun des deux vecteurs sont les tangeantes à l'arc de cercle en  A et B.
Mais c'est pas tout... Si je change la longueur des vecteurs, alors l'arc de cercle se transforme en représentation d'une formule polynomiale.
 
En fait, c'est ça que je veux faire... Là je crois que niveau maths, je suis franchement largé. Je sais même pas faire une droite qui revient sur ses pas :o (ça doit être de la forme y²=...) Sauf qu'après, trouver la formule qui "passe" par mes points... je crois que je vais tout simplement laisser tomber pour le moment :/


ça s'appele "Coubre de béziers" ce dont tu parles, et effectivement niveau mathématique c'est à peine plus loin que le bary(white)centre.
Tu peux trouver une bonne introduction sur wikipedia: http://fr.wikipedia.org/wiki/Courbe_de_B%C3%A9zier
 

Reply

Marsh Posté le 18-04-2006 à 10:19:19    

En fait, c'est ça que je veux faire :
http://www.bci-logs.fr/medias/arc.gif
 
Les carrés sont les points A et B
Les segments délimités par des ronds sont les vecteurs en questions (vecteurs à double sens, chacun des deux sens pouvant être de longueur différente, impactant donc la forme de la courbe tangeante au vecteurs du côté du demi-vecteur... c vachement clair...)
Et donc voilà quoi... Ce truc ressemble à tout sauf à un arc de cercle, et pourtant y'a que deux points...

Reply

Marsh Posté le 18-04-2006 à 10:20:22    

anapajari a écrit :

ça s'appele "Coubre de béziers" ce dont tu parles, et effectivement niveau mathématique c'est à peine plus loin que le bary(white)centre.
Tu peux trouver une bonne introduction sur wikipedia: http://fr.wikipedia.org/wiki/Courbe_de_B%C3%A9zier


ha ben oui... courbes de béziers... c pourtant facile à retenir :o
bon, vais tenter de comprendre la première ligne :ange:

Reply

Marsh Posté le 18-04-2006 à 10:23:28    

Hmmmm. Finalement, je suis pas sûr que ce soit du Bézier mon truc... Parceque moi je passe par tous les points, alors que Béziers fait une courbe lissée qui passent seulement du point P0 au point Pn, sans passer par les autres...
 
A moins que les "vecteurs" soient des points (là où y'a les ronds), et que la courbe en question soit une série de mini-courbes de Bézier, mais j'en doute.
 
Quoique si...
http://fr.wikipedia.org/wiki/Image:Bezier.png
 
Et les points P1 et P2 sont en effet les extrémtées de mes deux vecteurs.


Message édité par Arjuna le 18-04-2006 à 10:27:25
Reply

Marsh Posté le 18-04-2006 à 10:23:28   

Reply

Marsh Posté le 19-04-2006 à 14:28:54    

Bon, je suis un gros nigaud.
 
En C#, y'a "DrawBezier()" dans l'objet "Graphics" de C# :D
 
Quoique non... Mardoum, ça va pas suffir... Je dois mesurer la longueur de la courbe... Et aussi déplacer un truc le long de cette dernière :sweat:
 
Bon, encore un projet mort-né tiens :whistle:


Message édité par Arjuna le 19-04-2006 à 14:29:16
Reply

Marsh Posté le 24-04-2006 à 01:36:07    

http://www.faqs.org/faqs/graphics/algorithms-faq/
 
Y te reste toujours la methode oldschool.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed