Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++ Builder]Не пересекающиеся окружности


Автор: BOB4uK 10.2.2010, 19:17
Всем привет! 
Есть две точки (заданы координатами X и Y), и есть два радиуса (для каждой точки), я нахожу точки пересечения двух окружностей обусловленных этими точками и радиусами (два центра и два радиуса).
Вот только бывают ситуации когда эти две окружности не пересекаются, а виной всему небольшая разница в радиусах 1-3мм, в моем случае это не критично и рисуя на листочке (циркулем) я могу поставить усредненную точку пересечения в минимальном разрыве этих окружностей (где дельта разрыва не превышает 3мм)!

ВОПРОС: Как мне программно выполнить такую проверку и найти точку в которой минимальный разрыв? 

Вот визуальный пример:
<a href='http://www.4picture.ru/look-image.php?id=a5e449b4058bdc6dfe254793977383cd'> <img src='http://www.4picture.ru/thumbnails/fdaa02eb1439120693b7ceed253aaef7.bmp' alt='Image Hosting' border='0'> </a>

Автор: A5uKa 11.2.2010, 00:03
элементарно проверяй расстояние между цетрами и суммой радиусов и там где она от 0 до трёх мм там и твоя точка, 
Конкретнее - посередине между границ радиусов и на линии соединяющей точки.

Логика кончилась smile Дальше математика.

Автор: BOB4uK 16.2.2010, 18:15
Супер так и сделал работает на ура! Спасибо! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)