-1

画像内にポイントのグループがあり、それらを時計回りに並べ替えたり、プロパティを取得したりしたいと考えています。それらを注文する条件はそれらの角度になります。

角度 0 の開始点を選択し、次に時計回りの順序 (角度の増加) で他の点を選択する必要があります。ただし、角度を取得するためにatan2(角度の範囲がより良いため2)を使用していますが、角度ゼロは常に水平軸にあります。ゼロ角度の軸を開始点の位置に設定するにはどうすればよいですか?

どうもありがとう!ヘクター

4

1 に答える 1

2

開始角度を計算する場合:

double theta_0 = atan2(y[0], x[0]);

次に、これを後続の角度から減算し、これを使用fmodして 2π を法とする相対角度を取得し、開始角度に対して時計回りの正の角度を取得します。

double theta_i = fmod(atan2(y[i], x[i]) - theta_0, M_PI * 2.0);
于 2013-09-18T16:15:34.010 に答える