private Line( Point start, Point end )
{
if ( start == end )
{
throw new ArgumentException( "Start point of the line cannot be the same as its end point." );
}
k = ( end.Y - start.Y ) / ( end.X - start.X );
b = float.IsInfinity( k ) ? start.X : start.Y - k * start.X;
}