Как высчитать площадь у объекта? Помогите понять как решить рабочую задачу:
У меня есть прямоугольники(могут быть произвольные), у которых я знаю ширину, высоту и X/Y верхней левой точки. В эти прямоугольники программа вписывает прямоугольник(т.е. все заполнят) или эллипсы(при равной высоте и ширине круг) или треугольник. Я понимаю как найти площадь каждой из фигур, но как найти общую площадь которая исключает наложение сторон(т.е. если грани накладывались одна на одну - учитывать только одна )?
Единственный, пока вариант который придумал - создание массива размером 1 в 1 к реальным элементам, который как бы будет оцифровывать каждый из объектов. Но в таком варианте не могу понять, как правильно находить изгибающиеся точки, например, которые огибают круг.
Кто-то сталкивался с подобной задачей? Что можете посоветовать?

21 Авг 2019 в 06:16
182 +1
0
Ответы
1

Для решения данной задачи можно воспользоваться алгоритмом сканирующей строки.

Создайте массив, в котором каждый элемент будет представлять собой отрезок на оси Y. Этот массив будет содержать информацию о том, какие объекты попадают в данный отрезок.

Пройдитесь по всем объектам и отметьте соответствующие отрезки в массиве.

Пройдитесь по массиву и рассчитайте общую площадь, исключая пересечения.

Для нахождения изгибающихся точек можно использовать более сложные алгоритмы и методы, такие как растеризация, сегментное дерево или диаграмма Вороного, в зависимости от конкретных особенностей вашей задачи.

20 Апр в 13:21
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 948 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир