Point directionVector(double x, double y) { final d = distance(x, y); assert(d > 0, 'Required distance greater than zero.'); return Point(x / d, y / d); }