Вычислить размер ограничивающего прямоугольника повернутой произвольной фигуры, не прямоугольника
Никак не могу найти формулу для такого расчета.
Есть фигура определенной ширины и высоты

После этого поворачиваю фигуру, например, на 30 градусов программно, язык не особо важен, формула, если есть, то будет одинаковая для любого языка, но именно сейчас делаю для java или kotlin
Есть ли формула, чтобы вычислить новые ширину и высоту, зная ширину и высоту без поворота и угол поворота?
Нашел статью для прямоугольника https://stackoverflow.com/questions/9971230/calculate-rotated-rectangle-size-from-known-bounding-box-coordinates Но в случае с прямоугольником на экране выглядит нормально только, когда поворачиваешь на 90, 180, 270, 360 при других градусах слишком большой отступ получается.
Ответы (1 шт):
Все предельно просто. Это не возможно не зная самой фигуры.
Возьмите квадрат за одну фигуру а вторую его диагональ или что нибудь близкое к нему. Начинайте вращять, согласно вашим предположениям формула должна дать одинаковый ответ для обоих случаев при любом повороте. Думаю достаточно посмотреть на угол в 45 градусов чтобы понять что формула не верна.
А что действительно нужно делать каждый раз при повороте это вычислять min и max по координатно из множества точек фигуры чтобы определить прямоугольник ограничивающий эту произвольную фигуру. И чем точнее задана фигура, тем точнее будет ваш расчет.
