com.jogamp.opengl.math.Quaternion.determinant3f()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(2.7k)|赞(0)|评价(0)|浏览(73)

本文整理了Java中com.jogamp.opengl.math.Quaternion.determinant3f方法的一些代码示例,展示了Quaternion.determinant3f的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Quaternion.determinant3f方法的具体详情如下:
包路径:com.jogamp.opengl.math.Quaternion
类名称:Quaternion
方法名:determinant3f

Quaternion.determinant3f介绍

暂无

代码示例

代码示例来源:origin: org.jogamp.jogl/jogl-all-noawt

/**
 * Check if the the 3x3 matrix (param) is in fact an affine rotational
 * matrix
 *
 * @param m 3x3 column matrix
 * @return true if representing a rotational matrix, false otherwise
 */
public final boolean isRotationMatrix3f(final float[] m) {
  final float epsilon = 0.01f; // margin to allow for rounding errors
  if (FloatUtil.abs(m[0] * m[3] + m[3] * m[4] + m[6] * m[7]) > epsilon)
    return false;
  if (FloatUtil.abs(m[0] * m[2] + m[3] * m[5] + m[6] * m[8]) > epsilon)
    return false;
  if (FloatUtil.abs(m[1] * m[2] + m[4] * m[5] + m[7] * m[8]) > epsilon)
    return false;
  if (FloatUtil.abs(m[0] * m[0] + m[3] * m[3] + m[6] * m[6] - 1) > epsilon)
    return false;
  if (FloatUtil.abs(m[1] * m[1] + m[4] * m[4] + m[7] * m[7] - 1) > epsilon)
    return false;
  if (FloatUtil.abs(m[2] * m[2] + m[5] * m[5] + m[8] * m[8] - 1) > epsilon)
    return false;
  return (FloatUtil.abs(determinant3f(m) - 1) < epsilon);
}

代码示例来源:origin: ch.unibas.cs.gravis/scalismo-native-stub

/**
 * Check if the the 3x3 matrix (param) is in fact an affine rotational
 * matrix
 *
 * @param m 3x3 column matrix
 * @return true if representing a rotational matrix, false otherwise
 */
public final boolean isRotationMatrix3f(final float[] m) {
  final float epsilon = 0.01f; // margin to allow for rounding errors
  if (FloatUtil.abs(m[0] * m[3] + m[3] * m[4] + m[6] * m[7]) > epsilon)
    return false;
  if (FloatUtil.abs(m[0] * m[2] + m[3] * m[5] + m[6] * m[8]) > epsilon)
    return false;
  if (FloatUtil.abs(m[1] * m[2] + m[4] * m[5] + m[7] * m[8]) > epsilon)
    return false;
  if (FloatUtil.abs(m[0] * m[0] + m[3] * m[3] + m[6] * m[6] - 1) > epsilon)
    return false;
  if (FloatUtil.abs(m[1] * m[1] + m[4] * m[4] + m[7] * m[7] - 1) > epsilon)
    return false;
  if (FloatUtil.abs(m[2] * m[2] + m[5] * m[5] + m[8] * m[8] - 1) > epsilon)
    return false;
  return (FloatUtil.abs(determinant3f(m) - 1) < epsilon);
}

代码示例来源:origin: org.jogamp.jogl/jogl

/**
 * Check if the the 3x3 matrix (param) is in fact an affine rotational
 * matrix
 *
 * @param m 3x3 column matrix
 * @return true if representing a rotational matrix, false otherwise
 */
public final boolean isRotationMatrix3f(final float[] m) {
  final float epsilon = 0.01f; // margin to allow for rounding errors
  if (FloatUtil.abs(m[0] * m[3] + m[3] * m[4] + m[6] * m[7]) > epsilon)
    return false;
  if (FloatUtil.abs(m[0] * m[2] + m[3] * m[5] + m[6] * m[8]) > epsilon)
    return false;
  if (FloatUtil.abs(m[1] * m[2] + m[4] * m[5] + m[7] * m[8]) > epsilon)
    return false;
  if (FloatUtil.abs(m[0] * m[0] + m[3] * m[3] + m[6] * m[6] - 1) > epsilon)
    return false;
  if (FloatUtil.abs(m[1] * m[1] + m[4] * m[4] + m[7] * m[7] - 1) > epsilon)
    return false;
  if (FloatUtil.abs(m[2] * m[2] + m[5] * m[5] + m[8] * m[8] - 1) > epsilon)
    return false;
  return (FloatUtil.abs(determinant3f(m) - 1) < epsilon);
}

相关文章