n点からなる多角形の面積を求める

前回、3点からなる三角形の面積外積を用いて求めました。

これを多角形へ応用したいと思います。

 

まず、外積のおさらいから。

 

Z成分が0(ゼロ)の2つのベクトル

 

 

の外積は

 

 

となり、Z成分の大きさが2つのベクトルのなす平行四辺形の面積となり、三角形の面積はこの半分(1/2)となります。

 

さらに、ベクトルa から ベクトルb への向きが反時計方向の場合
ベクトルa と ベクトルb の外積のZ成分の値はとなり、

 

 

逆に時計方向の場合、Z成分はとなります。

 

 

これを踏まえて、3点からなる三角形の面積を求めるの時は三角形の辺上にベクトルを取りましたが、今回は原点と多角形の頂点の座標とで成すベクトルとします。

 

ここで、多角形の頂点の座標を~Pのように反時計方向に定義します。

ただし、Z座標は0(ゼロ)とします。

 

 

ベクトル→P と ベクトル→P の外積のZ成分の値は時計方向なので、となります。

 

 

同様に、ベクトル→P と ベクトル→P の外積のZ成分の値は反時計方向なので、となります。

 

 

ベクトル→P と ベクトル→P の外積のZ成分の値も反時計方向なので、となります。

 

 

これらの外積の結果のZ成分を足して1/2にすると、求めたい三角形の面積が求まります。

 

 

この事をn点からなる多角形へ応用すると、下図のような図形の場合、

 

 

~Pまでは時計方向となるので、外積のZ成分はとなります。

 

 

~P、Pまでは反時計方向となるので、外積のZ成分はとなります。

 

 

これら全ての外積のZ成分を足し、1/2にすると多角形の面積が求まります。

 

この事を一般式で書くと、頂点の座標をPi (xi,  yi) とすると

 

 

となります。
i は i = 1, 2, 3・・・nのインデックス番号、
|  | は絶対値です。

ただし、i = n のとき、n+1 = 1 とします。

 

また、絶対値を取っているのは、頂点の座標が時計方向へ割り振られた場合にも対応できるようにしています。

 

使える数学へ戻る

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください