Матрицы вращения, Java -> QT4?

Подскажите плиз, как переоформить код на Java в соответсвующие операции в QT4.


вот это на Java:
Vector4f up = new Vector4f(0,1,0,0);
Matrix4f modelToWorld = new Matrix4f();
// skipped
modelToWorld.invert();
modelToWorld.transform(up)
// ля-ля-ля



начал в QT4:
QVector4D up = QVector4D(1,0,0,0);
QMatrix4x4 modelToWorld = new QMatrix4x4();
// skipped
modelToWorld = modelToWorld.inverted();
// ???



по сути код должен определенным образом повернуть вектор, но хотелось бы, чтобы аналогично повернулась вся матрица.
  • Вопрос задан
  • 2764 просмотра
Решения вопроса 1
Оператор * переопределен как не член класса и возвращает результат трансформации:
QVector4D operator*( const QMatrix4x4& matrix, const QVector4D& vector )
// Можно поменять местами
QVector4D operator*( const QVector4D& vector, const QMatrix4x4& matrix )

Результатом является 4D-вектор.
QVector4D result = modelToWorld * up;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы