Author |
Topic: Distance + Angle of Translation (Read 1729 times) |
|
Christoph
Guest
|
Hi. I have a potentially very easy problem to solve. It has been a while since I have either used or taken geometry, so you'll have to forgive my ignorance. I have two points separated by known distance that doesn't change (pretend we have "rods" with point-spheres at each end). These two points have been translated in 3D-space to some distance from their original position. I have the x,y,z coordinates of both their original and final positions (of all four points; two original, two final). What I need to figure out is by what distance have they been translated (assume unitless distances) and what angle exists between the initial and final "rods". I have set up the system like the following: Known values: - Ai = {Ai_x, Ai_y, Ai_z} = initial position of point "A" (x,y,z coordinates) - Bi = " " = initial position of point "B" - Af = {Af_x, Af_y, Af_z} = final position of point "a" - Bf = " " = final position of point "B" - r = distance between 'A' and 'B' (this distance doesn't change) Must find: - theta = angle between two "rods" - d = distance between two "rods" (how far 'initial' has been translated to 'final') Finding theta could just be extending the lines that make up the "rods" until they intersect, and then just find the angle between these two lines. I am not exactly sure how to do this. I don't think I can use the center of mass for each rod--to determine the distance between them--because this won't give unique distances for these 3D objects. Any help pointing me in the right direction (including links) will be much appreciated! Thank you!
|
|
IP Logged |
|
|
|
JocK
Uberpuzzler
Gender:
Posts: 877
|
|
Re: Distance + Angle of Translation
« Reply #1 on: Jul 21st, 2005, 3:30pm » |
Quote Modify
|
on Jul 21st, 2005, 2:45pm, Christoph wrote: [..] What I need to figure out is by what distance have they been translated (assume unitless distances) and what angle exists between the initial and final "rods". [..] I don't think I can use the center of mass for each rod--to determine the distance between them--because this won't give unique distances for these 3D objects. |
| Why would the distance between the centres of mass not be unique? I assume the motion of the rod consists of a translation combined with a rotation? Which point of the rod is fixed during the rotation? The distance between the original and final position of that point should define the translation distance. But perhaps I don't fully understand what you want to achieve?
|
« Last Edit: Jul 21st, 2005, 3:34pm by JocK » |
IP Logged |
solving abstract problems is like sex: it may occasionally have some practical use, but that is not why we do it.
xy - y = x5 - y4 - y3 = 20; x>0, y>0.
|
|
|
Christoph
Guest
|
|
Re: Distance + Angle of Translation
« Reply #2 on: Jul 21st, 2005, 4:12pm » |
Quote Modify
Remove
|
I could be wrong, but I think the distance between the centres of mass would not be unique because they could be at the exact same position but the ends of the rods be pointing in different directions. Sort of like this (where '/' or '\' is one of the rods): // vs. /\ vs. \\ Each of the above could have the exact same centre of mass but they are all pointing in different directions. You are right, there will also be rotation. No point on the rod is nescessarily fixed during the roation, however, I don't care what happens in between the translation. I only care about the initial and final poisitions of the rod.
|
|
IP Logged |
|
|
|
SMQ
wu::riddles Moderator Uberpuzzler
Gender:
Posts: 2084
|
|
Re: Distance + Angle of Translation
« Reply #3 on: Jul 22nd, 2005, 4:50am » |
Quote Modify
|
Are the two rods coplanar? If so, then the combination of distance (between the centers) and angle will uniquely describe the change. If not, you'll also need a second angle, for instance the elevation of rod2 above the plane containing the endpoints of rod1 and the center or rod2. --SMQ
|
|
IP Logged |
--SMQ
|
|
|
JocK
Uberpuzzler
Gender:
Posts: 877
|
|
Re: Distance + Angle of Translation
« Reply #4 on: Jul 22nd, 2005, 6:54am » |
Quote Modify
|
on Jul 21st, 2005, 4:12pm, Christoph wrote: I could be wrong, but I think the distance between the centres of mass would not be unique because they could be at the exact same position but the ends of the rods be pointing in different directions. Sort of like this (where '/' or '\' is one of the rods): // vs. /\ vs. \\ Each of the above could have the exact same centre of mass but they are all pointing in different directions. |
| Any movement of a rigid 3-D object can be uniquely described by 6 parameters: a 3-vector decribing the translation of its centre-of-mass, and: 3 rotation angles describing the rotation of the object around its centre. Different conventions can be used to describe the rotation. Making use of Euler angles is a sensible choice. (See: http://mathworld.wolfram.com/EulerAngles.html for the various choices of describing rotations with Euler angles.) Note that for the special case under discussion (a vanishingly thin rigid rod that is characterised by its endpoints only), one rotation angle (the one describing rotations around the axis through the rod itself) is superfluous. I don't see what would be the problem if a configuration like / \ and a configyration like / / have the same midpoint translation vector. The differences in the configuration will be described by the diffetrence in rotation angles. on Jul 21st, 2005, 4:12pm, Christoph wrote: You are right, there will also be rotation. No point on the rod is nescessarily fixed during the roation, however, [..]. |
| You and I are clearly not talking about the same concepts when we use words like "translation" or "rotation". In my definition, a translation of a rigid onject is characterised by the fact that each of its elements undergoes the same displacement.
|
|
IP Logged |
solving abstract problems is like sex: it may occasionally have some practical use, but that is not why we do it.
xy - y = x5 - y4 - y3 = 20; x>0, y>0.
|
|
|
Icarus
wu::riddles Moderator Uberpuzzler
Boldly going where even angels fear to tread.
Gender:
Posts: 4863
|
|
Re: Distance + Angle of Translation
« Reply #5 on: Jul 27th, 2005, 7:01pm » |
Quote Modify
|
You don't include masses for your two points, so I am going to assume they are the same. Ci = Center of Mass at initial position = (Ai + Bi)/2 = ( (Aix + Bix)/2, Aiy + Biy)/2, Aiz + Biz)/2 ) Cf = Center of Mass at final position = (Af + Bf)/2 = ( (Afx + Bfx)/2, Afy + Bfy)/2, Afz + Bfz)/2 ) dA = Distance from Ai to Af = sqrt((Afx - Aix)2 + (Afy - Aiy)2 + (Afz - Aiz)2) dB = Distance from Bi to Bf = sqrt((Bfx - Bix)2 + (Bfy - Biy)2 + (Bfz - Biz)2) dC = Distance from Ci toCf = sqrt((Cfx - Cix)2 + (Cfy - Ciy)2 + (Cfz - Ciz)2) As for rotation: break the transformation into two parts: The translation that takes Ai to Af, and then the rotation about Af which carries the translated-only image of Bi (i.e., the point Bi + Af - Ai), to Bf. The translation is just Af - Ai = (Afx - Aix, Afy - Aiy, Afz - Aiz). The rotation, as both SMQ and Jock have pointed out, cannot be specified in general as a single angle. It requires 3 parameters to completely determine a rotation in R3. Often these take the form of theta and phi for the axis of rotation, and a third angle indicating the amount of rotation about that axis. You said that the distance between A and B does not change. Call this distance R, and let E = (Bi - Ai)/R, and F = (Bf - Af)/R. Let V = E x F (the cross-product of E and F, considered as vectors). Then, the axis of rotation about Af is the line passing through Af parallel to the vector V, and the angle of rotation is arcsin(||V||), where ||V||, the norm of V, = sqrt(Vx2 + Vy2 + Vz2)
|
|
IP Logged |
"Pi goes on and on and on ... And e is just as cursed. I wonder: Which is larger When their digits are reversed? " - Anonymous
|
|
|
Christoph
Guest
|
|
Re: Distance + Angle of Translation
« Reply #6 on: Jul 28th, 2005, 10:31am » |
Quote Modify
Remove
|
Icarus, Once again you have understood what I was attempting to explain and have answered it. Thank you also to SMQ and JocK for your insights. These ideas should be fairly straight forward to implement. However, there has got to be a way to (crudely) represent the translation and rotation that is taking place in 3D on a "map" in 2D, using only two values (I am using the terms "translation" and "rotation" rather loosely). I will have several thousand "final" values/positions to contend with and I would like an easy way to represent their translations and rotations relative to their initial positions. What I have is the initial position of a rigid-body structure with only two points (or atoms). The distance between these two atoms does not change (they are in a bond) and I am ignoring their mass (they are the same atoms) and treating them like simple mass-less points. This initial structure (or "initial position") is then moved, in 3D-space, to some final position. However, it will be moved many thousands of times and I will, therefore, have many thousands of final positions. I will like to construct a simple 2D map to be able to quickly see where all the final positions are relative to the initial position. If I were able to plot the rotation on one axis and the translation on the other, I might be able to quickly get an overview of the change in 3D-space this structure has undergone. This would be a crude and simple overview and not necessarily correct, but that is not entirely important for me.
|
|
IP Logged |
|
|
|
Icarus
wu::riddles Moderator Uberpuzzler
Boldly going where even angels fear to tread.
Gender:
Posts: 4863
|
|
Re: Distance + Angle of Translation
« Reply #7 on: Jul 28th, 2005, 4:29pm » |
Quote Modify
|
How to represent the transformations in just two variables depends on what is most important to you to capture. A rigid motion requires 6 independent continuous variables to completely specify. If you have a well-defined reference point on the object being translated (such as the "A" point for your case, or the center of mass), then these variables can specify direction (theta and phi) of translation of the reference point, distance of translation, direction (theta and phi) of the axis of rotation about the reference point, and angle of rotation. Because your situation has a cylindrical symmetry, one of those variables (rotation axis direction) becomes immaterial, leaving you with 5 independent variables left. To express this translation in only two variables means that you will have to throw 3 variables worth of information away. If distance of translation is far more important than the direction, and angle is far more important than the axis, then your choices were good. But note that if you only know the distance of translation, there is an entire sphere of possible positions for the new location, and if you only know the angle of rotation, there is a circle of possible orientations.
|
|
IP Logged |
"Pi goes on and on and on ... And e is just as cursed. I wonder: Which is larger When their digits are reversed? " - Anonymous
|
|
|
|