2017-07-05 5 views
0

私が使用しているベクトル角度が正しく計算されているかどうかを調べようとしています。'shape'パッケージのベクトル角度を解釈するには?

私はこのようなデータでシミュレートされた粒子のトラックを持っている:

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軸に対して反時計回り)、[0360]の角度。 1つの値またはベクトル。

私の「変換されていない」値は取れます。それは彼らが正しいことを意味しますか?または、彼らはフォーマットする必要がありますか? [-180,180]から[0,360]に移動するにはどうすればよいですか?

答えて

1

ただ、このように角度のドメインを変更:

if (angle < 0) 
    angle = angle + 360 
関連する問題