使用 rotate 方法在 JMonkeyEngine 中旋转几何有什么区别:
float r = FastMath.DEG_TO_RAD * 45f; // convert degrees to radians
geom.rotate(r, 0.0f, 0.0f); // rotate the geometry around the x-axis by 45 degrees
并使用四元数旋转几何:
Quaternion roll045 = new Quaternion(); // create the quaternion
roll045.fromAngleAxis(45*FastMath.DEG_TO_RAD, Vector3f.UNIT_X); // supply angle and axis as arguments)
geom.setLocalRotation(roll045); // rotate the geometry around the x-axis by 45 degrees
这让我感到困惑,因为两者的结果是相同的。因此,我想找出区别以及何时使用其中一种。
我正在阅读的书说第一种方法是相对的,而使用四元数的第二种方法是绝对的,但我仍然不清楚这意味着什么。