Мне нужно вычислить матрицу трехмерного преобразования, и я подумал повторно использовать преобразование Qt3D:
import QtQuick 2.0
import Qt3D.Core 2.12 as Qt3D
Item {
id: root
Qt3D.Transform {
id: transform1
}
function eulerToQuaternion(x, y, z) {
transform1.rotationX = x
transform1.rotationY = y
transform1.rotationZ = z
return transform1.rotation
}
function quaternionToEuler(q) {
transform1.rotation = q
return Qt.vector3d(transform1.rotationX, transform1.rotationY, transform1.rotationZ)
}
...
, однако это не работает. Когда я использую eulerToQuaternion
или quaternionToEuler
, я получаю:
ReferenceError: transform1 не определен
Доступ к объектам по их идентификатору работает для других объектов, почему бы не для этот?