1

私が2次元平面上の任意の2点(p1(x1、y1)、p2(x2、y1))であり、両方の点が中心(c(c1、c2))との線を形成するとしましょう。したがって、私は 2 つの行が同じポイントで終了します。これらの2本の線の間の角度を計算する方法を知りたいです。0〜2piの角度範囲を表示できるようにしたい。また、p1 と c によるライン フォームをライン 1 とその他のライン 2 にする 0-(-2pi) です。ありがとう

4

2 に答える 2

2

中心と 2 点の間のデルタ ベクトルを見つけます

d1 = p1-c;
d2 = p2-c;

atan2 を使用して、これらのそれぞれの角度を取得できます。

angle1 = atan2(d1.Y, d1.X)
angle2 = atan2(d2.Y, d2.X)

希望の角度は単に違いです:

a = angle2-angle1;

角度を 0 と 2pi の間で表すか、-2pi と 0 で表すかによって、while ループを使用して 2pi を減算/2pi を追加し、必要な表現を取得することができます。人間に角度を提示するとき

于 2010-08-31T20:17:36.623 に答える
1

ポイントをベクトルに変換し (各終点から中心点を引きます)、内積を使用して角度を計算します。

于 2010-08-31T20:15:12.177 に答える