Angle between a vector and a line parallel with the y-axis? (image example)

Hi, I have this red point with coordinates (x1,y1) and I would like to calculate the angles that each vector departing from the red point to the black ones form with a line parallel to the y-axis. How should I do? I'm so sorry for the drawing but that is exactly the scenario. Thanks!

 Akzeptierte Antwort

Try something like this
P = [-3, 5]; % (x1,y1)
x = [0 10]; % point of y-axis
Px = x-P;
angle = atan2(Px(1), -Px(2))

6 Kommentare

why is there -Px(2) in the atan2 function?
y-axis is negative in a downward direction, whereas we want a positive x-axis in the downward direction in our rotated coordinates.
I was checking your solution with different values. Let's put
p = [-3 0.95]
r = [0 0] %point on the origin of axis
pr = r - p
angle = atan2(pr(1), -pr(2))
Now, I would expect an angle which is less than 90 degrees but converting instead I obtain -107 degrees, why this?
I get expected answer. atan2() return the output in radians. How did you get -107 from that. When I run the following code
p = [-3 0.95]
r = [0 0] %point on the origin of axis
pr = r - p
angle = atan2(pr(1), -pr(2))
I get
>> angle
angle =
1.2641
>> rad2deg(angle)
ans =
72.4287
It might be easier to use atan2d()
p = [-3 0.95]
r = [0 0] %point on the origin of axis
pr = r - p
angle = atan2d(pr(1), -pr(2))
Result
>> angle
angle =
72.4287
You are right, I don't know I got that result ahahah, thank you so much!
I am glad to be of help! :)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte

Version

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by