私は3Dゲームエンジンを作成する手段としてJOMLが追加されたLWJGLを使用してきました。 私はJeffrey(YouTube)のチュートリアルをゆるやかに辿ってきたので問題に遭遇しましたが、彼が作成したミニ数学ライブラリの代わりにJOMLライブラリを使用しています。私は見つけることができるすべてはAxisAngle4fでMatrix4f.getRotationを使用している、JOMLのドキュメントからJOML(LWJGL付き) - rx、ry、およびrz値から回転行列を取得しますか?
import org.joml.Matrix4f;
import org.joml.Vector3f;
public class Transform {
public static Matrix4f getPerspectiveProjection(float fov, int width, int height, float zNear, float zFar) {
return new Matrix4f().setPerspective(fov, width/height, zNear, zFar);
}
public static Matrix4f getTransformation(Vector3f translation, float rx, float ry, float rz, float scale) {
Matrix4f translationMatrix = new Matrix4f().setTranslation(translation);
// The first problem:
Matrix4f rotationMatrix = new Matrix4f().getRotation(rx, ry, rz);
Matrix4f scaleMatrix = new Matrix4f().initScale(scale);
return translationMatrix.mul(rotationMatrix.mul(scaleMatrix));
}
public static Matrix4f getViewMatrix(Camera camera) {
Vector3f pos = camera.getPosition();
Matrix4f translationMatrix = new Matrix4f().setTranslation(-pos.x, -pos.y, -pos.z);
Matrix4f rotationMatrix = new Matrix4f().initRotation(camera.getForward(), camera.getUp());
return rotationMatrix.mul(translationMatrix);
}
}
:はジェフリーの数学ライブラリからコピーされている、と私はJOMLを使用するように翻訳されていますクラスを、トランスフォームIを作りました。
問題の核心は、どのように私はAxisAngle4fにRX、RY、および角度RZ を翻訳しますか?