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!

 Respuesta aceptada

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 comentarios

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! :)

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Versión

R2020b

Preguntada:

el 3 de Nov. de 2020

Comentada:

el 4 de Nov. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by