Ищу удобный способ работать в коде с произвольными прямоугольниками на плоскости. Ищу и не нахожу.
Пять координат — ни вектор, ни матрица, ни кватернион. Вместо красивых векторно-матричных операций в коде появляются какие-то страшные синусы-косинусы, в общем низкоуровневая возня с координатами.
А зачем ограничиваться пятью? - можно хранить и избыточную информацию.
1) Можно еще на этапе конструктора посчитать какую-нибудь там матрицу перехода и хранить ее вместе с координатами угла и, скажем, шириной-высотой. Тогда синусы-косинусы будут сосредоточены в одном месте, а не разбросаны по всем действиям
2) Можно хранить координаты одной вершины и вектора двух сторон
3) другие варианты - смотреть по обстоятельствам в зависимости от того, что вам с ними предстоит делать.
Upd
Сорри за некропостинг - недалеко в топе была, хотя прошло несколько месяцев.