Vector rotation (possibly Euler angles)

Click For Summary
The discussion focuses on methods for rotating a 3D vector while maintaining its magnitude and positioning it at a specific 3D point. Euler angles are explored as a potential solution, with a detailed explanation of the rotation matrices for the x and y axes. The process involves applying these matrices sequentially to achieve the desired rotations, exemplified by rotating a vector by 45 degrees around both axes. Additionally, it emphasizes the need to calculate both the new orientation of the vector and its new position after rotation. The conversation concludes with a confirmation that the provided explanations were helpful.
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...)
 
Mathematics news on Phys.org
The Euler angles is one way of doing it. If you set

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

Then the full rotation by the 3 angles are given by A=BCD. Then if your vector is x your rotated vector becomes x&#039;=Ax. 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 C matrix is the identity matrix and \phi=\psi=\pi/4
 
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
R(\theta) = \begin{pmatrix}<br /> \cos\theta &amp; -\sin\theta\\<br /> \sin\theta &amp; \cos\theta\\<br /> \end{pmatrix}
The identity transformation leaves all values the same. For 3-dimensional Euclidean space with the usual basis the identity is
\begin{pmatrix}<br /> 1 &amp; 0 &amp; 0 \\<br /> 0 &amp; 1 &amp; 0\\<br /> 0 &amp; 0 &amp; 1\\<br /> \end{pmatrix}
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).
<br /> \begin{pmatrix}<br /> 1 &amp; 0 &amp; 0 \\<br /> 0 &amp; \cos\theta &amp; \sin\theta\\<br /> 0 &amp; -\sin\theta &amp; \cos\theta\\<br /> \end{pmatrix}<br />
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).
<br /> \begin{pmatrix}<br /> \cos\theta &amp; 0 &amp; -\sin\theta \\<br /> 0 &amp; 1 &amp; 0\\<br /> \sin\theta &amp; 0 &amp; \cos\theta\\<br /> \end{pmatrix}<br />
To rotate your example by 45 degrees about the x-axis, then 45 degrees about the y-axis, we would first apply the transformation
<br /> \begin{pmatrix}<br /> \frac{\sqrt{2}}{2} &amp; 0 &amp; -\frac{\sqrt{2}}{2} \\<br /> 0 &amp; 1 &amp; 0\\<br /> \frac{\sqrt{2}}{2} &amp; 0 &amp; \frac{\sqrt{2}}{2}\\<br /> \end{pmatrix}<br />
and then the transformation
<br /> \begin{pmatrix}<br /> 1 &amp; 0 &amp; 0 \\<br /> 0 &amp; \frac{\sqrt{2}}{2} &amp; \frac{\sqrt{2}}{2}\\<br /> 0 &amp; -\frac{\sqrt{2}}{2} &amp; \frac{\sqrt{2}}{2}\\<br /> \end{pmatrix}<br />
as described above.
 
Last edited:
cheers,
exactly what i needed.

Kev
 
Here is a little puzzle from the book 100 Geometric Games by Pierre Berloquin. The side of a small square is one meter long and the side of a larger square one and a half meters long. One vertex of the large square is at the center of the small square. The side of the large square cuts two sides of the small square into one- third parts and two-thirds parts. What is the area where the squares overlap?

Similar threads

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