| 35 | inline double dist(PT a, PT b) { return sqrt(dot(a - b, a - b)); } |
| 36 | inline double cross(PT a, PT b) { return a.x * b.y - a.y * b.x; } |
| 37 | inline int orientation(PT a, PT b, PT c) { return sign(cross(b - a, c - a)); } |
| 38 | PT perp(PT a) { return PT(-a.y, a.x); } |
| 39 | PT rotateccw90(PT a) { return PT(-a.y, a.x); } |
| 40 | PT rotatecw90(PT a) { return PT(a.y, -a.x); } |