これは少し宿題に関する質問ですが、私はしばらくの間伸びてきており、100%正確な答えを得ることはできませんでした。ポリゴンが与えられたら、そのポリゴン内の任意の頂点の内角を見つける必要があります。私がしてきたことは、頂点を頂点とそれの後ろの頂点を取って、次に出現の角度を計算することです(私は頂点をBとして扱います)、ABとBCの辺を作成し、それぞれの大きさを求め、それぞれの大きさで2つのドット積。凸多角形のベクトルの交点の度合いを調べる
私はまだベクトルが(0,10)、(0,0)、(10,0)の場合にはまだオフです。明らかにその中間ベクトルの内角は90度ですが、大きさとドットプロダクトを使って計算すると何らかの理由で45度になります。ここで
は私のコード
double dx21 = one.x - two.x;
double dx31 = one.x - three.x;
double dy21 = one.y - two.y;
double dy31 = one.y - three.y;
double m12 = Math.sqrt(dx21*dx21 + dy21*dy21);
double m13 = Math.sqrt(dx31*dx31 + dy31*dy31);
double theta = Math.acos((dx21*dx31 + dy21*dy31)/ (m12 * m13));
System.out.println(theta);
System.out.println(Math.toDegrees(theta));
は、私が見逃していることに疑いの余地は明らか何がありますか?私は頂点を反時計回りに横断しています、それはセットがどのように構成されているかです。
リクエストを提出して約15分後にこれを実現しました!ありがとう! – Schroedinger