calculate the angle between a line (between two points) and the perpendicular line
Afficher commentaires plus anciens
if point1 is a(x1,y1) and point 2 is b(x2,y2). I want to draw a vertical from point b in order to calculate the angle between the line ab and the verticle line.
I wrote this code but I think i can't get the verticle line correctly as I got the same value of the angle and i'm sure the angle value is not the same.
for i=1:size(a,1)
angle = atand(b(1,i) - a(1,i))-(b(2,i) - a(2,i)))
end
any one can help me please?

3 commentaires
Geoff Hayes
le 20 Mar 2019
Amneh - I don't understand why you need a for loop especially as you overwrite the angle on each iteration of the loop. Where have you defined the vertical line? Could you use a third point (for this line) as c = (x2, 2*fabs(y2)) (arbitrarily choosing a position on the y-axis) and then use the usual equation for finding the angles of a triangle (your three points)?
Geoff Hayes
le 20 Mar 2019
Amneh's answer moved here
I'm using a loop because points a and b are moving and changing their positions. I want to caluctae the angle for every fram. I assumed that the vericle line is between (point a (x1,y1) and Point (x1,y2))
Geoff Hayes
le 20 Mar 2019
I assumed that the vericle line is between (point a (x1,y1) and Point (x1,y2)) Can you provide a picture? I don't understand how the vertical line is between (x1,y1) and (x1,y2) (or do you mean (x2,y2) for the second one?). Also I thought I want to draw a vertical from point b which suggests that the vertical line is drawn from point b and is not in between the two points. Please clarify.
Réponse acceptée
Plus de réponses (2)
Geoff Hayes
le 20 Mar 2019
Modifié(e) : Geoff Hayes
le 20 Mar 2019
Amneh - if a is (x1,y1) and b is (x2,y2) then let c be (x2,y1). With these three points, you should have a right-angled triangle. We can determine the opposite and adjancent as
opposite = abs(a(1) - c(1));
adjacent = abs(c(2) - b(2));
and so the angle is
myAngleDegrees = atand(opposite / adjacent);
(I think!)
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!