2010-11-04 42 views
1

Comment calculer l'arc entre deux cercles? L'arc doit être tangent aux deux points sur les cercles.Calcul d'un arc tangent entre deux points sur deux cercles

Voici une image l'illustrant. J'essaie de coder et de calculer l'arc orange et l'arc bleu.

alt text

plus de détails:

Votre applet doit avoir 2 modes: 2D et 3D. L'utilisateur devrait pouvoir basculer entre eux en appuyant sur la barre d'espace. En mode 2D, l'utilisateur peut modifier la position de quatre points de contrôle A, B, C et D et devrait voir 4 arcs de cercle définis par ces points comme suit. L'arc rouge se trouve sur un cercle de centre A et de rayon || AB ||. L'arc vert se trouve sur un cercle de centre C et de rayon || CD ||. L'arc orange se trouve sur un cercle de support qui est tangent au cercle de support de l'arc rouge en B et également tangent au cercle vert en un point E, que votre code doit calculer. Ce cercle de support ne doit pas séparer A et C (c'est-à-dire que A et C doivent être à la fois dans ce cercle ou hors de celui-ci). De même, l'arc bleu se trouve sur un cercle qui ne sépare pas A et C et qui est tangent au cercle de support de l'arc vert à D et est également tangent au cercle de support de l'arc rouge à un point F que votre programme doit calculer. L'arc rouge court dans le sens des aiguilles d'une montre de F à B. L'arc orange va de B à E. L'arc vert va de E à D. L'arc bleu va de D à F. Ces quatre arcs forment une frontière lisse d'une région S de l'avion. Notez que selon la position des points de contrôle, les arcs orange et bleu peuvent être concaves ou convexes. Dans la figure ci-dessous, l'arc bleu est concave. (photo ci-dessus)

+0

Quelles informations possédez-vous déjà? L'arc orange et l'arc bleu sont-ils eux-mêmes des parties de cercles? –

+1

Ceci est une question mathématique droite. Vous devriez le demander ici http://math.stackexchange.com/ –

+0

Les rayons des arcs bleus et orange sont-ils spécifiés comme faisant partie du problème? Si ce n'est pas le cas, il y a infiniment d'arcs possibles. –

Répondre

1

Il existe de nombreux "cercles tangents"!

alt text

+0

Savez-vous comment calculer G ou E? –

+0

@Russell oui, mais c'est ennuyeux géométrie analytique.En outre, cela semble être votre devoir ... –

+0

Les devoirs sont beaucoup plus élaborés, ce n'est que la première étape, mais je l'ai compris. –

0

D'une manière générale, vous ne pouvez pas. Dessinez des lignes droites à travers AB et CE, et étendez-les au point d'intersection. Appelez l'intersection M. Vous pouvez tracer un arc passant par B et E tangent aux cercles si et seulement si BM = EM.

+0

Voici plus de détails: –

+0

Votre applet devrait avoir 2 modes: 2D et 3D. L'utilisateur devrait pouvoir basculer entre eux en appuyant sur la barre d'espace. En mode 2D, l'utilisateur peut modifier la position de quatre points de contrôle A, B, C et D et devrait voir 4 arcs de cercle définis par ces points comme suit. L'arc rouge se trouve sur un cercle de centre A et de rayon || AB ||. L'arc vert se trouve sur un cercle de centre C et de rayon || CD ||. L'arc orange se trouve sur un cercle de support qui est tangent au cercle de support de l'arc rouge en B et également tangent au cercle vert en un point E, que votre code doit calculer. –

+0

Ce cercle de support ne doit pas séparer A et C (c'est-à-dire que A et C doivent être à la fois dans ce cercle ou hors de celui-ci). De même, l'arc bleu se trouve sur un cercle qui ne sépare pas A et C et qui est tangent au cercle de support de l'arc vert à D et est également tangent au cercle de support de l'arc rouge à un point F que votre programme doit calculer. L'arc rouge court dans le sens des aiguilles d'une montre de F à B. L'arc orange va de B à E. L'arc vert va de E à D. L'arc bleu va de D à F. Ces quatre arcs forment une frontière lisse d'une région S de l'avion. –

0

Soit G le centre du cercle de l'arc entre B et E et H du cercle de l'arc entre F et D.

Le point clé est que la ligne qui coupe un cercle est une ligne tangente si et seulement si elle est perpendiculaire au rayon au point d'intersection. Cela signifie que si vous avez deux cercles tangents, alors le point tangent et les centres des cercles sont colinéaires. Donc, cela signifie que le centre G est l'intersection de la ligne définie par B et A et la ligne définie par E et C. De même, le centre H est l'intersection de la ligne définie par A et F et la ligne défini par C et D.

Étant donné ces centres, vous pouvez déterminer les rayons des deux cercles juste à partir de la distance entre le centre et le point tangent. De là, vous pouvez utiliser des méthodes standard pour dessiner l'arc étant donné ses extrémités et le cercle dont il fait partie.