Community Tip - Did you get called away in the middle of writing a post? Don't worry you can find your unfinished post later in the Drafts section of your profile page. X
Dear Mathcad veterans,
I'm doing a linkage calculation / kinematics calculation using co-ordinates (x,y), for which I would like to know the methods of finding co-ordinate's new location (marked as position 2, 4 and 5 in the below representation. Please share your views or directions or solutions.
Best regards,
Ram
Solved! Go to Solution.
How does your question relate to Mathcad or Prime?
You have three different points all named C1 !?
Obviously you are just dealing with simple rotations.
The fist of the C1 can be obtained by rotation C0 around the known B0 for an angle theta2.
You may model this by a system of two equations or by a multiplication with a rotational matrix. The necessary mathematics should be known or can be looked up.
Equally the other points C1 can be obtained by simply rotating the first C1 and also C0 around point A for angle theta.1 - same math as before! Also B1 is obtained from B0 by the very same rotation.
You can model your points as 1x2 matrix as you did, but also as 2x1 matrices or even as 3x1 homogeneous vectors which make translations easier.
Another approach is to model the points as complex numbers in the Gauß plane.
Rotating a point around another can be achieved by translating all point so the the point of rotation is in the origin, multiply the points to be rotated by the appropriate rotational matrix and then reverse the translation.
A translation is achieved by simply adding constant values to x- and y- coordinates. When using homogeneous coordinates it can also be achieved by multiplying with a translation matrix.
Go ahead, chose your weapons and if you get stuck (with Prime!) feel free to ask.
For a start here is a function which rotates a point p around a fix point o for an angle phi (measured counter clockwise)
p and o are supposed to be 2x1 vectors, but the function can easily be modified to deal with 1x2 row vectors instead. I leave this up to you - I use the function as is with your data transposed. So for example the coordinates of point B1 using the first angle of your vector theta1 are
The coordinates for all angles theta1 are
BTW, I see that you tried to plot the points. But I guess plotting all positions for all combination of angles could get quite confusing:
How to find A, B and C??
Guess you mean B1, C1 and C2, correct?
And I also guess that not only the"greens" are known but also the "browns", the three lengths which you named "Position" 2, 4 & 5.
Assuming this we could easily calculate B1, but C1 and C2 can not be determined with he given values. Additional information would be necessary, e.g. he angle between Position 2 and either Pos.4 or Pos.5.
Also theta2 is overdetermined and should be omitted, because the angle can already be calculated from the other pieces of information!
BTW, do you really mean Mathcad or rather the current, more modern (but less capable) Prime, also called Mathcad Prime by PTC?
I also assume that you are familiar with the math behind the task. To get the coordinate in Mathcad you may want to know that you can use natural math notation when using Prime or Mathcad. So just type in the math.
I would use 2x1 vectors for the points but thats up to you - use what you are comfortable with.
So start creating your worksheet and if you get stuck come back here, attach the worksheet and ask your question.
Dear Werner,
I'm glad about your immediate response and great details.
Reading your reply, I realized my question and the representation of my question needs refinement which I did in the below image. Also please find the mathcad worksheet with inputs. Hoping to get solutions / views / methods / directions / relevant reference calculations.
Best regards,
Ram
How does your question relate to Mathcad or Prime?
You have three different points all named C1 !?
Obviously you are just dealing with simple rotations.
The fist of the C1 can be obtained by rotation C0 around the known B0 for an angle theta2.
You may model this by a system of two equations or by a multiplication with a rotational matrix. The necessary mathematics should be known or can be looked up.
Equally the other points C1 can be obtained by simply rotating the first C1 and also C0 around point A for angle theta.1 - same math as before! Also B1 is obtained from B0 by the very same rotation.
You can model your points as 1x2 matrix as you did, but also as 2x1 matrices or even as 3x1 homogeneous vectors which make translations easier.
Another approach is to model the points as complex numbers in the Gauß plane.
Rotating a point around another can be achieved by translating all point so the the point of rotation is in the origin, multiply the points to be rotated by the appropriate rotational matrix and then reverse the translation.
A translation is achieved by simply adding constant values to x- and y- coordinates. When using homogeneous coordinates it can also be achieved by multiplying with a translation matrix.
Go ahead, chose your weapons and if you get stuck (with Prime!) feel free to ask.
For a start here is a function which rotates a point p around a fix point o for an angle phi (measured counter clockwise)
p and o are supposed to be 2x1 vectors, but the function can easily be modified to deal with 1x2 row vectors instead. I leave this up to you - I use the function as is with your data transposed. So for example the coordinates of point B1 using the first angle of your vector theta1 are
The coordinates for all angles theta1 are
BTW, I see that you tried to plot the points. But I guess plotting all positions for all combination of angles could get quite confusing:
Dear Werner,
Sorry I couldn't reply immediately. However, please find my way of calculation file attached (pdf and mathcad).
I will go through your calculation methods as well to learn more.
You are definitely great!
Best regards,
Ramkumar T