public LineFr(PointFr p1, PointFr p2) { if (p1.Equals(p2)) { throw new ArgumentException("Nie można utworzyć linii dla dwóch takich samych punktów"); } Slope = CalculateSlope(p1, p2); Constant = CalculateConstant(p1, Slope); }
public LineSegmentFr(PointFr start, PointFr end, bool LeftMostPointFirst = false) { if (start.Equals(end)) { throw new ArgumentException("Nie można utworzyć odcinka, o dwóch takich samych punktach"); } StartPoint = start; EndPoint = end; MaxX = start.X > end.X ? start.X : end.X; MaxY = start.Y > end.Y ? start.Y : end.Y; MinX = start.X < end.X ? start.X : end.X; MinY = start.Y < end.Y ? start.Y : end.Y; Line = new LineFr(start, end); if (LeftMostPointFirst) { NormalizeEndPoints(); } }