bulldog33 a écrit:Bonjour à tous,
Je suis plombier, je cherche à concevoir un outil pour m'aider à façonner le cuivre. Comme le titre de mon post l'indique je cherche à calculer la tangente commune a deux cercles dont j'ai les coordonnés X;Y ainsi que le diamètre de chacun.
Je suis pas très bon en math, si une âme charitable passe par là pour m'aider ce serait très sympa.
Merci !
PSEUDA a écrit:Bonjour,
Ce sont les coordonnées des centres des 2 cercles que tu as ? Dans ce cas, ce problème n'a une solution que si la distance entre ces 2 points est égale à la somme des rayons (soit les demi-diamètres) des 2 cercles.
mathelot a écrit:est ce que c'est:
(1) une droite tangente commune avec des points de tangence distincts
ou
(2) deux cercles tangents avec un unique point de tangence
bulldog33 a écrit:Il s'agit du (1) une droite tangente commune un points de tangence sur chaque cercle
http://www.ilemaths.net/img/forum_img/0405/forum_405110_1.jpg
PSEUDA a écrit:Ok, je n'avais pas compris. Dans ce cas, il faut appliquer le théorème de Thalès étant donné que (AM) est parallèle à (PB), toutes deux orthogonales à la tangente commune.
On a alors : OA / OB = OM / OP = AM / BP = 2/3.
Il faut donc prendre 2/5 sur (AB) en partant de A pour obtenir O, autrement dit diviser le segment [AB] en 5 et placer O à 2/5 de A : pour chaque coordonnée x et y : x0 = xa + 2/5 (xb-xa), idem pour y.
Puis pour obtenir M et P, il n'y a plus qu'à tracer les cercles de diamètres [OA] et [OB]. Ils coupent les 2 cercles en M et P (à noter qu'il y a 2 tangentes communes, la droite (AB) étant axe de symétrie de la figure).
Faut-il traduire ceci par des coordonnées ou par l'équation de la droite (MP) ?
MABYA a écrit:les coordonnées de M et P ou l'équation d M ?
Où places tu tes axes de repère ?
il serait plus facile d'avoir AB comme abscisse avec A pour origine.
bulldog33 a écrit:Bonsoir MABYA,
J'ai réalisé une petite image qui représente exactement mon cas de figure :
http://hpics.li/240f59e
Je dois trouver les coordonnées des points M et P.
Je précise que le rayon des cercles est connu et que A et B ont le même rayon.
PSEUDA a écrit:Bonjour bulldog33,
La formule des coordonnées de M et P en fonction de celles de A et B et du rayon R est assez compliquée, je vais essayer de la transcrire ici en TEX.
Comme les rayons des cercles sont égaux, on a O au milieu de [AB] :et
. R est le rayon des cercles, OA = (demi-distance AB) =
Tu en déduiset
. Pour P, les formules sont les mêmes, sauf qu'il faut les multiplier par un "-".
Voilà !
bulldog33 a écrit:PSEUDA je vous remercie infiniment, j'ai réussi grâce à votre aide et je tiens à vous remercier pour l'aide que vous m'avez apporté !!!!!
var FCA = new Object();
FCA.x = 400;
FCA.y = 300;
var FCB = new Object();
FCB.x = 625;
FCB.y = 200;
var o = new Object();
o.x = (FCA.x + FCB.x) / 2;
o.y = (FCA.y + FCB.y) / 2;
o.a = Math.sqrt( ((FCA.x - FCB.x) * (FCA.x - FCB.x)) + ((FCA.y - FCB.y) * (FCA.y - FCB.y))) / 2;
var tangente = new Array();
var x, y;
x = ((FCA.x - FCB.x) / 2) * (1 - ((rc * rc) / (o.a * o.a))) + ((FCA.y - FCB.y) / 2) * (rc / o.a) * Math.sqrt( 1 - ((rc * rc) / (o.a * o.a)));
y = ((FCA.x - FCB.x) / 2) * (rc / o.a) * Math.sqrt((1 - ((rc * rc) / (o.a * o.a)))) + ((FCA.y - FCB.y) / 2) * (1 - ((rc * rc) / (o.a * o.a)));
x += o.x;
y += o.y;
tangente[0] = new Object({x : x, y: y});
x = -(((FCA.x - FCB.x) / 2) * (1 - ((rc * rc) / (o.a * o.a))) + ((FCA.y - FCB.y) / 2) * (rc / o.a) * Math.sqrt( 1 - ((rc * rc) / (o.a * o.a))));
y = -(((FCA.x - FCB.x) / 2) * (rc / o.a) * Math.sqrt((1 - ((rc * rc) / (o.a * o.a)))) + ((FCA.y - FCB.y) / 2) * (1 - ((rc * rc) / (o.a * o.a))));
x += o.x;
y += o.y;
tangente[1] = new Object({x : x, y: y});
bulldog33 a écrit:Je me permet de revenir vers vous car je rencontre un soucis.
Lorsque les deux cercles se trouvent sur le meme Y pas de soucis ça fonctionne, par contre si ils sont décalés là ça ne fonctionne plus : http://hpics.li/3fdf0e3
Les points n'appartiennent plus aux cercles.
Ci dessous l'interprétation des formules en javascript.
- Code: Tout sélectionner
var FCA = new Object();
FCA.x = 400;
FCA.y = 300;
var FCB = new Object();
FCB.x = 625;
FCB.y = 200;
var o = new Object();
o.x = (FCA.x + FCB.x) / 2;
o.y = (FCA.y + FCB.y) / 2;
o.a = Math.sqrt( ((FCA.x - FCB.x) * (FCA.x - FCB.x)) + ((FCA.y - FCB.y) * (FCA.y - FCB.y))) / 2;
var tangente = new Array();
var x, y;
x = ((FCA.x - FCB.x) / 2) * (1 - ((rc * rc) / (o.a * o.a))) + ((FCA.y - FCB.y) / 2) * (rc / o.a) * Math.sqrt( 1 - ((rc * rc) / (o.a * o.a)));
[B] y = ((FCA.x - FCB.x) / 2) * (rc / o.a) [/B]* Math.sqrt((1 - ((rc * rc) / (o.a * o.a)))) + ((FCA.y - FCB.y) / 2) * (1 - ((rc * rc) / (o.a * o.a)));
x += o.x;
y += o.y;
tangente[0] = new Object({x : x, y: y});
x = -(((FCA.x - FCB.x) / 2) * (1 - ((rc * rc) / (o.a * o.a))) + ((FCA.y - FCB.y) / 2) * (rc / o.a) * Math.sqrt( 1 - ((rc * rc) / (o.a * o.a))));
y = -(((FCA.x - FCB.x) / 2) * (rc / o.a) * Math.sqrt((1 - ((rc * rc) / (o.a * o.a)))) + ((FCA.y - FCB.y) / 2) * (1 - ((rc * rc) / (o.a * o.a))));
x += o.x;
y += o.y;
tangente[1] = new Object({x : x, y: y});
PSEUDA a écrit:J'ai re-vérifié ma formule, elle me paraît correcte. Dans ta formule de y en Java, n'aurais-tu pas oublié le - qui suit le signe égal ?
Pour les points que tu indiques dans Java, j'obtiens :
Point M Point P
497,9157223 527,0842777
320,3103751 179,6896249
bulldog33 a écrit:Effectivement je suis désolé vous avez raison j'ai oublié le (-), tout fonctionne parfaitement à présent !
bulldog33 a écrit:Bonjour à tous,
Je suis plombier, je cherche à concevoir un outil pour m'aider à façonner le cuivre. Comme le titre de mon post l'indique je cherche à calculer la tangente commune a deux cercles dont j'ai les coordonnés X;Y ainsi que le diamètre de chacun.
Je suis pas très bon en math, si une âme charitable passe par là pour m'aider ce serait très sympa.
Merci !
PSEUDA a écrit:Bonjour bulldog33,
La formule des coordonnées de M et P en fonction de celles de A et B et du rayon R est assez compliquée, je vais essayer de la transcrire ici en TEX.
Comme les rayons des cercles sont égaux, on a O au milieu de [AB] :et
. R est le rayon des cercles, OA = (demi-distance AB) =
Tu en déduiset
. Pour P, les formules sont les mêmes, sauf qu'il faut les multiplier par un "-".
Voilà !
t.itou29 a écrit:Salut,
Juste par curiosité comment as-tu trouvé la formule ? J'ai retrouvé quelque chose de semblable en passant par les rotations mais c'est ça fait pas mal de calculs, il y a-t-il plus simple ?
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 77 invités
Tu pars déja ?
Identification
Pas encore inscrit ?
Ou identifiez-vous :