r - 如何轻松地将线角转换为导航方位比例尺(即,范围为 [0,360] 且 "North"= 0 度)?

标签 r trigonometry angle

我有两点,(x1,y1)(x2,y2),我想在它们之间画一条线。我知道我可以使用反正切和斜率计算出该线的角度(以度为单位):

atan((y2-y1)/(x2-x1))*180/pi

但是,我如何将这个角度转换为 [0,360] 比例?基本上,我希望我的角度在罗盘刻度上,其中“北”为 0 度,“东”为 90 度,“南”为 180 度,“西”为 270 度。

谢谢!

最佳答案

(450-atan2(y2-y1,x2-x1)*180/pi)%%360​​​​​​​​​​​​​​​

segmentToAngle <- function(x1,y1,x2,y2) atan2(y2-y1,x2-x1)*180/pi;
segmentToAngle(0,0,1,0); ## east
## [1] 0
segmentToAngle(0,0,0,1); ## north
## [1] 90
segmentToAngle(0,0,-1,0); ## west
## [1] 180
segmentToAngle(0,0,0,-1); ## south
## [1] -90
segmentToCompassAngle <- function(x1,y1,x2,y2) (450-segmentToAngle(x1,y1,x2,y2))%%360;
segmentToCompassAngle(0,0,1,0); ## east
## [1] 90
segmentToCompassAngle(0,0,0,1); ## north
## [1] 0
segmentToCompassAngle(0,0,-1,0); ## west
## [1] 270
segmentToCompassAngle(0,0,0,-1); ## south
## [1] 180

关于r - 如何轻松地将线角转换为导航方位比例尺(即,范围为 [0,360] 且 "North"= 0 度)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31838855/

相关文章:

javascript - 根据起始坐标和预定义 Angular 在javascript中获取结束线坐标

r - stringr 不会安装在 R 中

r - 如何设置集群从节点(在Windows上)

javascript - javascript 在两个值之间振荡函数

Python:使用到点 A (x0, y0) 的距离和角度找到给定点 B 的 x,y 坐标

javascript - 我的Processing.js 程序中的所有 Angular 如何都以度而不是弧度为单位?

r - 如何自定义 ggplot2 中 geom_tile 内轮廓的形状?

regex - 如何使用 R 解析 html 字符串?

c - 如何解释反三角函数(和 sqrt)函数(在 C 中)的浮点运算中的舍入误差?

java - 自定义数学函数与提供的数学函数?