MATLAB Answers

How to find angle between two lines?

28 ビュー (過去 30 日間)
Beulah A
Beulah A 2019 年 10 月 21 日
Commented: Beulah A 2019 年 11 月 6 日
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.

採用された回答

Bjorn Gustavsson
Bjorn Gustavsson 2019 年 10 月 21 日
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 件のコメント

Beulah A
Beulah A 2019 年 11 月 6 日
Thanks, This solves my problem.

サインイン to comment.

More Answers (2)

Jos (10584)
Jos (10584) 2019 年 10 月 21 日
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 件のコメント

サインイン to comment.


Bjorn Gustavsson
Bjorn Gustavsson 2019 年 10 月 21 日

  0 件のコメント

サインイン to comment.

サインイン してこの質問に回答します。


Translated by