| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> |
| <title>FieldRotation (Apache Commons Math 3.3 API)</title> |
| <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style"> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="FieldRotation (Apache Commons Math 3.3 API)"; |
| } |
| //--> |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a name="navbar_top"> |
| <!-- --> |
| </a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/FieldRotation.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Euclidean3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed"><span class="strong">Prev Class</span></a></li> |
| <li><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed"><span class="strong">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../../../index.html?org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" target="_top">Frames</a></li> |
| <li><a href="FieldRotation.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_top"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li><a href="#constructor_summary">Constr</a> | </li> |
| <li><a href="#method_summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor_detail">Constr</a> | </li> |
| <li><a href="#method_detail">Method</a></li> |
| </ul> |
| </div> |
| <a name="skip-navbar_top"> |
| <!-- --> |
| </a></div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="subTitle">org.apache.commons.math3.geometry.euclidean.threed</div> |
| <h2 title="Class FieldRotation" class="title">Class FieldRotation<T extends <a href="../../../../../../../org/apache/commons/math3/RealFieldElement.html" title="interface in org.apache.commons.math3">RealFieldElement</a><T>></h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li> |
| <li> |
| <ul class="inheritance"> |
| <li>org.apache.commons.math3.geometry.euclidean.threed.FieldRotation<T></li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <dl><dt><span class="strong">Type Parameters:</span></dt><dd><code>T</code> - the type of the field elements</dd></dl> |
| <dl> |
| <dt>All Implemented Interfaces:</dt> |
| <dd><a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd> |
| </dl> |
| <hr> |
| <br> |
| <pre>public class <span class="strong">FieldRotation<T extends <a href="../../../../../../../org/apache/commons/math3/RealFieldElement.html" title="interface in org.apache.commons.math3">RealFieldElement</a><T>></span> |
| extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> |
| implements <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre> |
| <div class="block">This class is a re-implementation of <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Rotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed"><code>Rotation</code></a> using <a href="../../../../../../../org/apache/commons/math3/RealFieldElement.html" title="interface in org.apache.commons.math3"><code>RealFieldElement</code></a>. |
| <p>Instance of this class are guaranteed to be immutable.</p></div> |
| <dl><dt><span class="strong">Since:</span></dt> |
| <dd>3.2</dd> |
| <dt><span class="strong">Version:</span></dt> |
| <dd>$Id: FieldRotation.java 1591835 2014-05-02 09:04:01Z tn $</dd> |
| <dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed"><code>FieldVector3D</code></a>, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/RotationOrder.html" title="class in org.apache.commons.math3.geometry.euclidean.threed"><code>RotationOrder</code></a>, |
| <a href="../../../../../../../serialized-form.html#org.apache.commons.math3.geometry.euclidean.threed.FieldRotation">Serialized Form</a></dd></dl> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor_summary"> |
| <!-- --> |
| </a> |
| <h3>Constructor Summary</h3> |
| <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> |
| <caption><span>Constructors</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colOne" scope="col">Constructor and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colOne"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#FieldRotation(org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D, org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D)">FieldRotation</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> u, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> v)</code> |
| <div class="block">Build one of the rotations that transform one vector into another one.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colOne"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#FieldRotation(org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D, org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D, org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D, org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D)">FieldRotation</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> u1, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> u2, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> v1, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> v2)</code> |
| <div class="block">Build the rotation that transforms a pair of vector into another pair.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colOne"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#FieldRotation(org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D, T)">FieldRotation</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> axis, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> angle)</code> |
| <div class="block">Build a rotation from an axis and an angle.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colOne"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#FieldRotation(org.apache.commons.math3.geometry.euclidean.threed.RotationOrder, T, T, T)">FieldRotation</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/RotationOrder.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">RotationOrder</a> order, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> alpha1, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> alpha2, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> alpha3)</code> |
| <div class="block">Build a rotation from three Cardan or Euler elementary rotations.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colOne"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#FieldRotation(T[][], double)">FieldRotation</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>[][] m, |
| double threshold)</code> |
| <div class="block">Build a rotation from a 3X3 matrix.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colOne"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#FieldRotation(T, T, T, T, boolean)">FieldRotation</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> q0, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> q1, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> q2, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> q3, |
| boolean needsNormalization)</code> |
| <div class="block">Build a rotation from the quaternion coordinates.</div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method_summary"> |
| <!-- --> |
| </a> |
| <h3>Method Summary</h3> |
| <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> |
| <caption><span>Methods</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Method and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#applyInverseTo(double[], T[])">applyInverseTo</a></strong>(double[] in, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>[] out)</code> |
| <div class="block">Apply the inverse of the rotation to a vector stored in an array.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#applyInverseTo(org.apache.commons.math3.geometry.euclidean.threed.FieldRotation)">applyInverseTo</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> r)</code> |
| <div class="block">Apply the inverse of the instance to another rotation.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#applyInverseTo(org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D)">applyInverseTo</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> u)</code> |
| <div class="block">Apply the inverse of the rotation to a vector.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#applyInverseTo(org.apache.commons.math3.geometry.euclidean.threed.Rotation)">applyInverseTo</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Rotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">Rotation</a> r)</code> |
| <div class="block">Apply the inverse of the instance to another rotation.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <T extends <a href="../../../../../../../org/apache/commons/math3/RealFieldElement.html" title="interface in org.apache.commons.math3">RealFieldElement</a><T>> <br><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><T></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#applyInverseTo(org.apache.commons.math3.geometry.euclidean.threed.Rotation, org.apache.commons.math3.geometry.euclidean.threed.FieldRotation)">applyInverseTo</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Rotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">Rotation</a> rOuter, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><T> rInner)</code> |
| <div class="block">Apply the inverse of a rotation to another rotation.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <T extends <a href="../../../../../../../org/apache/commons/math3/RealFieldElement.html" title="interface in org.apache.commons.math3">RealFieldElement</a><T>> <br><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><T></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#applyInverseTo(org.apache.commons.math3.geometry.euclidean.threed.Rotation, org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D)">applyInverseTo</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Rotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">Rotation</a> r, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><T> u)</code> |
| <div class="block">Apply the inverse of a rotation to a vector.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#applyInverseTo(T[], T[])">applyInverseTo</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>[] in, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>[] out)</code> |
| <div class="block">Apply the inverse of the rotation to a vector stored in an array.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#applyInverseTo(org.apache.commons.math3.geometry.euclidean.threed.Vector3D)">applyInverseTo</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Vector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">Vector3D</a> u)</code> |
| <div class="block">Apply the inverse of the rotation to a vector.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#applyTo(double[], T[])">applyTo</a></strong>(double[] in, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>[] out)</code> |
| <div class="block">Apply the rotation to a vector stored in an array.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#applyTo(org.apache.commons.math3.geometry.euclidean.threed.FieldRotation)">applyTo</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> r)</code> |
| <div class="block">Apply the instance to another rotation.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#applyTo(org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D)">applyTo</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> u)</code> |
| <div class="block">Apply the rotation to a vector.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#applyTo(org.apache.commons.math3.geometry.euclidean.threed.Rotation)">applyTo</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Rotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">Rotation</a> r)</code> |
| <div class="block">Apply the instance to another rotation.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <T extends <a href="../../../../../../../org/apache/commons/math3/RealFieldElement.html" title="interface in org.apache.commons.math3">RealFieldElement</a><T>> <br><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><T></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#applyTo(org.apache.commons.math3.geometry.euclidean.threed.Rotation, org.apache.commons.math3.geometry.euclidean.threed.FieldRotation)">applyTo</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Rotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">Rotation</a> r1, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><T> rInner)</code> |
| <div class="block">Apply a rotation to another rotation.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static <T extends <a href="../../../../../../../org/apache/commons/math3/RealFieldElement.html" title="interface in org.apache.commons.math3">RealFieldElement</a><T>> <br><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><T></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#applyTo(org.apache.commons.math3.geometry.euclidean.threed.Rotation, org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D)">applyTo</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Rotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">Rotation</a> r, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><T> u)</code> |
| <div class="block">Apply a rotation to a vector.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#applyTo(T[], T[])">applyTo</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>[] in, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>[] out)</code> |
| <div class="block">Apply the rotation to a vector stored in an array.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#applyTo(org.apache.commons.math3.geometry.euclidean.threed.Vector3D)">applyTo</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Vector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">Vector3D</a> u)</code> |
| <div class="block">Apply the rotation to a vector.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static <T extends <a href="../../../../../../../org/apache/commons/math3/RealFieldElement.html" title="interface in org.apache.commons.math3">RealFieldElement</a><T>> <br>T</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#distance(org.apache.commons.math3.geometry.euclidean.threed.FieldRotation, org.apache.commons.math3.geometry.euclidean.threed.FieldRotation)">distance</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><T> r1, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><T> r2)</code> |
| <div class="block">Compute the <i>distance</i> between two rotations.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#getAngle()">getAngle</a></strong>()</code> |
| <div class="block">Get the angle of the rotation.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>[]</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#getAngles(org.apache.commons.math3.geometry.euclidean.threed.RotationOrder)">getAngles</a></strong>(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/RotationOrder.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">RotationOrder</a> order)</code> |
| <div class="block">Get the Cardan or Euler angles corresponding to the instance.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#getAxis()">getAxis</a></strong>()</code> |
| <div class="block">Get the normalized axis of the rotation.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>[][]</code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#getMatrix()">getMatrix</a></strong>()</code> |
| <div class="block">Get the 3X3 matrix corresponding to the instance</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#getQ0()">getQ0</a></strong>()</code> |
| <div class="block">Get the scalar coordinate of the quaternion.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#getQ1()">getQ1</a></strong>()</code> |
| <div class="block">Get the first coordinate of the vectorial part of the quaternion.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#getQ2()">getQ2</a></strong>()</code> |
| <div class="block">Get the second coordinate of the vectorial part of the quaternion.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#getQ3()">getQ3</a></strong>()</code> |
| <div class="block">Get the third coordinate of the vectorial part of the quaternion.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#revert()">revert</a></strong>()</code> |
| <div class="block">Revert a rotation.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Rotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">Rotation</a></code></td> |
| <td class="colLast"><code><strong><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#toRotation()">toRotation</a></strong>()</code> |
| <div class="block">Convert to a constant vector without derivatives.</div> |
| </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3> |
| <code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor_detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a name="FieldRotation(org.apache.commons.math3.RealFieldElement,org.apache.commons.math3.RealFieldElement,org.apache.commons.math3.RealFieldElement,org.apache.commons.math3.RealFieldElement,boolean)"> |
| <!-- --> |
| </a><a name="FieldRotation(T, T, T, T, boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FieldRotation</h4> |
| <pre>public FieldRotation(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> q0, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> q1, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> q2, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> q3, |
| boolean needsNormalization)</pre> |
| <div class="block">Build a rotation from the quaternion coordinates. |
| <p>A rotation can be built from a <em>normalized</em> quaternion, |
| i.e. a quaternion for which q<sub>0</sub><sup>2</sup> + |
| q<sub>1</sub><sup>2</sup> + q<sub>2</sub><sup>2</sup> + |
| q<sub>3</sub><sup>2</sup> = 1. If the quaternion is not normalized, |
| the constructor can normalize it in a preprocessing step.</p> |
| <p>Note that some conventions put the scalar part of the quaternion |
| as the 4<sup>th</sup> component and the vector part as the first three |
| components. This is <em>not</em> our convention. We put the scalar part |
| as the first component.</p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>q0</code> - scalar part of the quaternion</dd><dd><code>q1</code> - first coordinate of the vectorial part of the quaternion</dd><dd><code>q2</code> - second coordinate of the vectorial part of the quaternion</dd><dd><code>q3</code> - third coordinate of the vectorial part of the quaternion</dd><dd><code>needsNormalization</code> - if true, the coordinates are considered |
| not to be normalized, a normalization preprocessing step is performed |
| before using them</dd></dl> |
| </li> |
| </ul> |
| <a name="FieldRotation(org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D,org.apache.commons.math3.RealFieldElement)"> |
| <!-- --> |
| </a><a name="FieldRotation(org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D, T)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FieldRotation</h4> |
| <pre>public FieldRotation(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> axis, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> angle) |
| throws <a href="../../../../../../../org/apache/commons/math3/exception/MathIllegalArgumentException.html" title="class in org.apache.commons.math3.exception">MathIllegalArgumentException</a></pre> |
| <div class="block">Build a rotation from an axis and an angle. |
| <p>We use the convention that angles are oriented according to |
| the effect of the rotation on vectors around the axis. That means |
| that if (i, j, k) is a direct frame and if we first provide +k as |
| the axis and π/2 as the angle to this constructor, and then |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#applyTo(org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D)"><code>apply</code></a> the instance to +i, we will get |
| +j.</p> |
| <p>Another way to represent our convention is to say that a rotation |
| of angle θ about the unit vector (x, y, z) is the same as the |
| rotation build from quaternion components { cos(-θ/2), |
| x * sin(-θ/2), y * sin(-θ/2), z * sin(-θ/2) }. |
| Note the minus sign on the angle!</p> |
| <p>On the one hand this convention is consistent with a vectorial |
| perspective (moving vectors in fixed frames), on the other hand it |
| is different from conventions with a frame perspective (fixed vectors |
| viewed from different frames) like the ones used for example in spacecraft |
| attitude community or in the graphics community.</p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>axis</code> - axis around which to rotate</dd><dd><code>angle</code> - rotation angle.</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../../../org/apache/commons/math3/exception/MathIllegalArgumentException.html" title="class in org.apache.commons.math3.exception">MathIllegalArgumentException</a></code> - if the axis norm is zero</dd></dl> |
| </li> |
| </ul> |
| <a name="FieldRotation(org.apache.commons.math3.RealFieldElement[][],double)"> |
| <!-- --> |
| </a><a name="FieldRotation(T[][], double)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FieldRotation</h4> |
| <pre>public FieldRotation(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>[][] m, |
| double threshold) |
| throws <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/NotARotationMatrixException.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">NotARotationMatrixException</a></pre> |
| <div class="block">Build a rotation from a 3X3 matrix. |
| |
| <p>Rotation matrices are orthogonal matrices, i.e. unit matrices |
| (which are matrices for which m.m<sup>T</sup> = I) with real |
| coefficients. The module of the determinant of unit matrices is |
| 1, among the orthogonal 3X3 matrices, only the ones having a |
| positive determinant (+1) are rotation matrices.</p> |
| |
| <p>When a rotation is defined by a matrix with truncated values |
| (typically when it is extracted from a technical sheet where only |
| four to five significant digits are available), the matrix is not |
| orthogonal anymore. This constructor handles this case |
| transparently by using a copy of the given matrix and applying a |
| correction to the copy in order to perfect its orthogonality. If |
| the Frobenius norm of the correction needed is above the given |
| threshold, then the matrix is considered to be too far from a |
| true rotation matrix and an exception is thrown.<p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>m</code> - rotation matrix</dd><dd><code>threshold</code> - convergence threshold for the iterative |
| orthogonality correction (convergence is reached when the |
| difference between two steps of the Frobenius norm of the |
| correction is below this threshold)</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/NotARotationMatrixException.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">NotARotationMatrixException</a></code> - if the matrix is not a 3X3 |
| matrix, or if it cannot be transformed into an orthogonal matrix |
| with the given threshold, or if the determinant of the resulting |
| orthogonal matrix is negative</dd></dl> |
| </li> |
| </ul> |
| <a name="FieldRotation(org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D, org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D, org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D, org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FieldRotation</h4> |
| <pre>public FieldRotation(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> u1, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> u2, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> v1, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> v2) |
| throws <a href="../../../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block">Build the rotation that transforms a pair of vector into another pair. |
| |
| <p>Except for possible scale factors, if the instance were applied to |
| the pair (u<sub>1</sub>, u<sub>2</sub>) it will produce the pair |
| (v<sub>1</sub>, v<sub>2</sub>).</p> |
| |
| <p>If the angular separation between u<sub>1</sub> and u<sub>2</sub> is |
| not the same as the angular separation between v<sub>1</sub> and |
| v<sub>2</sub>, then a corrected v'<sub>2</sub> will be used rather than |
| v<sub>2</sub>, the corrected vector will be in the (v<sub>1</sub>, |
| v<sub>2</sub>) plane.</p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>u1</code> - first vector of the origin pair</dd><dd><code>u2</code> - second vector of the origin pair</dd><dd><code>v1</code> - desired image of u1 by the rotation</dd><dd><code>v2</code> - desired image of u2 by the rotation</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the norm of one of the vectors is zero, |
| or if one of the pair is degenerated (i.e. the vectors of the pair are colinear)</dd></dl> |
| </li> |
| </ul> |
| <a name="FieldRotation(org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D, org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FieldRotation</h4> |
| <pre>public FieldRotation(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> u, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> v) |
| throws <a href="../../../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></pre> |
| <div class="block">Build one of the rotations that transform one vector into another one. |
| |
| <p>Except for a possible scale factor, if the instance were |
| applied to the vector u it will produce the vector v. There is an |
| infinite number of such rotations, this constructor choose the |
| one with the smallest associated angle (i.e. the one whose axis |
| is orthogonal to the (u, v) plane). If u and v are colinear, an |
| arbitrary rotation axis is chosen.</p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>u</code> - origin vector</dd><dd><code>v</code> - desired image of u by the rotation</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../../../org/apache/commons/math3/exception/MathArithmeticException.html" title="class in org.apache.commons.math3.exception">MathArithmeticException</a></code> - if the norm of one of the vectors is zero</dd></dl> |
| </li> |
| </ul> |
| <a name="FieldRotation(org.apache.commons.math3.geometry.euclidean.threed.RotationOrder,org.apache.commons.math3.RealFieldElement,org.apache.commons.math3.RealFieldElement,org.apache.commons.math3.RealFieldElement)"> |
| <!-- --> |
| </a><a name="FieldRotation(org.apache.commons.math3.geometry.euclidean.threed.RotationOrder, T, T, T)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>FieldRotation</h4> |
| <pre>public FieldRotation(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/RotationOrder.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">RotationOrder</a> order, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> alpha1, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> alpha2, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> alpha3)</pre> |
| <div class="block">Build a rotation from three Cardan or Euler elementary rotations. |
| |
| <p>Cardan rotations are three successive rotations around the |
| canonical axes X, Y and Z, each axis being used once. There are |
| 6 such sets of rotations (XYZ, XZY, YXZ, YZX, ZXY and ZYX). Euler |
| rotations are three successive rotations around the canonical |
| axes X, Y and Z, the first and last rotations being around the |
| same axis. There are 6 such sets of rotations (XYX, XZX, YXY, |
| YZY, ZXZ and ZYZ), the most popular one being ZXZ.</p> |
| <p>Beware that many people routinely use the term Euler angles even |
| for what really are Cardan angles (this confusion is especially |
| widespread in the aerospace business where Roll, Pitch and Yaw angles |
| are often wrongly tagged as Euler angles).</p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>order</code> - order of rotations to use</dd><dd><code>alpha1</code> - angle of the first elementary rotation</dd><dd><code>alpha2</code> - angle of the second elementary rotation</dd><dd><code>alpha3</code> - angle of the third elementary rotation</dd></dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ============ METHOD DETAIL ========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method_detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a name="revert()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>revert</h4> |
| <pre>public <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> revert()</pre> |
| <div class="block">Revert a rotation. |
| Build a rotation which reverse the effect of another |
| rotation. This means that if r(u) = v, then r.revert(v) = u. The |
| instance is not changed.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>a new rotation whose effect is the reverse of the effect |
| of the instance</dd></dl> |
| </li> |
| </ul> |
| <a name="getQ0()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getQ0</h4> |
| <pre>public <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> getQ0()</pre> |
| <div class="block">Get the scalar coordinate of the quaternion.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>scalar coordinate of the quaternion</dd></dl> |
| </li> |
| </ul> |
| <a name="getQ1()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getQ1</h4> |
| <pre>public <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> getQ1()</pre> |
| <div class="block">Get the first coordinate of the vectorial part of the quaternion.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>first coordinate of the vectorial part of the quaternion</dd></dl> |
| </li> |
| </ul> |
| <a name="getQ2()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getQ2</h4> |
| <pre>public <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> getQ2()</pre> |
| <div class="block">Get the second coordinate of the vectorial part of the quaternion.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>second coordinate of the vectorial part of the quaternion</dd></dl> |
| </li> |
| </ul> |
| <a name="getQ3()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getQ3</h4> |
| <pre>public <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> getQ3()</pre> |
| <div class="block">Get the third coordinate of the vectorial part of the quaternion.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>third coordinate of the vectorial part of the quaternion</dd></dl> |
| </li> |
| </ul> |
| <a name="getAxis()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getAxis</h4> |
| <pre>public <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> getAxis()</pre> |
| <div class="block">Get the normalized axis of the rotation.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>normalized axis of the rotation</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#FieldRotation(org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D, T)"><code>FieldRotation(FieldVector3D, RealFieldElement)</code></a></dd></dl> |
| </li> |
| </ul> |
| <a name="getAngle()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getAngle</h4> |
| <pre>public <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a> getAngle()</pre> |
| <div class="block">Get the angle of the rotation.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>angle of the rotation (between 0 and π)</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html#FieldRotation(org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D, T)"><code>FieldRotation(FieldVector3D, RealFieldElement)</code></a></dd></dl> |
| </li> |
| </ul> |
| <a name="getAngles(org.apache.commons.math3.geometry.euclidean.threed.RotationOrder)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getAngles</h4> |
| <pre>public <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>[] getAngles(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/RotationOrder.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">RotationOrder</a> order) |
| throws <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/CardanEulerSingularityException.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">CardanEulerSingularityException</a></pre> |
| <div class="block">Get the Cardan or Euler angles corresponding to the instance. |
| |
| <p>The equations show that each rotation can be defined by two |
| different values of the Cardan or Euler angles set. For example |
| if Cardan angles are used, the rotation defined by the angles |
| a<sub>1</sub>, a<sub>2</sub> and a<sub>3</sub> is the same as |
| the rotation defined by the angles π + a<sub>1</sub>, π |
| - a<sub>2</sub> and π + a<sub>3</sub>. This method implements |
| the following arbitrary choices:</p> |
| <ul> |
| <li>for Cardan angles, the chosen set is the one for which the |
| second angle is between -π/2 and π/2 (i.e its cosine is |
| positive),</li> |
| <li>for Euler angles, the chosen set is the one for which the |
| second angle is between 0 and π (i.e its sine is positive).</li> |
| </ul> |
| |
| <p>Cardan and Euler angle have a very disappointing drawback: all |
| of them have singularities. This means that if the instance is |
| too close to the singularities corresponding to the given |
| rotation order, it will be impossible to retrieve the angles. For |
| Cardan angles, this is often called gimbal lock. There is |
| <em>nothing</em> to do to prevent this, it is an intrinsic problem |
| with Cardan and Euler representation (but not a problem with the |
| rotation itself, which is perfectly well defined). For Cardan |
| angles, singularities occur when the second angle is close to |
| -π/2 or +π/2, for Euler angle singularities occur when the |
| second angle is close to 0 or π, this implies that the identity |
| rotation is always singular for Euler angles!</p></div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>order</code> - rotation order to use</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>an array of three angles, in the order specified by the set</dd> |
| <dt><span class="strong">Throws:</span></dt> |
| <dd><code><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/CardanEulerSingularityException.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">CardanEulerSingularityException</a></code> - if the rotation is |
| singular with respect to the angles set specified</dd></dl> |
| </li> |
| </ul> |
| <a name="getMatrix()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getMatrix</h4> |
| <pre>public <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>[][] getMatrix()</pre> |
| <div class="block">Get the 3X3 matrix corresponding to the instance</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>the matrix corresponding to the instance</dd></dl> |
| </li> |
| </ul> |
| <a name="toRotation()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>toRotation</h4> |
| <pre>public <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Rotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">Rotation</a> toRotation()</pre> |
| <div class="block">Convert to a constant vector without derivatives.</div> |
| <dl><dt><span class="strong">Returns:</span></dt><dd>a constant vector</dd></dl> |
| </li> |
| </ul> |
| <a name="applyTo(org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>applyTo</h4> |
| <pre>public <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> applyTo(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> u)</pre> |
| <div class="block">Apply the rotation to a vector.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>u</code> - vector to apply the rotation to</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>a new vector which is the image of u by the rotation</dd></dl> |
| </li> |
| </ul> |
| <a name="applyTo(org.apache.commons.math3.geometry.euclidean.threed.Vector3D)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>applyTo</h4> |
| <pre>public <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> applyTo(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Vector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">Vector3D</a> u)</pre> |
| <div class="block">Apply the rotation to a vector.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>u</code> - vector to apply the rotation to</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>a new vector which is the image of u by the rotation</dd></dl> |
| </li> |
| </ul> |
| <a name="applyTo(org.apache.commons.math3.RealFieldElement[],org.apache.commons.math3.RealFieldElement[])"> |
| <!-- --> |
| </a><a name="applyTo(T[], T[])"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>applyTo</h4> |
| <pre>public void applyTo(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>[] in, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>[] out)</pre> |
| <div class="block">Apply the rotation to a vector stored in an array.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>in</code> - an array with three items which stores vector to rotate</dd><dd><code>out</code> - an array with three items to put result to (it can be the same |
| array as in)</dd></dl> |
| </li> |
| </ul> |
| <a name="applyTo(double[],org.apache.commons.math3.RealFieldElement[])"> |
| <!-- --> |
| </a><a name="applyTo(double[], T[])"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>applyTo</h4> |
| <pre>public void applyTo(double[] in, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>[] out)</pre> |
| <div class="block">Apply the rotation to a vector stored in an array.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>in</code> - an array with three items which stores vector to rotate</dd><dd><code>out</code> - an array with three items to put result to</dd></dl> |
| </li> |
| </ul> |
| <a name="applyTo(org.apache.commons.math3.geometry.euclidean.threed.Rotation, org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>applyTo</h4> |
| <pre>public static <T extends <a href="../../../../../../../org/apache/commons/math3/RealFieldElement.html" title="interface in org.apache.commons.math3">RealFieldElement</a><T>> <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><T> applyTo(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Rotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">Rotation</a> r, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><T> u)</pre> |
| <div class="block">Apply a rotation to a vector.</div> |
| <dl><dt><span class="strong">Type Parameters:</span></dt><dd><code>T</code> - the type of the field elements</dd><dt><span class="strong">Parameters:</span></dt><dd><code>r</code> - rotation to apply</dd><dd><code>u</code> - vector to apply the rotation to</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>a new vector which is the image of u by the rotation</dd></dl> |
| </li> |
| </ul> |
| <a name="applyInverseTo(org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>applyInverseTo</h4> |
| <pre>public <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> applyInverseTo(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> u)</pre> |
| <div class="block">Apply the inverse of the rotation to a vector.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>u</code> - vector to apply the inverse of the rotation to</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>a new vector which such that u is its image by the rotation</dd></dl> |
| </li> |
| </ul> |
| <a name="applyInverseTo(org.apache.commons.math3.geometry.euclidean.threed.Vector3D)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>applyInverseTo</h4> |
| <pre>public <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> applyInverseTo(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Vector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">Vector3D</a> u)</pre> |
| <div class="block">Apply the inverse of the rotation to a vector.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>u</code> - vector to apply the inverse of the rotation to</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>a new vector which such that u is its image by the rotation</dd></dl> |
| </li> |
| </ul> |
| <a name="applyInverseTo(org.apache.commons.math3.RealFieldElement[],org.apache.commons.math3.RealFieldElement[])"> |
| <!-- --> |
| </a><a name="applyInverseTo(T[], T[])"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>applyInverseTo</h4> |
| <pre>public void applyInverseTo(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>[] in, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>[] out)</pre> |
| <div class="block">Apply the inverse of the rotation to a vector stored in an array.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>in</code> - an array with three items which stores vector to rotate</dd><dd><code>out</code> - an array with three items to put result to (it can be the same |
| array as in)</dd></dl> |
| </li> |
| </ul> |
| <a name="applyInverseTo(double[],org.apache.commons.math3.RealFieldElement[])"> |
| <!-- --> |
| </a><a name="applyInverseTo(double[], T[])"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>applyInverseTo</h4> |
| <pre>public void applyInverseTo(double[] in, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>[] out)</pre> |
| <div class="block">Apply the inverse of the rotation to a vector stored in an array.</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>in</code> - an array with three items which stores vector to rotate</dd><dd><code>out</code> - an array with three items to put result to</dd></dl> |
| </li> |
| </ul> |
| <a name="applyInverseTo(org.apache.commons.math3.geometry.euclidean.threed.Rotation, org.apache.commons.math3.geometry.euclidean.threed.FieldVector3D)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>applyInverseTo</h4> |
| <pre>public static <T extends <a href="../../../../../../../org/apache/commons/math3/RealFieldElement.html" title="interface in org.apache.commons.math3">RealFieldElement</a><T>> <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><T> applyInverseTo(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Rotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">Rotation</a> r, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldVector3D</a><T> u)</pre> |
| <div class="block">Apply the inverse of a rotation to a vector.</div> |
| <dl><dt><span class="strong">Type Parameters:</span></dt><dd><code>T</code> - the type of the field elements</dd><dt><span class="strong">Parameters:</span></dt><dd><code>r</code> - rotation to apply</dd><dd><code>u</code> - vector to apply the inverse of the rotation to</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>a new vector which such that u is its image by the rotation</dd></dl> |
| </li> |
| </ul> |
| <a name="applyTo(org.apache.commons.math3.geometry.euclidean.threed.FieldRotation)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>applyTo</h4> |
| <pre>public <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> applyTo(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> r)</pre> |
| <div class="block">Apply the instance to another rotation. |
| Applying the instance to a rotation is computing the composition |
| in an order compliant with the following rule : let u be any |
| vector and v its image by r (i.e. r.applyTo(u) = v), let w be the image |
| of v by the instance (i.e. applyTo(v) = w), then w = comp.applyTo(u), |
| where comp = applyTo(r).</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>r</code> - rotation to apply the rotation to</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>a new rotation which is the composition of r by the instance</dd></dl> |
| </li> |
| </ul> |
| <a name="applyTo(org.apache.commons.math3.geometry.euclidean.threed.Rotation)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>applyTo</h4> |
| <pre>public <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> applyTo(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Rotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">Rotation</a> r)</pre> |
| <div class="block">Apply the instance to another rotation. |
| Applying the instance to a rotation is computing the composition |
| in an order compliant with the following rule : let u be any |
| vector and v its image by r (i.e. r.applyTo(u) = v), let w be the image |
| of v by the instance (i.e. applyTo(v) = w), then w = comp.applyTo(u), |
| where comp = applyTo(r).</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>r</code> - rotation to apply the rotation to</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>a new rotation which is the composition of r by the instance</dd></dl> |
| </li> |
| </ul> |
| <a name="applyTo(org.apache.commons.math3.geometry.euclidean.threed.Rotation, org.apache.commons.math3.geometry.euclidean.threed.FieldRotation)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>applyTo</h4> |
| <pre>public static <T extends <a href="../../../../../../../org/apache/commons/math3/RealFieldElement.html" title="interface in org.apache.commons.math3">RealFieldElement</a><T>> <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><T> applyTo(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Rotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">Rotation</a> r1, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><T> rInner)</pre> |
| <div class="block">Apply a rotation to another rotation. |
| Applying a rotation to another rotation is computing the composition |
| in an order compliant with the following rule : let u be any |
| 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).</div> |
| <dl><dt><span class="strong">Type Parameters:</span></dt><dd><code>T</code> - the type of the field elements</dd><dt><span class="strong">Parameters:</span></dt><dd><code>r1</code> - rotation to apply</dd><dd><code>rInner</code> - rotation to apply the rotation to</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>a new rotation which is the composition of r by the instance</dd></dl> |
| </li> |
| </ul> |
| <a name="applyInverseTo(org.apache.commons.math3.geometry.euclidean.threed.FieldRotation)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>applyInverseTo</h4> |
| <pre>public <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> applyInverseTo(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> r)</pre> |
| <div class="block">Apply the inverse of the instance to another rotation. |
| Applying the inverse of the instance to a rotation is computing |
| the composition in an order compliant with the following rule : |
| let u be any vector and v its image by r (i.e. r.applyTo(u) = v), |
| let w be the inverse image of v by the instance |
| (i.e. applyInverseTo(v) = w), then w = comp.applyTo(u), where |
| comp = applyInverseTo(r).</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>r</code> - rotation to apply the rotation to</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>a new rotation which is the composition of r by the inverse |
| of the instance</dd></dl> |
| </li> |
| </ul> |
| <a name="applyInverseTo(org.apache.commons.math3.geometry.euclidean.threed.Rotation)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>applyInverseTo</h4> |
| <pre>public <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="type parameter in FieldRotation">T</a>> applyInverseTo(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Rotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">Rotation</a> r)</pre> |
| <div class="block">Apply the inverse of the instance to another rotation. |
| Applying the inverse of the instance to a rotation is computing |
| the composition in an order compliant with the following rule : |
| let u be any vector and v its image by r (i.e. r.applyTo(u) = v), |
| let w be the inverse image of v by the instance |
| (i.e. applyInverseTo(v) = w), then w = comp.applyTo(u), where |
| comp = applyInverseTo(r).</div> |
| <dl><dt><span class="strong">Parameters:</span></dt><dd><code>r</code> - rotation to apply the rotation to</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>a new rotation which is the composition of r by the inverse |
| of the instance</dd></dl> |
| </li> |
| </ul> |
| <a name="applyInverseTo(org.apache.commons.math3.geometry.euclidean.threed.Rotation, org.apache.commons.math3.geometry.euclidean.threed.FieldRotation)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>applyInverseTo</h4> |
| <pre>public static <T extends <a href="../../../../../../../org/apache/commons/math3/RealFieldElement.html" title="interface in org.apache.commons.math3">RealFieldElement</a><T>> <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><T> applyInverseTo(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Rotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">Rotation</a> rOuter, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><T> rInner)</pre> |
| <div class="block">Apply the inverse of a rotation to another rotation. |
| Applying the inverse of a rotation to another rotation is computing |
| the composition in an order compliant with the following rule : |
| let u be any vector and v its image by rInner (i.e. rInner.applyTo(u) = v), |
| 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).</div> |
| <dl><dt><span class="strong">Type Parameters:</span></dt><dd><code>T</code> - the type of the field elements</dd><dt><span class="strong">Parameters:</span></dt><dd><code>rOuter</code> - rotation to apply the rotation to</dd><dd><code>rInner</code> - rotation to apply the rotation to</dd> |
| <dt><span class="strong">Returns:</span></dt><dd>a new rotation which is the composition of r by the inverse |
| of the instance</dd></dl> |
| </li> |
| </ul> |
| <a name="distance(org.apache.commons.math3.geometry.euclidean.threed.FieldRotation, org.apache.commons.math3.geometry.euclidean.threed.FieldRotation)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>distance</h4> |
| <pre>public static <T extends <a href="../../../../../../../org/apache/commons/math3/RealFieldElement.html" title="interface in org.apache.commons.math3">RealFieldElement</a><T>> T distance(<a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><T> r1, |
| <a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" title="class in org.apache.commons.math3.geometry.euclidean.threed">FieldRotation</a><T> r2)</pre> |
| <div class="block">Compute the <i>distance</i> between two rotations. |
| <p>The <i>distance</i> is intended here as a way to check if two |
| rotations are almost similar (i.e. they transform vectors the same way) |
| or very different. It is mathematically defined as the angle of |
| the rotation r that prepended to one of the rotations gives the other |
| one:</p> |
| <pre> |
| r<sub>1</sub>(r) = r<sub>2</sub> |
| </pre> |
| <p>This distance is an angle between 0 and π. Its value is the smallest |
| possible upper bound of the angle in radians between r<sub>1</sub>(v) |
| and r<sub>2</sub>(v) for all possible vectors v. This upper bound is |
| reached for some v. The distance is equal to 0 if and only if the two |
| rotations are identical.</p> |
| <p>Comparing two rotations should always be done using this value rather |
| than for example comparing the components of the quaternions. It is much |
| more stable, and has a geometric meaning. Also comparing quaternions |
| components is error prone since for example quaternions (0.36, 0.48, -0.48, -0.64) |
| and (-0.36, -0.48, 0.48, 0.64) represent exactly the same rotation despite |
| their components are different (they are exact opposites).</p></div> |
| <dl><dt><span class="strong">Type Parameters:</span></dt><dd><code>T</code> - the type of the field elements</dd><dt><span class="strong">Parameters:</span></dt><dd><code>r1</code> - first rotation</dd><dd><code>r2</code> - second rotation</dd> |
| <dt><span class="strong">Returns:</span></dt><dd><i>distance</i> between r1 and r2</dd></dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <!-- ========= END OF CLASS DATA ========= --> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a name="navbar_bottom"> |
| <!-- --> |
| </a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="class-use/FieldRotation.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/Euclidean3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed"><span class="strong">Prev Class</span></a></li> |
| <li><a href="../../../../../../../org/apache/commons/math3/geometry/euclidean/threed/FieldVector3D.html" title="class in org.apache.commons.math3.geometry.euclidean.threed"><span class="strong">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../../../index.html?org/apache/commons/math3/geometry/euclidean/threed/FieldRotation.html" target="_top">Frames</a></li> |
| <li><a href="FieldRotation.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_bottom"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li><a href="#constructor_summary">Constr</a> | </li> |
| <li><a href="#method_summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor_detail">Constr</a> | </li> |
| <li><a href="#method_detail">Method</a></li> |
| </ul> |
| </div> |
| <a name="skip-navbar_bottom"> |
| <!-- --> |
| </a></div> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| <p class="legalCopy"><small>Copyright © 2003–2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </body> |
| </html> |