How to find angle between two lines?
98 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Beulah A
le 21 Oct 2019
Déplacé(e) : Dyuman Joshi
le 9 Jan 2024
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.
2 commentaires
sudeep
le 7 Jan 2024
Déplacé(e) : Dyuman Joshi
le 9 Jan 2024
TURE AND
Example 1: Find the angle between r1 = 2(1 + cost) and r23(1-cost) and plot the graph for the same.
Réponse acceptée
Bjorn Gustavsson
le 21 Oct 2019
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
3 commentaires
jari jafri
le 4 Oct 2023
Modifié(e) : jari jafri
le 4 Oct 2023
I got my V_1 and V_2 vectors as
v_1 =
1×3 int32 row vector
-633 990 0
v_2 =
1×3 int32 row vector
0 500 0
But i am having the following error so I 'm looking for how to remove this error
Error using norm
First argument must be single or double.
Error in test6 (line 64)
Theta = atan2(norm(cross(v_1, v_2)), dot(v_1, v_2));
I'm getting this error while using this code
Dyuman Joshi
le 4 Oct 2023
@jari jafri convert the data to double -
v_1 = int32([-633 990 0]);
v_2 = int32([0 500 0]);
v_1 = double(v_1);
v_2 = double(v_2);
Theta = atan2(norm(cross(v_1, v_2)), dot(v_1, v_2))
Plus de réponses (2)
Jos (10584)
le 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.
More info: https://en.wikipedia.org/wiki/Dot_product
0 commentaires
Voir également
Catégories
En savoir plus sur Financial Toolbox dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!