Показать сообщение отдельно
  #2  
Старый 14.12.2011, 22:31
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,105
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Сохранять координаты центров кругов в массиве и при создании нового круга проверять, что расстояние от его центра до центра любого уже нарисованного составляет не менее (2*R + D) по обеим координатам, где R - радиус отрисовки круга, D - поправочный коэф. для того, что бы круги не касалист друг друга (т.е. минимальная длинна линии между кругами).

ЗЫ. Кстати, рекомендую сначала рисовать линии (связи), а уже сверху них рисовать круги (вершины), что бы на заморачиваться с вычислением координат начала/конца линий на границах кругов
Ответить с цитированием