Calculate Transformation Matrix based on two 3D points
Hello,
Is it possible to calculate the transformation matrix based on two 3d points and if so how? I am trying to place a tube part between these two 3d points and need the transformation matrix to position/place the part properly.
I cannot give you the code for whatever program you are using but it seems to me that a translation and a rotation ought to do it. Translate the center of the tube to the midpoint between your 3D points, Then rotate the axis of the tube to coincide with the line between the two points.
0
toni_Author Commented:
Thanks for the reply aburr,
It is this "rotate the axis of the tube to coincide with the line between the two points" that I am not sure how to do. I am using Solidworks and looking at the API I would need to just plug in the transformation matrix for that part to be positioned and rotated properly. It is the math that I am not sure how to calculate
well the translational part of the matrix is easy, just put the midpoint in the 4th row or col (depending on if you use column-major- or row-major-matrices) of the matrix. if p is the midpoint, then:
for column-major-matrix:
1 0 0 p.x
0 1 0 p.y
0 0 1 p.z
0 0 0 1
you need to tell us more about the desired rotation to help you making the rotational part of the matrix, but start with the translational part and check if it works ..
ike
0
Featured Post
Be seen. Boost your questionâ€™s priority for more expert views and faster solutions