3
$\begingroup$

This question already has an answer here:

On the Wolfram|Alpha website, I type quaternion(1,1,1,1) into the search field. Wolfram|Alpha shows a 3D transformation of the quaternion values representing the orientation of an object.

I have 9 more quaternion values other than quaternion(1,1,1,1).

I would like to ask how can I visualize the 3D transformation of the remaining 9 quaternion values, but without using the Wolfram|Alpha website and opening 9 more tabs and keying in the additional values into search fields.

I hope, rather, to write a Mathematica program to demonstrate rotation according to my 10 quaternion values. Every rotation will take 1 second, so in total the demonstration will take 10 seconds for all 10 rotations.

Can anyone help me how I can write the code for my proposed demonstration?

$\endgroup$

marked as duplicate by J. M. will be back soon Oct 5 '18 at 4:34

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 1
    $\begingroup$ Do you want to do this with Wolfram|Alpha, the website, or with Mathematica, the desktop software? $\endgroup$ – Szabolcs Aug 2 '15 at 11:20
  • $\begingroup$ if can, using mathematica. $\endgroup$ – Jimmy Lee Jing-yi Aug 2 '15 at 11:29
  • $\begingroup$ You can convert the quaternion to a rotation matrix, then use GeometricTransformation and AffineTransform. $\endgroup$ – Szabolcs Aug 2 '15 at 11:41
  • $\begingroup$ Maybe you can help me. I have quartenion code here. demonstrations.wolfram.com/… $\endgroup$ – Jimmy Lee Jing-yi Aug 2 '15 at 12:14
  • $\begingroup$ This may be helpful: mathematica.stackexchange.com/a/51487/1997 $\endgroup$ – ubpdqn Aug 2 '15 at 23:26
4
$\begingroup$

Kind of a part answer: It is quite easy to convert a quaternion to a Mathematica RotationMatrix. First normalize the quaternion. The first element will then be the cosine of half the rotation angle. The last 3 elements together describes the axis of rotation.

q = Normalize@{1, 1, 1, 1}
rm = RotationMatrix[2 ArcCos[First@q], Rest@q]
$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.