transform x,y coordinate to angle
28 次查看(过去 30 天)
显示 更早的评论
Hi Guys,
I'm struggeling with this problem in which I have two points (x and y coordinates known) that move independent of eachother. I need to find the angle between these two points wrt North. The angle can be between -180:180. As indicated in the Figure I added, I would like to find the "red angle", but by using the sin,cos,tan equations I can only get the "blue angle".
Anyone that knows how to tackle this problem? It needs to work for all respective locations of both points to one another...
I tried the following code, but that does only result in the blue angle as expected...
heading_s=atand((y_ip-y_s)/(x_ip-x_s));
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/276794/image.png)
0 个评论
采纳的回答
Jon
2020-3-12
编辑:Jon
2020-3-12
I would think that you could use atan2 or atan2d (if you want result in degrees) for this.
For example
x1 = [2;1] % first point
x2 = [-1;-1] % second point
delta = x2 - x1 % vector that points from x1 to x2
heading = atan2d(delta(2),delta(1))
which results in
heading =
-146.3099
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Cartesian Coordinate System Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!