Я работаю над artoolkit, который является дополненной реальностью Engine. Движок получает данные от камеры, ищет маркер и создает матрицу преобразования камеры.
Когда я инвертирую матрицу преобразования, я могу извлечь преобразования и перевод камеры в систему координат маркера.
cameraX = transformationMatrix[0][3]
cameraY = transformationMatrix[1][3]
cameraZ = transformationMatrix[2][3]
У меня также есть метод getAngle, который даст мне три угла Эйлера из матрицы преобразования.
(Источник: http://artoolkit.sourceforge.net/apidoc/ar_8h.html#a91c0942b8061abae28060cfd548ed2a)
Я хотел бы создать вектор единиц направления из этих трех углов Эйлера.
Имея этот вектор единиц направления, я мог создать впечатление, что игрок стреляет пулями из камеры перпендикулярно направлению поверхности камеры телефона.
Пуля будет начинаться с позиции камеры X Y Z, а дальнейшая позиция будет старой позицией + единичный вектор, умноженный на скорость в дельте времени .....
Я правильно делаю? И как извлечь этот вектор направления из эйлеровых углов. Спасибо