double proj(const point & p) const { return dot(p) / p.abs(); } //onto p
bool observable(point p, point q, double a) { return acos(p.dot(q)/p.abs()/q.abs()) < a+eps; }
friend double abs(const point & p) { return p.abs(); }