Vector rotation (possibly Euler angles)

Click For Summary

Discussion Overview

The discussion revolves around methods for rotating a 3D vector using Euler angles, specifically focusing on how to apply these rotations without altering the vector's magnitude and how to visualize the resulting vector at a specified point in 3D space. Participants explore the mathematical foundations of rotation matrices and their application to vector manipulation.

Discussion Character

  • Technical explanation
  • Mathematical reasoning
  • Exploratory

Main Points Raised

  • One participant seeks a method to rotate a 3D vector and visualize it at a specific point, expressing uncertainty about Euler angles.
  • Another participant provides rotation matrices for Euler angles and describes how to combine them to achieve the desired rotation.
  • A different participant requests a specific example of calculating Euler angles for multiple rotations, indicating a lack of understanding of the process.
  • One participant clarifies that attaching the vector to a point requires calculating both the new position and orientation of the vector, introducing the concept of combining position and vector using rotation matrices.
  • Further details are provided on how to construct rotation matrices for rotations about the x-axis and y-axis, including adjustments for the right-handed orientation.

Areas of Agreement / Disagreement

Participants express varying levels of understanding regarding the calculation and application of Euler angles, with some providing detailed mathematical explanations while others seek clarification. No consensus is reached on a singular method or understanding of the topic.

Contextual Notes

Participants mention specific angles for rotation and the need for visual representation, but there are unresolved aspects regarding the calculation of Euler angles and the application of rotation matrices in different contexts.

kevdoig
Messages
9
Reaction score
0
I'm looking for a method to rotate a 3D vector, and place it at an arbitary 3D point (x,y,z) without changing the vectors magnitude. I have briefly investigated eulers angles (mainly through wikipedia links etc), but don't fully understand the process yet.

As an example, given the vector : (3.6,1.6,0)

How could i rotate this by 45degrees on X axis.

Then again by 45degrees on the Y axis, as a separate rotation.

I would then like to visualise this vector at point (1,1,1), on a 3D plot i have created.(not sure if this effects anything...)
 
Physics news on Phys.org
The Euler angles is one way of doing it. If you set

[tex]D=<br /> \begin{pmatrix}<br /> \cos\phi & \sin\phi & 0\\<br /> -\sin\phi & \cos\phi & 0\\<br /> 0 & 0 & 1<br /> \end{pmatrix}<br /> C=<br /> \begin{pmatrix}<br /> 1 & 0 & 0\\<br /> 0 & \cos\theta & \sin\theta\\<br /> 0 & -\sin\theta & \cos\theta<br /> \end{pmatrix}<br /> B=<br /> \begin{pmatrix}<br /> \cos\psi & \sin\psi & 0\\<br /> -\sin\psi & \cos\psi & 0\\<br /> 0 & 0 & 1<br /> \end{pmatrix}[/tex]

Then the full rotation by the 3 angles are given by [tex]A=BCD[/tex]. Then if your vector is [tex]x[/tex] your rotated vector becomes [tex]x'=Ax[/tex]. The Euler angles can be defined in various ways. the above should fit with the figure here http://www.imada.sdu.dk/~bolind/euler-angles.ps" . Thus your [tex]C[/tex] matrix is the identity matrix and [tex]\phi=\psi=\pi/4[/tex]
 
Last edited by a moderator:
thanks,
my problems lies in how to calculate the euler angles for the rotation. If possible, could you maybe use an example (say, vector (3,2,0)) and show how to calculate the euler angles for a rotation of 30degrees x-axis, 20 degress y-axis, and 45 degrees z-axis for example.
Sorry if I'm missing something simple, but I'm new to eulers angles etc.
 
If you are attaching the vector to a point, you actually need to find two separate results: the new point the vector will be attached to after rotation, and the new orientation of the vector. If we call the position vector of the point the vector is attached to p, and the vector v, then these can be combined into getting the new position of the position vector p + v.
If you have the two rotation matrices X (some rotation about the x-axis) and Y (some rotation about the y-axis), then to get the new position, we just find YX(p + v) = YXp + YXv.
A rotation about one axis in 3-space is just a rotation in 2-space along with making sure nothing happens in the third dimension. Ie., a rotation about the x-axis is actually a rotation in the yz-plane where we make sure nothing happens to the x information.
A rotation matrix for a plane looks like
[tex]R(\theta) = \begin{pmatrix}<br /> \cos\theta & -\sin\theta\\<br /> \sin\theta & \cos\theta\\<br /> \end{pmatrix}[/tex]
The identity transformation leaves all values the same. For 3-dimensional Euclidean space with the usual basis the identity is
[tex]\begin{pmatrix}<br /> 1 & 0 & 0 \\<br /> 0 & 1 & 0\\<br /> 0 & 0 & 1\\<br /> \end{pmatrix}[/tex]
which is just the ordered list of basis vectors. We want to the y and z basis vectors, but leave the x basis vector the same, so we replace the lower right hand block, the identity for vectors in the yz-plane, with the rotation matrix R(\theta) above adjusted to rotate in the right-handed orientation (the old matrix rotates counterclockwise because we usually talk about rotations of some angle "from the positive x-axis". In 3 dimensions, we usually refer to clockwise rotations about an axis, so the angles are negated, which only affects the odd function sine).
[tex] \begin{pmatrix}<br /> 1 & 0 & 0 \\<br /> 0 & \cos\theta & \sin\theta\\<br /> 0 & -\sin\theta & \cos\theta\\<br /> \end{pmatrix}[/tex]
For rotation about the y-axis, or rotation in the xz-plane, we replace the 4 values corresponding to the identity block for the xz-plane with the rotation matrix (see the matrix like a torus, the screen of an Asteroids game).
[tex] \begin{pmatrix}<br /> \cos\theta & 0 & -\sin\theta \\<br /> 0 & 1 & 0\\<br /> \sin\theta & 0 & \cos\theta\\<br /> \end{pmatrix}[/tex]
To rotate your example by 45 degrees about the x-axis, then 45 degrees about the y-axis, we would first apply the transformation
[tex] \begin{pmatrix}<br /> \frac{\sqrt{2}}{2} & 0 & -\frac{\sqrt{2}}{2} \\<br /> 0 & 1 & 0\\<br /> \frac{\sqrt{2}}{2} & 0 & \frac{\sqrt{2}}{2}\\<br /> \end{pmatrix}[/tex]
and then the transformation
[tex] \begin{pmatrix}<br /> 1 & 0 & 0 \\<br /> 0 & \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2}\\<br /> 0 & -\frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2}\\<br /> \end{pmatrix}[/tex]
as described above.
 
Last edited:
cheers,
exactly what i needed.

Kev
 

Similar threads

  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
1K
Replies
3
Views
2K