Message Boards Message Boards

0
|
5493 Views
|
3 Replies
|
0 Total Likes
View groups...
Share
Share this post:

Solve equality involving Euler's angles?

Posted 5 years ago

Hi,

In the attached file, I am trying to solve an equation involving transformation of a vector to other using Euler's angles. Every transformation should have a unique set of three Euler's angles.

The problem I am facing is that in certain sets of vectors, Solve function is giving no solution while for some cases, more than one solutions are available. In certain cases it comes back with the error message that "This system can not be solved using Solve".

Will appreciate any suggestion or any alternative method to solve these equations.

Attachments:
POSTED BY: S G
3 Replies
Posted 5 years ago

The 1st and 3rd equation cannot be solved since any rotation of a vector conserves the length of the vector, however, the length of {1,0,0},{1,1,0} ,and {1,1,1} are obviously all different.

For the 2nd equation the rotation matrix corresponds the unity matrix and different choice of angles produce a unity matrix. The natural choice would be all three angles equal zero (identy operation by doing no rotation)

POSTED BY: Michael Helmle
Posted 5 years ago

Thanks a lot !! I agree with you, but not able to understand the reason behind the strange behavior of transformation matrix / Mathematica. I also confirmed the transformation matrix for any possible error by transforming general vector {a, b, c}

TM.{a , b, c}=={a, b, c}/.{phi-> 0, theta-> 0, si-> 0}

which comes out to be "True".

Perhaps someone with good knowledge of transformation of axes via Euler's angles can help ! Let us see if someone else responds.

POSTED BY: S G
Posted 5 years ago

For your first and third problem both Solve and Reduce are convinced there are no solutions.

For your second problem Solve cannot crack it, but Reduce is able to do it

TM={{Cos[phi]*Cos[si]-Cos[theta]*Sin[phi]*Sin[si], Cos[si]*Sin[phi]+Cos[theta]*Cos[phi]*Sin[si], Sin[theta]*Sin[si]},
{-Cos[theta]*Cos[si]*Sin[phi]-Cos[phi]*Sin[si], -Sin[phi]*Sin[si]+Cos[theta]*Cos[phi]*Cos[si], Cos[si]*Sin[theta]},
{Sin[theta]*Sin[phi], -Cos[phi]*Sin[theta], Cos[theta]}};
Simplify[Reduce[TM.{1, 0, 0}=={1, 0, 0} && 0<=phi<2Pi &&
-Pi/2<=theta<Pi/2 && 0<=si<2Pi,{phi, theta, si}],
  0<=phi<2Pi && -Pi/2<=theta<Pi/2 && 0<=si<2Pi]

which quickly returns

(phi == 0 && si == 0) ||
(phi == Pi && si == Pi) ||
(theta == 0 &&
 ((si + 2*ArcTan[Tan[phi/2]] == 2*Pi && 0<phi<Pi]) ||
  (si == -2*ArcTan[Tan[phi/2]] && phi > Pi)))

Checking each of those potential solutions, and many more, all return True

TM.{1, 0, 0}=={1, 0, 0}/.{phi->0, si->0}
TM.{1, 0, 0}=={1, 0, 0}/.{phi->Pi, si->Pi}
TM.{1, 0, 0}=={1, 0, 0}//.{theta->0,phi->Pi/2, si->2 Pi-2*ArcTan[Tan[phi/2]]}
TM.{1, 0, 0}=={1, 0, 0}//.{theta->0,phi->Pi/8, si->2 Pi-2*ArcTan[Tan[phi/2]]}
TM.{1, 0, 0}=={1, 0, 0}//.{theta->0,phi->3Pi/2, si->-2*ArcTan[Tan[phi/2]]}
TM.{1, 0, 0}=={1, 0, 0}//.{theta->0,phi->9Pi/8, si->-2*ArcTan[Tan[phi/2]]}

If your configuration implies there must be a unique solution for each of those problems then the only thing I can imagine is that some flaw has crept into the the construction of the problem.

POSTED BY: Bill Nelson
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract