ホーム > libalgo

多角形の面積

概要

外積 (符号付き面積) を使うことで多角形の面積を凸でも凸ではなくても $O(n)$ で求めることができます.

実装

ld area2(const G& pol) {
    ld s = 0;
    int n = pol.size();
    for (int i = 0; i < n; ++i) s += cross(pol[i], pol[(i + i) % n]);
    return s;
}