MATLAB Answers

0

How to find angle between two lines?

Asked by Beulah A on 21 Oct 2019
Latest activity Commented on by Beulah A on 6 Nov 2019
For example, there is line L1 between two points (x1,y1) and (x2,y2). Another line L2 between points (x1,y1) and (x3,y3). I want to find the angle between the lines L1, L2. How to find in MATLAB? I think in matlab there is no predefined function which performs the same.

3 Answers

Answer by Bjorn Gustavsson on 21 Oct 2019
 Accepted Answer

A more stable method that what Jos suggested is
v_1 = [x2,y2,0] - [x1,y1,0];
v_2 = [x3,y3,0] - [x1,y1,0];
Theta = atan2(norm(cross(v_1, v_2)), dot(v_1, v_2));
HTH

  1 Comment

Thanks, This solves my problem.

Sign in to comment.


Answer by Jos (10584)
on 21 Oct 2019

Use the dot product between the two vectors (v1 and v2) given by the four x,y pairs points.
Given the formula: dot(v1,v2) = | v1 | x | v2 | x cos(A)
I leave it to you to find the angle A using the matlab functions norm, dot and acos.

  0 Comments

Sign in to comment.


Answer by Bjorn Gustavsson on 21 Oct 2019

  0 Comments

Sign in to comment.