当前位置: 首页>>代码示例>>Java>>正文


Java Matrix4f.m02方法代码示例

本文整理汇总了Java中org.joml.Matrix4f.m02方法的典型用法代码示例。如果您正苦于以下问题:Java Matrix4f.m02方法的具体用法?Java Matrix4f.m02怎么用?Java Matrix4f.m02使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.joml.Matrix4f的用法示例。


在下文中一共展示了Matrix4f.m02方法的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;


}
 
开发者ID:adamegyed,项目名称:endless-hiker,代码行数:50,代码来源:GameItem.java


注:本文中的org.joml.Matrix4f.m02方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。