Показать сообщение отдельно
Старый 26.10.2015, 11:34   #2 (permalink)
MagentaTiger
Специалист
 
Аватар для MagentaTiger
 
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
По умолчанию

Вам математику или именно блок схему (просто рисовать лень )
Математика же проста, надо в цикле от 1 до N
Проверить пересекается ли текущая в по номеру окружность со всеми остальными (для этого нужен естественно второй внутренний цикл)
пересечение проверяем следующим образом
Расстояние между центрами
R = ( x1 - x2 ) * ( x1 - x2 ) + ( y1 - y2 ) * ( y1 - y2 )
Пересекаются если
R <= ( r1 + r2 ) * ( r1 + r2 ) И
((r1 > r2 И R >= r1 - r2) ИЛИ (r1 <= r2 И R>=r2 - r1 ))
Если пересекаются то счетчик пересекающихся окружностей увеличиваем на 1
MagentaTiger вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070