Skip to content

neerex/Topomatic-Test-Task

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Задание

  1. Построение многоугольника, полученного пересечением двух исходных.
  2. Построение многоугольника, полученного объединением двух исходных.
  3. Определение площади произвольного многоугольника.

Билд

Билд приложения загружен на simmer.io https://simmer.io/@Ilya_Leontev/topomatic-test-task

Дополнения

Задания 1-2: Файл в проекте: PolygonClippingAlgorithm.cs

Задание 3: Использовалась формула площади Гаусса https://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D1%80%D0%BC%D1%83%D0%BB%D0%B0_%D0%BF%D0%BB%D0%BE%D1%89%D0%B0%D0%B4%D0%B8_%D0%93%D0%B0%D1%83%D1%81%D1%81%D0%B0 Файл в проекте: GeometryUtility.cs метод PolygonArea()

P.S.

  1. Алгоритм поддерживает Union и Intersection операции, но так же может считать и другие операции, такие как Difference, Xor, при дописании фильтра (пример в конце PolygonClippingAlgorithm.cs)
  2. Обрабатывает случаи с совпадающими сегментами (идеальное перекрытие, ребро на ребре, общие вершины, один внутри другого и т.д.)
  3. Касание вершины одного полгона о ребро или вершину другого полигона считается за пересечение
  4. Ввод вершин может быть как по часовой, так и против часовой стрелки
  5. При выборе опции Intersection, меньший полигон внутри большего полигона не является пересечением
  6. Для визуализации использован движок Unity

JtwZzpRQ44

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published