Я работаю над проблемой, которая требует от меня расчета площади перекрытия двух квадратов.
Это часть программы, которая размещает повернутый детектор, состоящий из нескольких квадратных ячеек / пикселей (массива), на верхней части входной карты, состоящей из нескольких (меньших) квадратных пикселей, и определяет процент света от каждого входного пикселя, обнаруженного детектором. пиксели.
Я пробовал геометрический подход, но есть так много возможных вариантов для учета.
Один квадрат можно повернуть на произвольный угол по сравнению с другим, и оба квадрата могут иметь разные размеры. Указанные параметры - это координаты центра пикселей детектора на входной карте, размер пикселей детектора (по умолчанию размер входных пикселей равен 1) и угол поворота.
Редактировать: добавлен эскиз для уточнения
Sketch
Итак, я пытаюсь вычислить часть каждого входного пикселя (черные квадраты), который находится в данном пикселе детектора (красный квадрат), который может быть где угодно между 0 и 1.
Затем его можно умножить на значение входного пикселя и суммировать по всем входным пикселям, чтобы рассчитать общий свет, собранный пикселем детектора.
Геометрический подход, который я пытался использовать, заключался в расчете наклона краев пикселей детектора и использовании пересечения с краями входного пикселя для расчета полного перекрытия.