Question courte: Étant donné un point P et un segment de droite L, comment trouver le ou les points sur L qui sont exactement à la distance X de P, s'il est garanti qu'il existe un tel point?Faire pivoter un cercle autour d'un autre cercle
Le moyen le plus long de poser cette question est avec une image. Étant donné deux cercles, un statique et un dynamique, si vous déplacez le dynamique vers le statique en ligne droite, il est assez facile de déterminer le point de contact (voir 1, le point vert).
Maintenant, si vous déplacez le cercle dynamique vers le cercle statique en formant un angle, la détermination du point de contact est beaucoup plus difficile (voir 2, le point violet). Cette partie que j'ai déjà fait. Ce que je veux faire est, après avoir déterminé le point de contact, diminuer l'angle et déterminer le nouveau point de contact (voir 3, 4, le point rouge). En # 4, vous pouvez voir que l'angle est diminué de moitié et que le nouveau point de contact est à mi-chemin entre le point de ligne droite et le point d'origine. Au n ° 7, vous pouvez voir que l'angle est divisé en deux, mais le nouveau point de contact se déplace beaucoup plus loin qu'à mi-chemin vers le point de ligne droite.
Dans mon cas, je veux toujours diminuer l'angle à 5/6ths sa valeur d'origine, mais l'angle et la distance d'origine entre les cercles sont variables. Les cercles sont tous du même rayon. Les données dont j'ai besoin après avoir diminué l'angle sont le vecteur entre le nouveau centre du cercle dynamique et le cercle statique, c'est-à-dire la ligne bleue en 3, 4, 6 et 7, si cela facilite le calcul. Jusqu'ici, je sais que je dois déplacer le cercle dynamique le long de la ligne dont le cercle violet est le centre, vers le centre du cercle statique. Ensuite, le cercle doit se déplacer directement vers la position d'origine du cercle dynamique. Le plus difficile est de savoir exactement à quelle distance il doit se déplacer pour toucher l'autre cercle. Dessinez un cercle avec le même centre que le cercle stationnaire et le rayon de la somme des deux rayons.
Cela appartient sur les mathématiques StackExchange: http://math.stackexchange.com/ –
Je suppose que je pourrais dire que c'est quelque chose que je J'essaie de faire en Java si cela fait une différence. –