傾きを計算するアルゴリズムを手伝ってください。デカルト座標系があります。XはYの一番上にあります。座標の中心を通る線があります。軸OXに対する角度を決定するために必要です。
これが私がしていることです
- 特定の機能が原点(一番上の行)と行末に転送されました
- dx、dyを決定する
- Hildrenはatan2で2つのパラメーターをリリースします(dy、dx)
- 結果をラジアンで返します。
だが!Iatan2は180度以内でのみ機能します。180が別の方向に進んだ後。
だから質問:角度を見つけるための正しいアルゴリズムは何ですか?dy、dx値を大きさで取得する必要がありますか?360以上すべてのアークタンジェントを計算するにはどうすればよいですか?特定のアルゴリズムやコードコメントを聞いていただければ幸いです。ありがとう!
static inline CGFloat angleBetweenLinesInRadians2 (CGPoint line1Start, CGPoint line1End)
{
CGFloat dx = 0, dy = 0;
dx = line1End.x - line1Start.x; / / whether to do fabs (line1End.x - line1Start.x);
dy = line1End.y - line1Start.y;
CGFloat rads = atan2 (dy, dx); / / whether to do fabs (rads)
return rads;
}