Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?

Многоугольники

TL;DR

Реализуйте функцию intersect, которая принимает на вход два многоугольника и возвращает массив многоугольников - их пересечение, либо пустой массив, если многоугольники не пересекаются.

Детали реализации

  • Использовать сторонние библиотеки запрещено. Решение должно быть выполненно на чистом JavaScript
  • Многоугольник задается в виде массива объектов, каждый из которых содержит поля x и y - координаты точки, входящей в многоугольник
  • Вы можете предполагать, что многоугольники на входе корректны, содержат от 3 до 100 вершин, координата каждой вершины находится в диапазоне от [0, 0] до [400, 400]
  • Касание многоугольников не считается пересечением
  • Если площадь одного из многоугольников пересечения менее 0.0001 - такой многоугольник должен быть исключен из массива результатов
  • Ваш репозиторий с решением должен содержать файл solution.js, который размещает в глобальной области видимости функцию intersect. Вы можете взять за основу шаблон проекта, который содержит вспомогательные функции для визуализации Вашего результата
  • Наличие unit-тестов будет плюсом
@Kotuhan

This comment has been minimized.

Copy link

Kotuhan commented Apr 5, 2016

Уточните, пожалуйста, что имеется ввиду в предложении "Вы можете предполагать, что многоугольники на входе корректны" под словом "корректны"?

@termosa

This comment has been minimized.

Copy link

termosa commented Apr 7, 2016

@Kotuhan думаю, имеется ввиду что все переданные значения будут валидны: не нужно проверять переданы ли в функцию позиция вершины или имя актрисы.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.