これはちょっとみんな私が取り組んでいる宿題のパズルです。ポリゴンの頂点で外角を計算する
私は三つの頂点のリストを持っていますが、私は既にそれらが会う内角を計算する方法を考え出しました(私はこれらが有効な角度を持っていることをテストしてポリゴンが有効なポリゴン)。
現在、私は、その時点でベクトル積のACOSを取得し、私は上の角度をしたい頂点にエッジを計算し、行の3つの頂点を摘み取る:
double dx21 = one.x - two.x;
double dx31 = three.x - two.x;
double dy21 = one.y - two.y;
double dy31 = three.y - two.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));
私は名目上知っています360度から内角を引いて外角をつかむこともできますが、これはポリゴンが有効であることを確認する上での正当性チェックです(頂点は反時計回りです)。
頂点でのベクトル積の罪が確実であることを確認することでしたが、私はこれをしばらくの間紙でやっていました。
私はそれが主に数学問題だと知っていますが、アドバイスは本当に便利です。
これらはすべて反時計回りの順序で編成されることを意図した2次元ベクトルです。 – Schroedinger