- double cross(const point &a, const point &b) { return imag(conj(a) * b); }
- point inse(const point &a, const point &b, const point &p, const point &q){
- double d1 = cross(p - a, b - a);
- double d2 = cross(q - b, b - a);
- if(d1 == d2){
- return point(1000 + 100, 1000 + 100);
- }
- return (d1 * q - d2 * p) / (d1 - d2);
- }
