Finding a rotation matrix (difficult)

In summary, the problem involves finding the Euler angles of the second coordinate system with respect to the first coordinate system by using multiple points and a displacement vector between the two systems. The approach involves finding the plane spanned by the vectors of each point, using the dot product to find the angle between the normal vector and the z-axis, and using the cross product to determine the correct direction of the angle. Using more points can help to reduce error and improve the accuracy of the solution.
  • #1
spaderdabomb
49
0

Homework Statement



There are two coordinate systems which have different euler angles. Approximately find the euler angles of the second coordinate system with respect to the first coordinate system. Do this by taking the fact that you are able to plot points and know the position of the points with an error of 1 mm in each coordinate system. Use as many points as it is necessary to get a result with an error of no more than 1 mm if the whole system of rotation is 0.25 meters.

Homework Equations



None that are relevent

The Attempt at a Solution



1) Find displacement vector between two coord systems.
2) Find multiple points in both coord systems
3) Find the plane that the two vectors span, corresponding to each individual point (there should be two vectors for each point since we have two coordinate systems).
4) Find the normal vector to the plane
5) From using the dot product, we can find the angle between the two vectors
6) I THINK (someone help me out here if I'm right or not) the angle that we have found between the two vectors should be the same magnitude angle (except the negative of the angle since we are going to rotate the coordinate system instead of vectors). The rotation axis of this angle I THINK, should be around the normal vector to the plane the two vectors spanned.
7) Well now I'm stuck...I figured what I was doing was on the right track but I'm not sure.

I have data for the points so I can start with that, but I don't want anyone to solve the exact solution for me. I am not sure what to do once I have the points. I thought I should find the vector of each point in the second coordinate system, then find the vector of the points in the first coordinate system (except subtract off the displacement vector between the two coordinate systems). Then somehow compare the orientation of the vectors.

Can someone help give an explanation as to how I can somehow find orientation between the two coordinate systems just by having a bunch of different points? I am not sure, but I think it may involve some sort of alogrithm that gets more accurate with more points.
 
Last edited:
Physics news on Phys.org
  • #2


First of all, great job on taking the initiative to solve this problem! it is important to think critically and problem solve, and that is exactly what you are doing here.

Your approach so far is on the right track. You have correctly identified the displacement vector between the two coordinate systems as a key piece of information. This vector will help you determine the orientation of the second coordinate system with respect to the first.

To continue with your approach, you can start by selecting multiple points in both coordinate systems and labeling them with their respective coordinates. Then, as you mentioned, you can find the vector for each point in both coordinate systems and subtract the displacement vector to get the corrected vector for the second coordinate system.

Next, you can use these vectors to find the plane that they span. This can be done by taking the cross product of the two vectors, which will give you the normal vector to the plane. From there, you can use the dot product to find the angle between the normal vector and the z-axis (assuming the z-axis is the axis of rotation for the coordinate systems).

Now, here is where it gets a little tricky. While the angle you have calculated is the correct magnitude, it is not the correct sign. This is because the dot product only gives you the magnitude of the angle, not the direction. To get the correct direction, you will need to use the cross product again. This time, take the cross product of the normal vector and the z-axis. This will give you a vector that is perpendicular to both the normal vector and the z-axis. The direction of this vector will tell you whether the angle is positive or negative.

Once you have the correct angle and direction, you can use this information to calculate the Euler angles for the second coordinate system with respect to the first. This will involve some trigonometry, but you should be able to do it using the components of the corrected vector for the second coordinate system.

As for using more points to get a more accurate result, you can repeat this process for multiple points and take the average of the calculated Euler angles. This will help to reduce any error that may have been introduced by using only a few points.

I hope this helps to guide you in the right direction. Remember, as a scientist, it is important to think critically, problem solve, and be open to trying different approaches. Good luck with your solution!
 

FAQ: Finding a rotation matrix (difficult)

What is a rotation matrix?

A rotation matrix is a mathematical tool used to describe a rotation in a three-dimensional space. It is a square matrix that represents the orientation of an object, with respect to a fixed coordinate system, after a rotation around a specific axis.

How do you find a rotation matrix?

To find a rotation matrix, you need to know the angle and axis of rotation. The rotation matrix is then calculated using trigonometric functions, such as sine and cosine, and the coordinates of the axis of rotation. The result is a 3x3 matrix that can be used to rotate a point or object in three-dimensional space.

What makes finding a rotation matrix difficult?

Finding a rotation matrix can be difficult because it requires a good understanding of linear algebra and trigonometry. It also involves multiple steps and calculations, which can be time-consuming and prone to errors. Additionally, finding the correct angle and axis of rotation can be challenging in complex geometries.

What are some applications of rotation matrices?

Rotation matrices have various applications in fields such as computer graphics, robotics, and physics. They are used to rotate objects in 3D modeling and animation software, to control the movement of robotic arms, and to describe the orientation of objects in physics simulations.

Can a rotation matrix be used for non-linear transformations?

No, a rotation matrix can only be used for linear transformations. This means that it can only rotate an object around a fixed point and cannot change its shape or size. For non-linear transformations, other mathematical tools such as scaling and shearing matrices are needed.

Similar threads

Replies
4
Views
1K
Replies
3
Views
3K
Replies
2
Views
1K
Replies
15
Views
2K
Replies
6
Views
2K
Replies
16
Views
2K
Replies
1
Views
728
Back
Top