private static Fraction CalculateConstant(PointFr p, Fraction slope) // Constant = (-Slope* p.x) + p.y { if (slope.IsInfinity()) // IsVertical() { return(p.X); } return(-slope * p.X + p.Y); }
public PointFr(Fraction x, Fraction y) { if (x.IsNaN() || y.IsNaN() || x.IsInfinity() || y.IsInfinity()) { throw new ArgumentException("x i y nie może wynosić NaN lub Nieskończoność"); } _x = x; _y = y; }
public LineFr(Fraction slope, PointFr p) { if (slope.IsNaN()) { throw new ArgumentException("Slope (Nachylenie) nie może przyjmować wartości NaN"); } Slope = slope.IsInfinity() ? Fraction.PositiveInfinity : slope; Constant = CalculateConstant(p, slope); }