如何解释'shape'包的矢量角度?

时间:2017-07-05 11:37:37

标签: r trigonometry

我正在试图弄清楚我正在使用的某些矢量角度是否正确计算。

我有一个带有这样数据的模拟粒子轨道:

   track_id       track_length frame          x         y         dx           dy steplength   direction
     <fctr>             <fctr> <dbl>      <dbl>     <dbl>      <dbl>        <dbl>      <dbl>       <dbl>
 1  Track 1 Track length:  464     0 -0.2779444 0.6532534  0.0000000  0.000000000  0.0000000   0.0000000
 2  Track 1 Track length:  464     1  0.9527568 1.6890017  1.2307012  1.035748375  1.6085398  40.0836991
 3  Track 1 Track length:  464     2  3.1617740 1.5406508  2.2090172 -0.148350899  2.2139930  -3.8420418
 4  Track 1 Track length:  464     3  3.4791213 1.1602548  0.3173472 -0.380396044  0.4953892 -50.1632825
 5  Track 1 Track length:  464     4  3.0130556 1.7207842 -0.4660657  0.560529394  0.7289790 129.7426481
 6  Track 1 Track length:  464     5  4.1270750 1.7163850  1.1140194 -0.004399235  1.1140281  -0.2262584
 7  Track 1 Track length:  464     6  3.5344773 2.2045875 -0.5925977  0.488202537  0.7677980 140.5171189
 8  Track 1 Track length:  464     7  1.8244100 2.3753219 -1.7100673  0.170734431  1.7185693 174.2984400
 9  Track 1 Track length:  464     8  3.2462738 1.7072696  1.4218637 -0.668052374  1.5709839 -25.1661450
10  Track 1 Track length:  464     9  2.0981822 2.1773816 -1.1480916  0.470112097  1.2406126 157.7322425

direction列的计算如下:

direction = (180/pi)*(atan2(dy, dx)))

这给了我一个[-180,180]度格式中每个点的矢量的角度。我检查了ggplot的箭头特征,角度似乎是正确的。到目前为止一切都很好。

现在,我想使用rastershape包的组合来绘制每个xy-bin的向量方向。特别是,我在解释Arrowhead()函数的文档时遇到了问题,该文档说:

  

角度:箭头的角度(逆时针,相对于x轴),以度[0,360];无论是一个值还是一个向量。

虽然这需要我的“未转变”的价值观。这是否意味着他们是正确的?或者他们需要格式化?我怎么从[-180,180]到[0,360]?

1 个答案:

答案 0 :(得分:1)

只需更改角度域:

if (angle < 0)
    angle = angle + 360