Определение «среднего» может быть неоднозначным и дает вам различные решения. Если для вас это не имеет большого значения, поскольку вы просто хотите усреднить форму любым способом, ниже приведено простое решение, как усреднить два прямоугольника:
Обозначим два прямоугольника (a1, a2, a3, a4)
и (b1, b2, b3, b4)
. Допустим, мы хотим найти прямоугольник (x1, x2, x3, x4)
минимизировать
sum |xi - ai|^2 + sum |xi - bi|^2">
Прямоугольник параметризован как
x_i = R q_i + c">
, где R
- это матрица вращения 2D, а q_i
- это одна из с w
и h
неизвестным размером прямоугольника. p
- неизвестный центр прямоугольника.
Общая формулировка формирует задачу квадратичного программирования с неизвестными w, h, R, p
и квадратичными ограничениями R
- матрица вращения.