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


Java Vector3.crossAndSet方法代码示例

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


在下文中一共展示了Vector3.crossAndSet方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: matrixFromPointNormalUp

import org.rajawali3d.math.vector.Vector3; //导入方法依赖的package包/类
/**
 * Calculates a transformation matrix based on a point, a normal and the up gravity vector.
 * The coordinate frame of the target transformation will be Z forward, X left, Y up.
 */
public static Matrix4 matrixFromPointNormalUp(double[] point, double[] normal, Vector3 up) {
    Vector3 zAxis = new Vector3(normal);
    zAxis.normalize();
    Vector3 xAxis = new Vector3();
    xAxis.crossAndSet(up, zAxis);
    xAxis.normalize();
    Vector3 yAxis = new Vector3();
    yAxis.crossAndSet(xAxis, zAxis);
    yAxis.normalize();

    double[] rot = new double[16];

    rot[Matrix4.M00] = xAxis.x;
    rot[Matrix4.M10] = xAxis.y;
    rot[Matrix4.M20] = xAxis.z;

    rot[Matrix4.M01] = yAxis.x;
    rot[Matrix4.M11] = yAxis.y;
    rot[Matrix4.M21] = yAxis.z;

    rot[Matrix4.M02] = zAxis.x;
    rot[Matrix4.M12] = zAxis.y;
    rot[Matrix4.M22] = zAxis.z;

    rot[Matrix4.M33] = 1;

    Matrix4 m = new Matrix4(rot);
    m.setTranslation(point[0], point[1], point[2]);

    return m;
}
 
开发者ID:inovex,项目名称:tango-ar-navigation-example,代码行数:36,代码来源:ScenePoseCalculator.java


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