Перемещение внутреннего круга по касательной к внешнему кругу - PullRequest
0 голосов
/ 15 января 2011

Если два круга пересекаются, как я могу перемещать внутренний круг вверх по оси Y, пока он не станет касаться внешнего круга

Ответы [ 2 ]

2 голосов
/ 15 января 2011

alt text

0 голосов
/ 15 января 2011

Если окружности имеют радиусы R1 и R2, предполагая R1 <= R2, то они будут касаться, когда расстояние между центрами D равно R2 - R1 или R2 + R1, в зависимости от того, хотите ли вы один внутри другой или нет. Если dx - это x-расстояние между центрами, тогда вам нужно

dy = sqrt( D * D - dx * dx )

Переместите один круг так, чтобы расстояние по оси y между центрами было dy. Обратите внимание, что если окружности не пересекаются, dy будет сложным, а sqrt может вызвать ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...