Skip to content

MingDongYan/merge_polygons

Repository files navigation

mergepolygons

Задание:

Объединение полигонов Язык: C++

Можно нарисовать в окне приложения два полигона с произвольным количеством точек.
Можно отредактировать полигон – добавить или удалить точки.
Полигон должен быть без самопересечений. Программа должна обнаруживать такую ситуацию.
Программа должна находить объединение двух полигонов и рисовать его в окне приложения. Объединение полигонов должно само быть полигоном.
Полигоны и их объединение можно вывести на печать.
Есть возможность сохранять и загружать полигоны. В Базе данных и в файле на диске по выбору пользователя.

Описание работы программы:

Программа для определения объединения двух полигонов. Все операции в программе доступны из контекстного меню, которое вызывается кликом правой кнопки мыши. Для определения объединения двух полигонов необходимо их построить. Это можно сделать либо через пункт "Новый полигон"(Ctrl+N), выбор которого переведет программу в режим редактирования(добавления новых вершин), либо через пункт "Открыть", открывающий возможность загрузки полигона из файла или из базы данных. Добавление новых вершин в режиме редактирования осуществляется левым кликом мыши. Остальные операции, производимые над полигоном, доступны только при выделении конкретного полигона. Выделение полигона производится кликом мыши внутри полигона. Выделенный полигон отличается от других наличием отметок вершин. Добавить новые вершины уже построенному полигону можно кликом левой кнопки мыши по одной из сторон выделенного полигона. Пункт "Завершить редактирование" выводит программу из режима редактирования. Удаление вершины производится командой "Удалить вершину"(Del) при наведенном на нее курсоре. Удаление выделенного полигона - командой "Удалить полигон".

Функция "Показать объединение" становится доступной при наличии двух построенных полигонов. Объединение отображается в виде одного или нескольких полигонов. Эти полигоны отличаются черным контуром и отсутствием полупрозрачной заливки, характерной для исходных полигонов.

my-megepolygons

About

封装了多边形合并的算法

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages