Таким образом, метод, который я использовал до сих пор для вращения объектов в JavaFX, заключался в том, что я разделил его на 3 группы, каждая из которых была привязана к одной оси и привязана к ней следующим образом:
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 (и что должно было произойти в прозрачном синем цвете) Я что-то пропустил? Вся помощь будет оценена по достоинству.