Dessiner un arc sans connaitre le centre du cercle

JohnBug Messages postés 7 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 19 juillet 2011 - 6 août 2006 à 17:04
 Profil bloqué - 6 août 2006 à 22:06
Bonjour à tous,

   Je dois construire une appli dans laquelle l'usagé peut dessiner des tracés sur une feuille à partir de coordonnées entrées au clavier. Pour les lignes et rectangle ça va mais pour un arc les seules coordonnées dont je dispose sont le début et la fin de l'arc ainsi que le rayon. Les fonctions de dessins de VB6 et de l'API que je connais ont toutes besoin des coordonnées du centre du cercle.
Je sais qu'il est possible de calculer le centre à partir de deux points mais je suis pas très fort en géometrie. Quelqu'un connait-il une fonction qui ferait le travail ou la formule pour faire le calcul?

Merci!

JohnBug
A voir également:

5 réponses

Profil bloqué
6 août 2006 à 17:50
Je ne suis pas très fort en géométrie mais je vais te donner une piste

Tu as 2 points P1 et P2 qui représentent le début et la fin de ton arc
Relies les points P1 et P2 : tu as un segment de droite
Depuis P1 comme centre tu traces un cercle C1 de rayon R ( ton rayon)
depuis P2 comme centre tu traces un cercle C2 de rayon R également
Les cercles C1 et C2  se coupent en un point  qui est le centre nécessaire pour tracer ton arc de cercle
Les trois segment forment un triangle isocèle de bas P1-P2

GRENIER Alain[8D]
0
Profil bloqué
6 août 2006 à 18:17
Tu prends le point M qui est au milieu du segment P1-P2
tu traces une perpendiculaire au segment P1-P2 qui passes par M
ton centre que tu cherches est la pointe du triangle isocèle et la longueur du point M à la pointe du triangle est la hauteur du triangle isocèle
soit C le centre que l'on cherche
Les trois points C,M et P1 forment un triangle rectangle
Le carré de l'hypothénuse ets égale à la somme des carrés des 2 autres côtés
Soit P1-C l'hypothénuse et P1-M et M-C  les 2 autres côtés
On a    (P1-C)^2  =  (P1-M)^2   +  (M-C) ^2
donc (M-C) ^2 =  (P1-C)^2  - (P1-M)^2   :  hauteur^2 = hypothénuse ^2 - petitcoté ^2
ensuite tu fais la racine carrée pour trouver la longeur du segment hauteur M-C
tu n'as plus qu'à en déduire les coordonnées du centre que tu cherches

Fais le dessin : tu comprendras mieux

GRENIER Alain[8D]
0
Dolphin Boy Messages postés 630 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 17 février 2007
6 août 2006 à 18:43
Salut, tu as vu la fonction API arc() ?
Description ICI . pas besoin du centre dans ce cas.
0
JohnBug Messages postés 7 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 19 juillet 2011
6 août 2006 à 21:02
Bonjour Alain,


Je te remercie pour ton aide, j'étais rendu à peu près au même endroit dans mes calculs. Mon cauchemar commence quand je tente de déduire les coordonnées du centre à partir du triangle P1,M,C parce que son angle de rotation est inconnu. Si tu as d'autres suggestions elles seront très bienvenues.


Dolphin Boy,


Je sais que la fonction ''arc'' requiert les coins du rectangle mais pour les trouver il faut connaitre les coordonnées du centre. Ou connait tu une autre méthode?


Merci encore


JohnBug


 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Profil bloqué
6 août 2006 à 22:06
tu parles de l'angle de rotation du triangle rectangle P1,M,C .
tu connais la position de la base du triangle isocéle P1-P2
la hauteur du triangle isocèle est perpendiculaire à cette base ( très important)
Comme tu connais la longueur de la hauteur ( la distance M-C) tu peux en déduire la direction  que suit cette hauteur par rapport à la base ( c'est perpendiculaire)   et donc le point Centre que tu cherches

GRENIER Alain[8D]
0
Rejoignez-nous