This commit is contained in:
Gilles Sadowski 2019-12-02 08:22:09 +01:00
parent a9c64a5002
commit 1c3ccc4d2e
3 changed files with 19 additions and 22 deletions

View File

@ -1155,7 +1155,7 @@ public class FieldRotation<T extends RealFieldElement<T>> implements Serializabl
}
/** Apply a rotation to a vector.
* @param r rotation to apply
* @param rot rotation to apply
* @param u vector to apply the rotation to
* @param <T> the type of the field elements
* @return a new vector which is the image of u by the rotation
@ -1252,7 +1252,7 @@ public class FieldRotation<T extends RealFieldElement<T>> implements Serializabl
}
/** Apply the inverse of a rotation to a vector.
* @param r rotation to apply
* @param rot rotation to apply
* @param u vector to apply the inverse of the rotation to
* @param <T> the type of the field elements
* @return a new vector which such that u is its image by the rotation
@ -1330,7 +1330,7 @@ public class FieldRotation<T extends RealFieldElement<T>> implements Serializabl
/** Apply the instance to another rotation.
* <p>
* Calling this method is equivalent to call
* {@link #compose(Rotation, RotationConvention)
* {@link #compose(QuaternionRotation, RotationConvention)
* compose(r, RotationConvention.VECTOR_OPERATOR)}.
* </p>
* @param r rotation to apply the rotation to
@ -1370,7 +1370,7 @@ public class FieldRotation<T extends RealFieldElement<T>> implements Serializabl
}
/** Compose the instance with another rotation using vector operator convention.
* @param r rotation to apply the rotation to
* @param rot rotation to apply the rotation to
* @return a new rotation which is the composition of r by the instance
* using vector operator convention
*/
@ -1389,7 +1389,7 @@ public class FieldRotation<T extends RealFieldElement<T>> implements Serializabl
* vector and v its image by rInner (i.e. rInner.applyTo(u) = v), let w be the image
* of v by rOuter (i.e. rOuter.applyTo(v) = w), then w = comp.applyTo(u),
* where comp = applyTo(rOuter, rInner).
* @param r1 rotation to apply
* @param rot1 rotation to apply
* @param rInner rotation to apply the rotation to
* @param <T> the type of the field elements
* @return a new rotation which is the composition of r by the instance
@ -1465,7 +1465,7 @@ public class FieldRotation<T extends RealFieldElement<T>> implements Serializabl
/** Apply the inverse of the instance to another rotation.
* <p>
* Calling this method is equivalent to call
* {@link #composeInverse(Rotation, RotationConvention)
* {@link #composeInverse(QuaternionRotation, RotationConvention)
* composeInverse(r, RotationConvention.VECTOR_OPERATOR)}.
* </p>
* @param r rotation to apply the rotation to
@ -1509,7 +1509,7 @@ public class FieldRotation<T extends RealFieldElement<T>> implements Serializabl
/** Compose the inverse of the instance with another rotation
* using vector operator convention.
* @param r rotation to apply the rotation to
* @param rot rotation to apply the rotation to
* @return a new rotation which is the composition of r by the inverse
* of the instance using vector operator convention
*/
@ -1529,7 +1529,7 @@ public class FieldRotation<T extends RealFieldElement<T>> implements Serializabl
* let w be the inverse image of v by rOuter
* (i.e. rOuter.applyInverseTo(v) = w), then w = comp.applyTo(u), where
* comp = applyInverseTo(rOuter, rInner).
* @param rOuter rotation to apply the rotation to
* @param rotOuter rotation to apply the rotation to
* @param rInner rotation to apply the rotation to
* @param <T> the type of the field elements
* @return a new rotation which is the composition of r by the inverse

View File

@ -17,9 +17,11 @@
package org.apache.commons.math4.geometry.euclidean.threed;
import org.apache.commons.geometry.euclidean.threed.Vector3D;
/**
* This enumerates is used to differentiate the semantics of a rotation.
* @see Rotation
* @see FieldRotation
* @since 3.6
*/
public enum RotationConvention {
@ -31,10 +33,10 @@ public enum RotationConvention {
* </p>
* <p>
* This means that if we define rotation r is a 90 degrees rotation around
* the Z axis, the image of vector {@link Cartesian3D#PLUS_I} would be
* {@link Cartesian3D#PLUS_J}, the image of vector {@link Cartesian3D#PLUS_J}
* would be {@link Cartesian3D#MINUS_I}, the image of vector {@link Cartesian3D#PLUS_K}
* would be {@link Cartesian3D#PLUS_K}, and the image of vector with coordinates (1, 2, 3)
* the Z axis, the image of vector {@link Vector3D.Unit#PLUS_X} would be
* {@link Vector3D.Unit#PLUS_Y}, the image of vector {@link Vector3D.Unit#PLUS_Y}
* would be {@link Vector3D.Unit#MINUS_X}, the image of vector {@link Vector3D.Unit#PLUS_Z}
* would be {@link Vector3D.Unit#PLUS_Z}, and the image of vector with coordinates (1, 2, 3)
* would be vector (-2, 1, 3). This means that the vector rotates counterclockwise.
* </p>
* <p>
@ -58,10 +60,10 @@ public enum RotationConvention {
* </p>
* <p>
* This means that if we define rotation r is a 90 degrees rotation around
* the Z axis, the image of vector {@link Cartesian3D#PLUS_I} would be
* {@link Cartesian3D#MINUS_J}, the image of vector {@link Cartesian3D#PLUS_J}
* would be {@link Cartesian3D#PLUS_I}, the image of vector {@link Cartesian3D#PLUS_K}
* would be {@link Cartesian3D#PLUS_K}, and the image of vector with coordinates (1, 2, 3)
* the Z axis, the image of vector {@link Vector3D.Unit#PLUS_X} would be
* {@link Vector3D.Unit#MINUS_Y}, the image of vector {@link Vector3D.Unit#PLUS_Y}
* would be {@link Vector3D.Unit#PLUS_X}, the image of vector {@link Vector3D.Unit#PLUS_Z}
* would be {@link Vector3D.Unit#PLUS_Z}, and the image of vector with coordinates (1, 2, 3)
* would be vector (2, -1, 3). This means that the coordinates of the vector rotates
* clockwise, because they are expressed with respect to a destination frame that is rotated
* counterclockwise.

View File

@ -23,11 +23,6 @@ import org.apache.commons.geometry.euclidean.threed.Vector3D;
* This class is a utility representing a rotation order specification
* for Cardan or Euler angles specification.
*
* This class cannot be instanciated by the user. He can only use one
* of the twelve predefined supported orders as an argument to either
* the {@link Rotation#Rotation(RotationOrder,double,double,double)}
* constructor or the {@link Rotation#getAngles} method.
*
* @since 1.2
*/
public final class RotationOrder {