@Override public AxisAngle4d initialValue() { return new AxisAngle4d(); } };
@Override public AxisAngle4d initialValue() { return new AxisAngle4d(); } };
/** * Applies a rotation to a given transform object. * @param t3d the transform object to rotate * @param axis the rotation axis * @param angle the rotation angle in radians */ public static void rotate(Transform3D t3d, Vector3d axis, double angle) { rotate(t3d, new AxisAngle4d(axis, angle)); }
/** * Calculate the rotation angle component of the input unit quaternion. * * @param q * unit quaternion Quat4d * @return the angle in radians of the input quaternion */ public static double angle(Quat4d q) { AxisAngle4d axis = new AxisAngle4d(); axis.set(q); return axis.angle; }
/** * Returns the AxisAngle of the helix transformation * @param transformation helix transformation * @return */ public AxisAngle4d getAxisAngle() { AxisAngle4d axis = new AxisAngle4d(); axis.set(this.transformation); return axis; }
private void calcRotAxesAndAngles() { axisAngles = new AxisAngle4d[multiplicity]; // identity operator (transformId==0) axisAngles[0] = new AxisAngle4d(new Vector3d(0,0,0), 0.0); for (int i=1;i<this.transformations.size();i++){ Matrix3d r = new Matrix3d(transformations.get(i).m00,transformations.get(i).m01,transformations.get(i).m02, transformations.get(i).m10,transformations.get(i).m11,transformations.get(i).m12, transformations.get(i).m20,transformations.get(i).m21,transformations.get(i).m22); axisAngles[i] = getRotAxisAndAngle(r); } }
public double getOrientationDistance(FramePose framePose) { AxisAngle4d rotationFromThatToThis = new AxisAngle4d(); getAxisAngleRotationToOtherPose(framePose, rotationFromThatToThis); return Math.abs(rotationFromThatToThis.getAngle()); }
public static double getMagnitudeOfAngleOfRotation(RigidBodyTransform rigidBodyTransform) { AxisAngle4d axisAngle4d = new AxisAngle4d(); rigidBodyTransform.getRotation(axisAngle4d); return Math.abs(axisAngle4d.getAngle()); }
private void orientAxis (Vector3D axis, double angle) { Transform3D t = getTransform(); AxisAngle4d aa = new AxisAngle4d(axis.x, axis.y, axis.z, Math.toRadians(angle)); t.setRotation(aa); setTransform(t); }
/** * Add E operation to the highest order rotation axis. By definition * E belongs to the highest order axis. */ private void setEAxis() { Rotation e = rotations.get(0); Rotation h = rotations.get(principalAxisIndex); e.setAxisAngle(new AxisAngle4d(h.getAxisAngle())); e.getAxisAngle().angle = 0.0; e.setFold(h.getFold()); }
@Override public void variableChanged(YoVariable<?> v) { AxisAngle4d axisAngle = new AxisAngle4d(jointAxis, offset.getDoubleValue()); preCorruptionTransform.setRotationAndZeroTranslation(axisAngle); frameBeforeJoint.corruptTransformToParentPreMultiply(preCorruptionTransform); } };
private Matrix4d reorientHelix(int index) { Matrix4d matrix = new Matrix4d(); matrix.setIdentity(); matrix.setRotation(new AxisAngle4d(1,0,0,Math.PI/2*(index+1))); matrix.mul(transformationMatrix); return matrix; }
@Override public @Nonnull Pair<? extends IBakedModel, Matrix4f> handlePerspective(@Nonnull ItemCameraTransforms.TransformType cameraTransformType) { Pair<? extends IBakedModel, Matrix4f> perspective = parent.handlePerspective(cameraTransformType); double r = (EnderIO.proxy.getTickCount() % 360) + Minecraft.getMinecraft().getRenderPartialTicks(); TRSRTransformation transformOrig = new TRSRTransformation(perspective.getRight()); Quat4f leftRot = transformOrig.getLeftRot(); Quat4f yRotation = new Quat4f(); yRotation.set(new AxisAngle4d(0, 1, 0, Math.toRadians(r * speed))); leftRot.mul(yRotation); TRSRTransformation transformNew = new TRSRTransformation(transformOrig.getTranslation(), leftRot, transformOrig.getScale(), transformOrig.getRightRot()); return Pair.of(perspective.getLeft(), transformNew.getMatrix()); }
public void rotateAxis (Vector3D axis, double angle) { if(angle == 0) return; Transform3D t = getTransform(); Vector3D aRel = absToRel(axis); AxisAngle4d aa = new AxisAngle4d(aRel.x, aRel.y, aRel.z, Math.toRadians(angle)); Transform3D t1 = new Transform3D(); t1.setRotation(aa); t.mul(t1); setTransform(t); }
private void addEOperation() { List<Integer> permutation = Arrays.asList(new Integer[]{0,1}); Matrix4d transformation = new Matrix4d(); transformation.setIdentity(); combineWithTranslation(transformation); AxisAngle4d axisAngle = new AxisAngle4d(); QuatSymmetryScores scores = new QuatSymmetryScores(); int fold = 1; // ?? Rotation rotation = createSymmetryOperation(permutation, transformation, axisAngle, fold, scores); rotations.addRotation(rotation); }
private Rotation createSymmetryOperation(List<Integer> permutation, Matrix4d transformation, AxisAngle4d axisAngle, int fold, QuatSymmetryScores scores) { Rotation s = new Rotation(); s.setPermutation(new ArrayList<Integer>(permutation)); s.setTransformation(new Matrix4d(transformation)); s.setAxisAngle(new AxisAngle4d(axisAngle)); s.setFold(fold); s.setScores(scores); return s; }
private Rotation createSymmetryOperation(List<Integer> permutation, Matrix4d transformation, AxisAngle4d axisAngle, int fold, QuatSymmetryScores scores) { Rotation s = new Rotation(); s.setPermutation(new ArrayList<Integer>(permutation)); s.setTransformation(new Matrix4d(transformation)); s.setAxisAngle(new AxisAngle4d(axisAngle)); s.setFold(fold); s.setScores(scores); return s; }
private static Rotation createSymmetryOperation(List<Integer> permutation, Matrix4d transformation, AxisAngle4d axisAngle, int fold, QuatSymmetryScores scores) { Rotation s = new Rotation(); s.setPermutation(new ArrayList<Integer>(permutation)); s.setTransformation(new Matrix4d(transformation)); s.setAxisAngle(new AxisAngle4d(axisAngle)); s.setFold(fold); s.setScores(scores); return s; }
public double getAxisAngleRotationToOtherPose(FramePose otherPose, FrameVector rotationAxisToPack) { AxisAngle4d rotationAxisAngle = new AxisAngle4d(); getAxisAngleRotationToOtherPose(otherPose, rotationAxisAngle); rotationAxisToPack.setIncludingFrame(this.referenceFrame, rotationAxisAngle.getX(), rotationAxisAngle.getY(), rotationAxisAngle.getZ()); return rotationAxisAngle.getAngle(); }
public static RigidBodyTransform opencvTRtoRigidBodyTransform(Mat rvec, Mat tvec) { Vector3d translation = new Vector3d(tvec.get(0, 0)[0], tvec.get(1, 0)[0], tvec.get(2, 0)[0]); Vector3d axis = new Vector3d(rvec.get(0, 0)[0], rvec.get(1, 0)[0], rvec.get(2, 0)[0]); double angle = axis.length(); axis.normalize(); AxisAngle4d rotation = new AxisAngle4d(axis, angle); RigidBodyTransform transform = new RigidBodyTransform(rotation, translation); return transform; }