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

# how to calculate degree between 3 points in MATLAB?

Asked by Mahan Soltani on 1 Jan 2013

Azzi Abdelmalek on 1 Jan 2013

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

Mahan Soltani on 1 Jan 2013

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 ) .

## Products

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

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