haar_lib/geom/
area_polygon.rs

1//! 多角形の面積
2
3use crate::geom::*;
4
5/// 多角形の面積を求める
6pub fn area_polygon(ps: &[Vector]) -> f64 {
7    let mut ret = 0.0;
8    let n = ps.len();
9
10    for i in 0..n {
11        ret += (ps[i].0 - ps[(i + 1) % n].0) * (ps[i].1 + ps[(i + 1) % n].1);
12    }
13
14    ret.abs() / 2.0
15}