A = 1/2 Σa × b.切捨てが発生しないように両辺を二倍して扱う.
number area2(const polygon& P) { number A = 0; for (int i = 0; i < P.size(); ++i) A += cross(curr(P, i), next(P, i)); return A; }
前原 貴憲(maehara@prefield.com).
Last Modified: 2007.08.09 21:36:40.