[ 
https://issues.apache.org/jira/browse/MATH-1634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17433855#comment-17433855
 ] 

Alex Herbert commented on MATH-1634:
------------------------------------

The method {{double[] getAngles()}} has been replaced with:

{code:java}
public AxisAngleSequence toAxisAngleSequence(
    final AxisReferenceFrame frame, final AxisSequence axes)
public AxisAngleSequence toRelativeAxisAngleSequence(
    final AxisSequence axes)
public AxisAngleSequence toAbsoluteAxisAngleSequence(
    final AxisSequence axes)
{code}

The AxisAngleSquence contains the arguments frame and axes, and the 3 angles.


> Quaternion representation of Rotation is incorrect
> --------------------------------------------------
>
>                 Key: MATH-1634
>                 URL: https://issues.apache.org/jira/browse/MATH-1634
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: 3.6
>            Reporter: Piotr Gutkowski
>            Priority: Major
>         Attachments: image-2021-10-22-13-12-53-900.png, 
> image-2021-10-25-10-20-22-202.png
>
>
> Rotation is internally represented using quaternions. This representation is 
> not correct in terms of quaternion values, though aparently the Rotation 
> object behave correctly when it is constructed using angles or axes.
> For example, consider following rotation:
> Rotation r2 = {color:#000080}new {color}Rotation({color:#000080}new 
> {color}Vector3D({color:#0000ff}0{color},{color:#0000ff}0{color},{color:#0000ff}1{color}),
>  Math.{color:#660e7a}PI{color}/{color:#0000ff}2{color}, 
> {color:#660e7a}VECTOR_OPERATOR{color});
> It describes a counter-clockwise rotation around Z axis by 90 degrees, 
> similar to the example given here:
> [https://commons.apache.org/proper/commons-math/javadocs/api-3.6/org/apache/commons/math3/geometry/euclidean/threed/RotationConvention.html#VECTOR_OPERATOR]
> Such rotation should transform vector (1,0,0) into (0,1,0).
> The values of quaternions for this rotation are:
> !image-2021-10-22-13-12-53-900.png!
> (recall that 0.7071 is approximately sqrt(2)/2)
> Performing the rotation using quaternion algebra, corresponds to:
> p = (1,0,0) = i
> f(p) = q p q^(1) = (q0 + q3*k)*i*(q0 - q3*k) = -j
> -j = (0, -1, 0)
> where, i, j, k are imaginary unit vectors corresponding to axes x,y,z 
> respectively.
> You can visualize quaternions here:
> [https://eater.net/quaternions/video/intro]
> to see that in fact these quaternion values would produce rotation by - 90 
> degrees around Z axis.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to