倍横距法では、ベクトルの外積(ベクトル積)を利用します。 xy平面上のベクトル a1 =(x1 , y1 , 0)と a2 = (x2 , y2 , 0)とすると、 a1 と a2 の外積は、 a1Xa2 = (0 , 0 , x1*y2−x2*y1) また、 a1 と a2 を二辺とする平行四辺形の面積は、 |a1|・|a2|sinθ = |a1Xa2| = |x1*y2−x2*y1| xy平面上の三角形123の面積を、ベクトルの外積を利用して求める。 下図のように三角形と点0を置く。 図より、三角形123の面積は、三角形012の面積から三角形023の面積と三角形031の面積を引けばよい。 例題として、各点の座標を 0:(0,0,0)、1:(4,2,0)、2:(2,4,0) 3:(2,2,0) とすると 各三角形の面積は、平行四辺形の面積の半分であるから、ベクトルの外積を用いて 三角形012 (x1*y2−x2*y1)/2 = (4*4−2*2)/2 = 6 三角形023 (x2*y3−x3*y2)/2 = (2*2−2*4)/2 = −2 三角形031 (x3*y1−x1*y3)/2 = (2*2−4*2)/2 = −2 三角形123 6−2−2 = 2 ここで、外積の成分が符号付きで求まり、各面積の加減がなされる。 一方、三角形123は、底辺:2 高さ:2であるから 三角形の面積は、底辺*高さ/2より、2*2/2 = 2 となり、ベクトルの外積を利用した結果と一致する。 xy平面上のN角形の面積を、ベクトルの外積を利用して求める。 i番目の点の座標を(xi , yi , 0)とすると、N角形の面積Sは、 S = |s1+s2+・・・+sN−1+sN|/2 ここで、si = xi*yi+1-xi+1*yi ただし、sN = xN*y1-x1*yN 倍横距法を用いて、市区町村の行政区画の面積を求める |