| 5 | rep(i,1,cnt-1) area += cross(p[i] - p[0], p[i + 1] - p[0]); |
| 6 | return area / 2; } |
| 7 | double polygon_area(polygon p) { |
| 8 | return abs(polygon_area_signed(p)); } |
| 9 | #define CHK(f,a,b,c) \ |
| 10 | (f(a) < f(b) && f(b) <= f(c) && ccw(a,c,b) < 0) |
| 11 | int point_in_polygon(polygon p, point q) { |