All Downloads are FREE. Search and download functionalities are using the official Maven repository.

us.ihmc.euclid.referenceFrame.interfaces.FrameRotationMatrixBasics Maven / Gradle / Ivy

package us.ihmc.euclid.referenceFrame.interfaces;

import us.ihmc.euclid.orientation.interfaces.Orientation3DReadOnly;
import us.ihmc.euclid.referenceFrame.ReferenceFrame;

/**
 * Write and read interface used for a 3-by-3 rotation matrix expressed in a changeable reference
 * frame, i.e. the reference frame in which this rotation matrix is expressed can be changed.
 * 

* A rotation matrix is used to represent a 3D orientation through its 9 coefficients. A rotation * matrix has to comply to several constraints: *

    *
  • each column of the matrix represents a unitary vector, *
  • each row of the matrix represents a unitary vector, *
  • every pair of columns of the matrix represents two orthogonal vectors, *
  • every pair of rows of the matrix represents two orthogonal vectors, *
  • the matrix determinant is equal to {@code 1}. *
* A rotation matrix has the nice property RT = R-1. *

* * @author Sylvain Bertrand */ public interface FrameRotationMatrixBasics extends FixedFrameRotationMatrixBasics, FrameCommonMatrix3DBasics, FrameOrientation3DBasics { /** {@inheritDoc} */ @Override default void setIncludingFrame(ReferenceFrame referenceFrame, Orientation3DReadOnly orientation3dReadOnly) { FrameOrientation3DBasics.super.setIncludingFrame(referenceFrame, orientation3dReadOnly); } /** {@inheritDoc} */ @Override default void setIncludingFrame(FrameOrientation3DReadOnly other) { FrameOrientation3DBasics.super.setIncludingFrame(other); } /** {@inheritDoc} */ @Override default void setAndInvert(FrameOrientation3DReadOnly orientation) { FixedFrameRotationMatrixBasics.super.setAndInvert(orientation); } /** {@inheritDoc} */ @Override default void setAndNormalize(FrameOrientation3DReadOnly orientation) { FixedFrameRotationMatrixBasics.super.setAndNormalize(orientation); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy