Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Проектирование мат. блоков


Автор: welt 13.6.2007, 22:50
Создал такую же тему в подфоруме "Делфи", но ответов маловато. Думаю на с++ народа больше пишет. 
Итак:

У меня есть, допустим, два (хотя их может быть больше) элемента- прямоугоьника, у каждого из них есть какое-то число контактов (окружностей)... мне нужно сделать так, чтобы щелкнув на один контакт 1-го прямоугольника и на другой контакт второго, они соединились линией...
но может получиться что линия пересечет прямоугольник..
можете подсказать алгоритм? (кажется метод ветвей и границ).
Это что-то наподобие соединения блоков в программе Vissim или HiAsm..
Кое что набросал.  файл прилагается.

P.S. в моей программе кнопка "Q" - включение режима рисования блоков. Для рисования надо на форме "растянуть прямоугольник" наподобие того как в винде выделяем несколько файлов.
режим "W"- режим выбора контакта. режим рисования отключен. Пока что можно выбрать контакт только у последнего нарисованного блока. 

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