Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Проектирование мат. блоков |
Автор: welt 13.6.2007, 22:50 |
Создал такую же тему в подфоруме "Делфи", но ответов маловато. Думаю на с++ народа больше пишет. Итак: У меня есть, допустим, два (хотя их может быть больше) элемента- прямоугоьника, у каждого из них есть какое-то число контактов (окружностей)... мне нужно сделать так, чтобы щелкнув на один контакт 1-го прямоугольника и на другой контакт второго, они соединились линией... но может получиться что линия пересечет прямоугольник.. можете подсказать алгоритм? (кажется метод ветвей и границ). Это что-то наподобие соединения блоков в программе Vissim или HiAsm.. Кое что набросал. файл прилагается. P.S. в моей программе кнопка "Q" - включение режима рисования блоков. Для рисования надо на форме "растянуть прямоугольник" наподобие того как в винде выделяем несколько файлов. режим "W"- режим выбора контакта. режим рисования отключен. Пока что можно выбрать контакт только у последнего нарисованного блока. |