多角形の座標配列が時計回りか判別する方法を記事にしました。
[ 判別方法 ]
各隣接頂点間のベクトルの外積の総和を求めます。総和が正なら時計回り、負なら反時計回りです。
function IsClockwise(_Points) { let Sum = 0; for (let i = 0; i < _Points.length; i++) { const Vec1 = _Points[i]; const Vec2 = _Points[(i + 1) % _Points.length]; Sum += Vec1.x * Vec2.y - Vec1.y * Vec2.x; } return Sum > 0; }