Calculating Offsets on the Normal Coordinate System

In summary, the conversation discusses the use of Euler rotations and transformation matrices to describe rotations and transformations in three-dimensional space. The problem at hand is finding offsets in the normal coordinate system rather than the local coordinate system of Cube1. The solution involves understanding how to build rotation matrices and combining them to obtain a transformation matrix. The inverse of this matrix can then be used to transform points from Cube1's system to the normal system.
  • #1
chemart
6
0
I have problem with getting normal coordinates offset. I have cube1 and cube2. cube1 position is 10,10,10 and cube2 position is 10,9,10. Cube 2 offset refers to local coordinate system of cube1. If rotation of cube1 is 0,0,0 i get position offset 0,-1,0. But if cube1 rotation is 45,0,0 i get offset 0,-0.7071,+0.7071. The problem is that offsets don't use normal coordinate system, they use local coordiante system of cube1. How do i get offsets on normal coordinate system?
 
Mathematics news on Phys.org
  • #2
Euler rotations are a handy way for people to visualize simple rotations. There are many better alternatives to Euler rotations for describing rotations and transformations in three space. One approach that works very nicely with linear algebra is a transformation matrix. Your Euler rotation generates a transformation matrix to go from the "normal" to "local" coordinate frames:

[tex]
\vec x_{2,\text{local}} =
\mathbf{T}_{\text{normal}\to\text{local}}
(\vec x_{2,\text{normal}}-\vec x_{1,\text{normal}})
[/tex]

The above equation is invertible. Since the inverse of a transformation matrix is simply the transpose,

[tex]
\vec x_{2,\text{normal}} =
\vec x_{1,\text{normal}} +
\mathbf{T}_{\text{normal}\to\text{local}}^T \vec x_{2,\text{local}}
[/tex]
 
  • #3
I don't understand your answer. Its actualy using quanternions for rotation but i used euler becouse i thought it will be easier. I am really not good at math so if anyone could explain answer or give me example it would be great.
 
  • #4
I would suggest you try to understand it in small steps.

Step 1: How to build a matrix for a rotation in 2D.
Try to figure out the elements a,b,c,d of a 2x2 matrix, such that
[tex]
\left[ \begin{array}{c} x' \\ y' \end{array} \right] =
\left[ \begin{array}{cc} a & b \\ c & d \end{array} \right]
\left[ \begin{array}{c} x \\ y \end{array} \right]
[/tex]
where the vector (x,y) represents a point before the rotation, and the vector (x',y') is the point after being rotated.

Step 2: Now in 3D, build a 3x3 matrix that represent a rotation for one of the Euler angles, that is, around one of the standard axes, either the X-, Y- or Z-axis.

http://en.wikipedia.org/wiki/Rotation_matrix" can help you, and has a lot of examples.

Step 3: Combine (multiply) 3 matrices, 3x3 each, to obtain one matrix that represent the combined rotation for the three Euler angles. Note that the order in which you combine them is important: in your example, when you speak of a rotation of "45,0,0", this is very clear only because there is just one rotation; if you had two or three, you would need to define in which order you perform the rotations.

Now, after Steps 1-3 you know how to get a point in the "normal" coordinate system, and transform it (rotate it) into Cube1's system. But you want the opposite! From Cube1 to the "normal" system. To do that, you use the inverse of that matrix.

What D H was telling you above is that rotation matrices belong to a group of matrices called "orthogonal", which have a very nice property: their inverse is simply the transposed matrix. Just turn rows into columns, and you have the inverse.
 
Last edited by a moderator:

Related to Calculating Offsets on the Normal Coordinate System

What is the normal coordinate system?

The normal coordinate system is a mathematical tool used to describe the position and orientation of objects in three-dimensional space. It consists of three mutually perpendicular axes, typically labeled x, y, and z, that intersect at a common origin point.

How do you calculate offsets on the normal coordinate system?

To calculate offsets on the normal coordinate system, you must first determine the starting point or origin of the object in question. Then, you can use the x, y, and z axes to measure the distance and direction of the offset from the origin point. The resulting values will give you the coordinates of the offset point in relation to the normal coordinate system.

Why are offsets important in the normal coordinate system?

Offsets are important in the normal coordinate system because they allow us to accurately describe the position and orientation of objects in three-dimensional space. They also enable us to make precise measurements and calculations for various scientific and engineering purposes.

What are the units of measurement used in the normal coordinate system?

The units of measurement used in the normal coordinate system can vary depending on the specific application. However, commonly used units include meters, centimeters, and millimeters for distance, and degrees or radians for angles.

How do you convert offsets on the normal coordinate system to other coordinate systems?

Converting offsets on the normal coordinate system to other coordinate systems requires knowledge of the conversion formulas and the specific units of measurement used in each system. For example, offsets in the normal coordinate system can be converted to polar coordinates using the formulas r = √(x^2 + y^2 + z^2) for distance and θ = arctan(y/x) for angle.

Similar threads

Replies
2
Views
1K
Replies
20
Views
3K
Replies
1
Views
816
Replies
14
Views
528
Replies
7
Views
2K
  • Introductory Physics Homework Help
Replies
30
Views
522
  • Engineering and Comp Sci Homework Help
Replies
1
Views
2K
  • General Math
Replies
5
Views
1K
  • Calculus and Beyond Homework Help
Replies
7
Views
703
Back
Top