示例#1
0
        public LineShape(IDomain segment, Point2D start, Point2D end, string name)
        {
            ParametersDomain = segment;

            Start = start;
            End   = end;
            Name  = name;

            LineEquation = x => (End.Y - Start.Y) * (x - start.X) / (End.X - Start.X) + Start.Y;

            Generator = new SimpleFunctionKeeper(LineEquation);
        }
示例#2
0
        public VerticalSegment(double Y1, double Y2, double X, string name)
        {
            Name = name;
            var countOfCalls = 0;

            Generator = new SimpleFunctionKeeper(d =>
            {
                if (countOfCalls++ == 0)
                {
                    return(Y1);
                }
                return(Y2);
            });

            ParametersDomain = new SimpleDomainKeeper(Enumerable.Repeat(X, 2));
        }