us.ihmc.euclid.tuple4D.interfaces.QuaternionBasics.setToNaN()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(1.5k)|赞(0)|评价(0)|浏览(84)

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

QuaternionBasics.setToNaN介绍

暂无

代码示例

代码示例来源:origin: us.ihmc/euclid-geometry

/** {@inheritDoc} */
@Override
default void setToNaN()
{
 getOrientation().setToNaN();
 getPosition().setToNaN();
}

代码示例来源:origin: us.ihmc/ihmc-robotics-toolkit

public static void computeQuaternionFromYawAndZNormal(double yaw, Vector3DReadOnly zNormal, QuaternionBasics quaternionToPack)
{
 double Cx = 1.0;
 double Cy = Math.tan(yaw);
 if (Math.abs(zNormal.getZ()) < 1e-9)
 {
   quaternionToPack.setToNaN();
   return;
 }
 double Cz = -1.0 * (zNormal.getX() + Cy * zNormal.getY()) / zNormal.getZ();
 double CT = Math.sqrt(Cx * Cx + Cy * Cy + Cz * Cz);
 if (CT < 1e-9)
   throw new RuntimeException("Error calculating Quaternion");
 Vector3D xAxis = new Vector3D(Cx / CT, Cy / CT, Cz / CT);
 if (xAxis.getX() * Math.cos(yaw) + xAxis.getY() * Math.sin(yaw) < 0.0)
 {
   xAxis.negate();
 }
 Vector3D yAxis = new Vector3D();
 Vector3DReadOnly zAxis = zNormal;
 yAxis.cross(zAxis, xAxis);
 RotationMatrix rotationMatrix = rotationMatrixForQuaternionFromYawAndZNormal.get();
 rotationMatrix.setColumns(xAxis, yAxis, zAxis);
 quaternionToPack.set(rotationMatrix);
}

代码示例来源:origin: us.ihmc/euclid-test

tuple1 = createTuple(xOriginal, yOriginal, zOriginal, sOriginal);
tuple2.setToNaN();
tuple2.setAndNegate(tuple1);
assertEquals(tuple2.getX(), -xOriginal, getEpsilon());

相关文章