QVector2D — вращение

Я портирую свой код из Python 3 (используя мои собственные классы для векторов, многоугольников, отрезков и т. Д., Включая различные операции, связанные с такими, как произведение перекрестных и точечных, норма, пересечение, проверка точек в многоугольнике и т. Д.) На Qt 5,7.

В Python я сделал всю математику вручную для лучшего понимания. Теперь, когда я портирую свой алгоритм на Qt C ++, я надеялся, что Qt предлагает, по крайней мере, базовые вещи (помимо перекрестного и точечного произведения), когда речь идет о векторах, таких как способность вращать вектор, переводить его и т. Д. то, что я вижу, чего-то не хватает … Многое.

Здесь QMatrix4x4 что кажется устаревшим (мне удалось найти что-то в документации только для Qt 4.8). Единственное, что я нашел на вращении, это QTransform :: Rotate (…). Однако это для вращения системы координат. Хотя математически я могу адаптировать свой алгоритм к такому способу действий, я все же предпочел бы сделать это в соответствии с соглашением о вращении вокруг произвольной точки, которая перевести на происхождение, вращаться и в конце инвертировать перевод.

Я что-то упустил или это действительно не доступно для QVector2D (Я также проверил QVector3D поскольку можно легко преобразовать двухмерный вектор в трехмерный (кстати, что необходимо, если вы хотите использовать функцию для перекрестного произведения: D))?

НОТА: Использование QML здесь не вариант. Все должно быть только на C ++.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]