本文整理汇总了Java中org.joml.Matrix4f.m20方法的典型用法代码示例。如果您正苦于以下问题:Java Matrix4f.m20方法的具体用法?Java Matrix4f.m20怎么用?Java Matrix4f.m20使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.joml.Matrix4f
的用法示例。
在下文中一共展示了Matrix4f.m20方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getRotationMultiplier
import org.joml.Matrix4f; //导入方法依赖的package包/类
/**
* Get the additional rotation matrix, which should be multiplied by the current rotation matrix to get the new rotation matrix
*/
public static Matrix4f getRotationMultiplier(float x, float y, float z) {
float rotateXAngle = (float) Math.toRadians(x);
float rotateYAngle = (float) Math.toRadians(y);
float rotateZAngle = (float) Math.toRadians(z);
Matrix4f rotationUpdate = new Matrix4f().identity();
if (rotateXAngle!=0) {
Matrix4f xRotation = new Matrix4f().identity();
float sinAlpha = (float) Math.sin(rotateXAngle);
float cosAlpha = (float) Math.cos(rotateXAngle);
xRotation.m11(cosAlpha);
xRotation.m12(-sinAlpha);
xRotation.m21(sinAlpha);
xRotation.m22(cosAlpha);
rotationUpdate.mul(xRotation);
}
if (rotateYAngle!=0) {
Matrix4f yRotation = new Matrix4f().identity();
float sinBeta = (float) Math.sin(rotateYAngle);
float cosBeta = (float) Math.cos(rotateYAngle);
yRotation.m00(cosBeta);
yRotation.m02(sinBeta);
yRotation.m20(-sinBeta);
yRotation.m22(cosBeta);
rotationUpdate.mul(yRotation);
}
if (rotateZAngle!=0) {
Matrix4f zRotation = new Matrix4f().identity();
float sinGamma = (float) Math.sin(rotateZAngle);
float cosGamma = (float) Math.cos(rotateZAngle);
zRotation.m00(cosGamma);
zRotation.m01(-sinGamma);
zRotation.m10(sinGamma);
zRotation.m11(cosGamma);
rotationUpdate.mul(zRotation);
}
return rotationUpdate;
}