MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
Asked by Mahan Soltani on 1 Jan 2013

hi, how can i caculate degree between 3 points? i have position of X and Y of this three points. for more information please see this picture ( http://theme.tk/wp-content/uploads/2013/01/Untitled1.png ) and download this file ( http://theme.tk/wp-content/uploads/2013/01/data.zip ).

Answer by Roger Stafford on 1 Jan 2013

Let row vectors P0 = [x0,y0], P1 = [x1,y1], and P2 = [x2,y2] be Calcaneus, L-Knee, and 2th_MT points, respectively. The angle shown in red in radians at Calcaneus point is:

ang = atan2(abs(det([P2-P0;P1-P0])),dot(P2-P0,P1-P0));

Multiply by 180/pi to get degrees.

Roger Stafford

Show 7 older comments

Mahan Soltani on 1 Jan 2013

thanks a lot Roger, your code is true , and if you see the text file, i have very number and points. give me a code that import those text file to matlab and calculate Angel for any time ( row ). merc

Roger Stafford on 1 Jan 2013

No mohammad, I think you had better do that. That last vectorized formula I presented will have to suffice for my contribution to your effort.

Mahan Soltani on 2 Jan 2013

Learning MATLAB on this time is hard and confusing for me. my field is Physical Therapy and i can't uderstand MATLAB very well...

Answer by Image Analyst on 1 Jan 2013

Check out this link:

http://www.mathworks.com/matlabcentral/answers/11580#answer_15786

Mahan Soltani on 1 Jan 2013

on those post, 2 point are available, but i need 3 point which one of them isn't (0 0 0)! if you see image, you could uderstand...

Image Analyst on 1 Jan 2013

Try this one then: http://www.mathworks.com/matlabcentral/newsreader/view_thread/276582 or do your own search.

## 2 Comments

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/57736#comment_120074

In your image there are 4 points? Can you be more clear by giving an example of coordinates

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/57736#comment_120075

yes,but i need degree that is red and (?degree). degree between two line(L-Knee point & Calcaneus) and (Calcaneus & 2th_MT). this image is a motion analys that i need degree of Ankle. some of data is : ( http://theme.tk/wp-content/uploads/2013/01/data-1.zip ) .