2012-02-27 53 views
2

私は、このリンクhttp://www.mathopenref.com/coordpolygonarea2.htmlポリゴンの頂点 - 時計回りまたは反

に出くわしたことは、多角形の面積を計算する方法を説明し、我々は入力されたポリゴンの頂点を時計回りまたは反時計回りであるかどうかを識別するのに役立ちます。

面積値が+ veの場合は時計回り、-nvの場合は反時計回りです。

私の要件は、時計回りか反時計回りかを識別することです。このルールは正しく動作しますか(リンクに記載されている制限があります)。私は規則的なポリゴンしか持っていない(複雑ではなく、自己交点もない)が、頂点はもっと多い。

私はリングの回転を知るために、面積値の精度には興味がありません。

これに関する他の考え。

+0

可能重複(http://stackoverflow.com/questions/1165647/how-to-ポリゴンポイントのリストを時計回りの順に決定する) – Phrogz

+0

ここには、同様の問題が解決されたリンクがあります。 [http://stackoverflow.com/questions/1165647/how-to-determine-if-a-list-of-polygon-points-are-in-clockwise-order][1] [1]:http://stackoverflow.com/questions/1165647/how-to-determine-if-a-list-of-polygon-points-are-in-clockwise-order –

答えて

9

:[?ポリゴンポイントのリストが時計回りの順であるか否かを決定する方法]の

Select two edges with a common vertex. 
Lets say, edge1 is between vertex A and B. Edge2 is between vertex B and C. 
Define to vectors: vect1: A----->B 
        vect2: B----->C 
Cross product vect1 and vect2. 
If the result is positive, the sequence A-->B-->C is Counter-clockwise. 
If the result is negative, the sequence A-->B-->C is clockwise. 
4

凸多角形(すべての正多角形は凸である)があり、ポイントがすべて一貫して反時計回りまたは時計回りに整理されている場合は、(符号付き)領域を計算するだけで3つの連続する点によって決定される1つの三角形のこれは本質的に、2つのエッジに沿った2つのベクトルの外積を計算しています。凸多角形について

関連する問題