long SquareDistance(HeatMapPoint p0, HeatMapPoint p1) { long x = p0.X - p1.X, y = p0.Y - p1.Y; return(x * x + y * y); }
int CrossProduct(HeatMapPoint o, HeatMapPoint a, HeatMapPoint b) { return((a.X - o.X) * (b.Y - o.Y) - (a.Y - o.Y) * (b.X - o.X)); }
protected bool Equals(HeatMapPoint other) { return(X == other.X && Y == other.Y); }