Правильно поверните трехмерный объект на 3 оси в JavaFX
Таким образом, метод, который я использовал до сих пор для вращения объектов в JavaFX, заключался в том, что я разбил его на 3 группы, каждая из которых была прикреплена к Rotate и привязана к одной оси следующим образом:
Rotate heading, roll, pitch;
Group normalrotate, rollrotate, verticalrotate;
heading.setAxis(new Point3D(0,1,0));
normalrotate.getTransforms().add(heading);
roll.setAxis(new Point3D(0,0,1));
rollrotate.getTransforms().add(roll);
pitch.setAxis(new Point3D(1,0,0));
verticalrotate.getTransforms().add(pitch);
и сделал setAngle () каждый раз, когда мне нужно было повернуть объект. Это работало очень хорошо только для заголовка и крена, пока я не решил, что мне тоже нужна подача. Сейчас многие учебные пособия по OpenGL и тому подобное говорят, что вращательные матиксы или кватернионы лучше всего подходят для такого типа вращений, но в javadoc отсутствуют какие-либо полезные данные, относящиеся к этому.
Пример: что происходит, когда я поворачиваю объект на 180 градусов по оси Y (и что должно было произойти в прозрачном синем) Я что-то пропустил? Вся помощь будет оценена.