Пример #1
0
        public Page10Prob16(bool onoff, bool complete) : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 1, 2); points.Add(b);
            Point c = new Point("C", 3, 6); points.Add(c);
            Point d = new Point("D", 8, 6); points.Add(d);
            Point e = new Point("E", 6, 2); points.Add(e);
            Point f = new Point("F", 6, 0); points.Add(f);
            Point g = new Point("G", 3, 0); points.Add(g);
            Point h = new Point("H", 3, 2); points.Add(h);

            Segment ac = new Segment(a, c); segments.Add(ac);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment de = new Segment(d, e); segments.Add(de);
            Segment ef = new Segment(e, f); segments.Add(ef);
            Segment be = new Segment(b, e); segments.Add(be);

            List <Point> pts = new List <Point>();

            pts.Add(a);
            pts.Add(b);
            pts.Add(c);
            collinear.Add(new Collinear(pts));

            pts.Add(a);
            pts.Add(g);
            pts.Add(f);
            collinear.Add(new Collinear(pts));

            pts.Add(b);
            pts.Add(h);
            pts.Add(e);
            collinear.Add(new Collinear(pts));

            pts.Add(c);
            pts.Add(h);
            pts.Add(g);
            collinear.Add(new Collinear(pts));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            known.AddSegmentLength(cd, 7);
            known.AddSegmentLength((Segment)parser.Get(new Segment(a, f)), 6);
            known.AddSegmentLength((Segment)parser.Get(new Segment(g, h)), 2);
            known.AddSegmentLength((Segment)parser.Get(new Segment(h, c)), 4);

            given.Add(new RightAngle((Angle)parser.Get(new Angle(h, g, f))));

            List <Point> wanted = new List <Point>();

            wanted.Add(new Point("", 2, 1));
            wanted.Add(new Point("", 4, 1));
            wanted.Add(new Point("", 2, 3));
            wanted.Add(new Point("", 4, 3));
            goalRegions = parser.implied.GetAtomicRegionsByPoints(wanted);

            SetSolutionArea(32);
        }
Пример #2
0
        public Page10Prob16(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 1, 2); points.Add(b);
            Point c = new Point("C", 3, 6); points.Add(c);
            Point d = new Point("D", 8, 6); points.Add(d);
            Point e = new Point("E", 6, 2); points.Add(e);
            Point f = new Point("F", 6, 0); points.Add(f);
            Point g = new Point("G", 3, 0); points.Add(g);
            Point h = new Point("H", 3, 2); points.Add(h);

            Segment ac = new Segment(a, c); segments.Add(ac);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment de = new Segment(d, e); segments.Add(de);
            Segment ef = new Segment(e, f); segments.Add(ef);
            Segment be = new Segment(b, e); segments.Add(be);

            List<Point> pts = new List<Point>();
            pts.Add(a);
            pts.Add(b);
            pts.Add(c);
            collinear.Add(new Collinear(pts));

            pts.Add(a);
            pts.Add(g);
            pts.Add(f);
            collinear.Add(new Collinear(pts));

            pts.Add(b);
            pts.Add(h);
            pts.Add(e);
            collinear.Add(new Collinear(pts));

            pts.Add(c);
            pts.Add(h);
            pts.Add(g);
            collinear.Add(new Collinear(pts));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            known.AddSegmentLength(cd, 7);
            known.AddSegmentLength((Segment)parser.Get(new Segment(a, f)), 6);
            known.AddSegmentLength((Segment)parser.Get(new Segment(g, h)), 2);
            known.AddSegmentLength((Segment)parser.Get(new Segment(h, c)), 4);

            given.Add(new RightAngle((Angle)parser.Get(new Angle(h, g, f))));

            List<Point> wanted = new List<Point>();
            wanted.Add(new Point("", 2, 1));
            wanted.Add(new Point("", 4, 1));
            wanted.Add(new Point("", 2, 3));
            wanted.Add(new Point("", 4, 3));
            goalRegions = parser.implied.GetAtomicRegionsByPoints(wanted);

            SetSolutionArea(32);
        }
Пример #3
0
        public Page10Prob17(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 0, 5); points.Add(b);
            Point c = new Point("C", 3, 5 + 3 * System.Math.Sqrt(3)); points.Add(c);
            Point d = new Point("D", 6, 5); points.Add(d);
            Point e = new Point("E", 9, 5 + 3 * System.Math.Sqrt(3)); points.Add(e);
            Point f = new Point("F", 12, 5); points.Add(f);
            Point g = new Point("G", 12, 0); points.Add(g);
            Point h = new Point("H", 6, 0); points.Add(h);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment de = new Segment(d, e); segments.Add(de);
            Segment ef = new Segment(e, f); segments.Add(ef);
            Segment fg = new Segment(f, g); segments.Add(fg);
            Segment dh = new Segment(d, h); segments.Add(dh);

            List<Point> pts = new List<Point>();
            pts.Add(a);
            pts.Add(h);
            pts.Add(g);
            collinear.Add(new Collinear(pts));

            pts = new List<Point>();
            pts.Add(b);
            pts.Add(d);
            pts.Add(f);
            collinear.Add(new Collinear(pts));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            given.Add(new GeometricCongruentSegments(bc, cd));
            given.Add(new GeometricCongruentSegments(bc, de));
            given.Add(new GeometricCongruentSegments(bc, ef));
            given.Add(new GeometricCongruentSegments(bc, (Segment)parser.Get(new Segment(a, h))));
            given.Add(new GeometricCongruentSegments(bc, (Segment)parser.Get(new Segment(h, g))));
            given.Add(new RightAngle((Angle)parser.Get(new Angle(d, h, g))));
            given.Add(new GeometricCongruentSegments(ab, fg));
            given.Add(new GeometricCongruentSegments(dh, fg));

            known.AddSegmentLength((Segment)parser.Get(new Segment(a, g)), 12);
            known.AddSegmentLength((Segment)parser.Get(new Segment(a, h)), 6);
            known.AddSegmentLength(fg, 5);
            known.AddSegmentLength(ef, 6);

            goalRegions = parser.implied.GetAllAtomicRegions();

            SetSolutionArea(114);

            problemName = "Glencoe Page 10 Problem 17";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
Пример #4
0
        public Page10Prob17(bool onoff, bool complete) : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 0, 5); points.Add(b);
            Point c = new Point("C", 3, 5 + 3 * System.Math.Sqrt(3)); points.Add(c);
            Point d = new Point("D", 6, 5); points.Add(d);
            Point e = new Point("E", 9, 5 + 3 * System.Math.Sqrt(3)); points.Add(e);
            Point f = new Point("F", 12, 5); points.Add(f);
            Point g = new Point("G", 12, 0); points.Add(g);
            Point h = new Point("H", 6, 0); points.Add(h);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment de = new Segment(d, e); segments.Add(de);
            Segment ef = new Segment(e, f); segments.Add(ef);
            Segment fg = new Segment(f, g); segments.Add(fg);
            Segment dh = new Segment(d, h); segments.Add(dh);

            List <Point> pts = new List <Point>();

            pts.Add(a);
            pts.Add(h);
            pts.Add(g);
            collinear.Add(new Collinear(pts));

            pts = new List <Point>();
            pts.Add(b);
            pts.Add(d);
            pts.Add(f);
            collinear.Add(new Collinear(pts));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            given.Add(new GeometricCongruentSegments(bc, cd));
            given.Add(new GeometricCongruentSegments(bc, de));
            given.Add(new GeometricCongruentSegments(bc, ef));
            given.Add(new GeometricCongruentSegments(bc, (Segment)parser.Get(new Segment(a, h))));
            given.Add(new GeometricCongruentSegments(bc, (Segment)parser.Get(new Segment(h, g))));
            given.Add(new RightAngle((Angle)parser.Get(new Angle(d, h, g))));
            given.Add(new GeometricCongruentSegments(ab, fg));
            given.Add(new GeometricCongruentSegments(dh, fg));

            known.AddSegmentLength((Segment)parser.Get(new Segment(a, g)), 12);
            known.AddSegmentLength((Segment)parser.Get(new Segment(a, h)), 6);
            known.AddSegmentLength(fg, 5);
            known.AddSegmentLength(ef, 6);

            goalRegions = parser.implied.GetAllAtomicRegions();

            SetSolutionArea(114);

            problemName = "Glencoe Page 10 Problem 17";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
Пример #5
0
        public Page9Prob8(bool onoff, bool complete) : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 3, 2.5); points.Add(b);
            Point c = new Point("C", 0, 5); points.Add(c);
            Point d = new Point("D", 10, 5); points.Add(d);
            Point e = new Point("E", 13, 2.5); points.Add(e);
            Point f = new Point("F", 10, 0); points.Add(f);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment de = new Segment(d, e); segments.Add(de);
            Segment ef = new Segment(e, f); segments.Add(ef);
            Segment fa = new Segment(f, a); segments.Add(fa);

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            known.AddSegmentLength((Segment)parser.Get(new Segment(a, c)), 5);
            known.AddSegmentLength(fa, 10);
            known.AddSegmentLength(cd, 10);

            given.Add(new GeometricCongruentSegments(ab, bc));
            given.Add(new GeometricCongruentSegments(ab, de));
            given.Add(new GeometricCongruentSegments(ab, ef));

            List <Point> wanted = new List <Point>();

            wanted.Add(new Point("", 6, 2.5));;
            goalRegions = parser.implied.GetAtomicRegionsByPoints(wanted);

            SetSolutionArea(50);
        }
Пример #6
0
        public Page9Prob8(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 3, 2.5); points.Add(b);
            Point c = new Point("C", 0, 5); points.Add(c);
            Point d = new Point("D", 10, 5); points.Add(d);
            Point e = new Point("E", 13, 2.5); points.Add(e);
            Point f = new Point("F", 10, 0); points.Add(f);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment de = new Segment(d, e); segments.Add(de);
            Segment ef = new Segment(e, f); segments.Add(ef);
            Segment fa = new Segment(f, a); segments.Add(fa);

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            known.AddSegmentLength((Segment)parser.Get(new Segment(a, c)), 5);
            known.AddSegmentLength(fa, 10);
            known.AddSegmentLength(cd, 10);

            given.Add(new GeometricCongruentSegments(ab, bc));
            given.Add(new GeometricCongruentSegments(ab, de));
            given.Add(new GeometricCongruentSegments(ab, ef));

            List<Point> wanted = new List<Point>();
            wanted.Add(new Point("", 6, 2.5));;
            goalRegions = parser.implied.GetAtomicRegionsByPoints(wanted);

            SetSolutionArea(50);
        }
Пример #7
0
        public Page10Prob36(bool onoff, bool complete) : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 0, 9); points.Add(b);
            Point c = new Point("C", 8, 9); points.Add(c);
            Point d = new Point("D", 12, 9); points.Add(d);
            Point e = new Point("E", 12, 0); points.Add(e);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment de = new Segment(d, e); segments.Add(de);
            Segment ea = new Segment(e, a); segments.Add(ea);

            Point x = new Point("X", 4, 9.0); points.Add(x);

            circles.Add(new Circle(x, 4.0));

            List <Point> pts = new List <Point>();

            pts.Add(b);
            pts.Add(x);
            pts.Add(c);
            pts.Add(d);
            collinear.Add(new Collinear(pts));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            CircleSegmentIntersection csi = new CircleSegmentIntersection(b, circles[0], ab);

            given.Add(new Tangent((CircleSegmentIntersection)parser.Get(csi)));
            given.Add(new RightAngle((Angle)parser.Get(new Angle(b, a, e))));
            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(b, d)), ea));

            known.AddSegmentLength(ab, 9);
            known.AddSegmentLength(cd, 4);
            known.AddSegmentLength(ea, 12);

            List <Point> wanted = new List <Point>();

            wanted.Add(new Point("", 10, 1));
            goalRegions = parser.implied.GetAtomicRegionsByPoints(wanted);

            SetSolutionArea(108 - 16 * System.Math.PI / 2.0);

            problemName = "Glencoe Page 10 Problem 36";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
Пример #8
0
        public Page9Prob10(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 0, 15); points.Add(b);
            Point c = new Point("C", -8, 25); points.Add(c);
            Point d = new Point("D", 0, 25); points.Add(d);
            Point e = new Point("E", 12, 25); points.Add(e);
            Point f = new Point("F", 12, 0); points.Add(f);

            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment ef = new Segment(e, f); segments.Add(ef);
            Segment fa = new Segment(f, a); segments.Add(fa);


            List <Point> pts = new List <Point>();

            pts.Add(c);
            pts.Add(d);
            pts.Add(e);
            collinear.Add(new Collinear(pts));

            pts = new List <Point>();
            pts.Add(a);
            pts.Add(b);
            pts.Add(d);
            collinear.Add(new Collinear(pts));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            known.AddSegmentLength((Segment)parser.Get(new Segment(c, e)), 20);
            known.AddSegmentLength((Segment)parser.Get(new Segment(b, d)), 10);
            known.AddSegmentLength((Segment)parser.Get(new Segment(a, b)), 15);
            known.AddSegmentLength(fa, 12);

            Quadrilateral quad = (Quadrilateral)parser.Get(new Quadrilateral((Segment)parser.Get(new Segment(a, d)),
                                                                             ef, (Segment)parser.Get(new Segment(d, e)), fa));

            given.Add(new Strengthened(quad, new Rectangle(quad)));

            goalRegions = parser.implied.GetAllAtomicRegions();

            SetSolutionArea(340);

            problemName = "Glencoe Page 9 Problem 10";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
Пример #9
0
        public Page9Prob11(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point o = new Point("O", 54, 31); points.Add(o);
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 0, 62); points.Add(b);
            Point c = new Point("C", 54, 62); points.Add(c);
            Point d = new Point("D", 81, 31); points.Add(d);
            Point e = new Point("E", 54, 0); points.Add(e);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment de = new Segment(d, e); segments.Add(de);
            Segment ea = new Segment(e, a); segments.Add(ea);
            Segment od = new Segment(o, d); segments.Add(od);


            List <Point> pts = new List <Point>();

            pts.Add(c);
            pts.Add(o);
            pts.Add(e);
            collinear.Add(new Collinear(pts));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            known.AddSegmentLength(ab, 62);
            known.AddSegmentLength(ea, 54);
            known.AddSegmentLength(od, 27);

            Segment       ce   = (Segment)parser.Get(new Segment(c, e));
            Quadrilateral quad = (Quadrilateral)parser.Get(new Quadrilateral(ab, ce, bc, ea));

            Intersection inter = parser.GetIntersection(od, ce);

            given.Add(new Strengthened(quad, new Rectangle(quad)));
            given.Add(new Strengthened(inter, new PerpendicularBisector(inter, od)));

            goalRegions = parser.implied.GetAllAtomicRegions();

            SetSolutionArea(4185);

            problemName = "Glencoe Page 9 Problem 11";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
Пример #10
0
        public Page10Prob18(bool onoff, bool complete) : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 0, 7); points.Add(b);
            Point c = new Point("C", 7, 7); points.Add(c);
            Point d = new Point("D", 7, 0); points.Add(d);

            Point o = new Point("O", 0, 3.5); points.Add(o);
            Point p = new Point("P", 3.5, 7); points.Add(p);

            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment da = new Segment(d, a); segments.Add(da);

            List <Point> pts = new List <Point>();

            pts.Add(b);
            pts.Add(o);
            pts.Add(a);
            collinear.Add(new Collinear(pts));

            pts = new List <Point>();
            pts.Add(b);
            pts.Add(p);
            pts.Add(c);
            collinear.Add(new Collinear(pts));

            circles.Add(new Circle(o, 3.5));
            circles.Add(new Circle(p, 3.5));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            Quadrilateral quad = new Quadrilateral((Segment)parser.Get(new Segment(a, b)), cd,
                                                   (Segment)parser.Get(new Segment(b, c)), da);

            given.Add(new Strengthened(quad, new Square(quad)));

            known.AddSegmentLength(cd, 7);

            goalRegions = parser.implied.GetAllAtomicRegions();

            SetSolutionArea(49 + (12.25 * System.Math.PI));

            problemName = "Glencoe Page 10 Problem 18";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
Пример #11
0
        public Page10Prob8(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 8.5, 15); points.Add(b);
            Point c = new Point("C", 17, 0); points.Add(c);
            Point d = new Point("D", 8.5, -15); points.Add(d);
            Point e = new Point("E", 4.25, 7.5); points.Add(e);
            Point f = new Point("F", 8.5, 0); points.Add(f);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment fb = new Segment(f, b); segments.Add(fb);
            Segment ec = new Segment(e, c); segments.Add(ec);

            List<Point> pts = new List<Point>();
            pts.Add(a);
            pts.Add(e);
            pts.Add(d);
            collinear.Add(new Collinear(pts));

            pts.Add(a);
            pts.Add(f);
            pts.Add(c);
            collinear.Add(new Collinear(pts));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            known.AddSegmentLength(ec, 15);
            known.AddSegmentLength(fb, 6);
            known.AddSegmentLength((Segment)parser.Get(new Segment(a, c)), 17);
            known.AddSegmentLength((Segment)parser.Get(new Segment(a, d)), 28);

            given.Add(new RightAngle((Angle)parser.Get(new Angle(a, f, b))));

            List<Point> wanted = new List<Point>();
            wanted.Add(new Point("", 4.25, -3));
            wanted.Add(new Point("", 9, -8));
            wanted.Add(new Point("", 8, 2));
            wanted.Add(new Point("", 9, 2));
            goalRegions = parser.implied.GetAtomicRegionsByPoints(wanted);

            SetSolutionArea(261);
        }
Пример #12
0
        public Page10Prob18(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 0, 7); points.Add(b);
            Point c = new Point("C", 7, 7); points.Add(c);
            Point d = new Point("D", 7, 0); points.Add(d);

            Point o = new Point("O", 0, 3.5); points.Add(o);
            Point p = new Point("P", 3.5, 7); points.Add(p);

            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment da = new Segment(d, a); segments.Add(da);

            List<Point> pts = new List<Point>();
            pts.Add(b);
            pts.Add(o);
            pts.Add(a);
            collinear.Add(new Collinear(pts));

            pts = new List<Point>();
            pts.Add(b);
            pts.Add(p);
            pts.Add(c);
            collinear.Add(new Collinear(pts));

            circles.Add(new Circle(o, 3.5));
            circles.Add(new Circle(p, 3.5));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            Quadrilateral quad = new Quadrilateral((Segment)parser.Get(new Segment(a, b)), cd,
                                                   (Segment)parser.Get(new Segment(b, c)), da);
            given.Add(new Strengthened(quad, new Square(quad)));

            known.AddSegmentLength(cd, 7);

            goalRegions = parser.implied.GetAllAtomicRegions();

            SetSolutionArea(49 + (12.25 * System.Math.PI));

            problemName = "Glencoe Page 10 Problem 18";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
Пример #13
0
        public Page10Prob36(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 0, 9); points.Add(b);
            Point c = new Point("C", 8, 9); points.Add(c);
            Point d = new Point("D", 12, 9); points.Add(d);
            Point e = new Point("E", 12, 0); points.Add(e);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment de = new Segment(d, e); segments.Add(de);
            Segment ea = new Segment(e, a); segments.Add(ea);

            Point x = new Point("X", 4, 9.0); points.Add(x);
            circles.Add(new Circle(x, 4.0));

            List<Point> pts = new List<Point>();
            pts.Add(b);
            pts.Add(x);
            pts.Add(c);
            pts.Add(d);
            collinear.Add(new Collinear(pts));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            CircleSegmentIntersection csi = new CircleSegmentIntersection(b, circles[0], ab);
            given.Add(new Tangent((CircleSegmentIntersection)parser.Get(csi)));
            given.Add(new RightAngle((Angle)parser.Get(new Angle(b, a, e))));
            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(b, d)), ea));

            known.AddSegmentLength(ab, 9);
            known.AddSegmentLength(cd, 4);
            known.AddSegmentLength(ea, 12);

            List<Point> wanted = new List<Point>();
            wanted.Add(new Point("", 10, 1));
            goalRegions = parser.implied.GetAtomicRegionsByPoints(wanted);

            SetSolutionArea(108 - 16 * System.Math.PI / 2.0);

            problemName = "Glencoe Page 10 Problem 36";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
Пример #14
0
        public Page10Prob8(bool onoff, bool complete) : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 8.5, 15); points.Add(b);
            Point c = new Point("C", 17, 0); points.Add(c);
            Point d = new Point("D", 8.5, -15); points.Add(d);
            Point e = new Point("E", 4.25, 7.5); points.Add(e);
            Point f = new Point("F", 8.5, 0); points.Add(f);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment fb = new Segment(f, b); segments.Add(fb);
            Segment ec = new Segment(e, c); segments.Add(ec);

            List<Point> pts = new List<Point>();
            pts.Add(a);
            pts.Add(e);
            pts.Add(d);
            collinear.Add(new Collinear(pts));

            pts.Add(a);
            pts.Add(f);
            pts.Add(c);
            collinear.Add(new Collinear(pts));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            known.AddSegmentLength(ec, 15);
            known.AddSegmentLength(fb, 6);
            known.AddSegmentLength((Segment)parser.Get(new Segment(a, c)), 17);
            known.AddSegmentLength((Segment)parser.Get(new Segment(a, d)), 28);

            given.Add(new RightAngle((Angle)parser.Get(new Angle(a, f, b))));

            List<Point> wanted = new List<Point>();
            wanted.Add(new Point("", 4.25, -3));
            wanted.Add(new Point("", 9, -8));
            wanted.Add(new Point("", 8, 2));
            wanted.Add(new Point("", 9, 2));
            goalRegions = parser.implied.GetAtomicRegionsByPoints(wanted);

            SetSolutionArea(261);
        }
Пример #15
0
        public Page9Prob11(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point o = new Point("O", 54, 31); points.Add(o);
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 0, 62); points.Add(b);
            Point c = new Point("C", 54, 62); points.Add(c);
            Point d = new Point("D", 81, 31); points.Add(d);
            Point e = new Point("E", 54, 0); points.Add(e);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment de = new Segment(d, e); segments.Add(de);
            Segment ea = new Segment(e, a); segments.Add(ea);
            Segment od = new Segment(o, d); segments.Add(od);

            List<Point> pts = new List<Point>();
            pts.Add(c);
            pts.Add(o);
            pts.Add(e);
            collinear.Add(new Collinear(pts));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            known.AddSegmentLength(ab, 62);
            known.AddSegmentLength(ea, 54);
            known.AddSegmentLength(od, 27);

            Segment ce = (Segment)parser.Get(new Segment(c, e));
            Quadrilateral quad = (Quadrilateral)parser.Get(new Quadrilateral(ab, ce, bc, ea));

            Intersection inter = parser.GetIntersection(od, ce);
            given.Add(new Strengthened(quad, new Rectangle(quad)));
            given.Add(new Strengthened(inter, new PerpendicularBisector(inter, od)));

            goalRegions = parser.implied.GetAllAtomicRegions();

            SetSolutionArea(4185);

            problemName = "Glencoe Page 9 Problem 11";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
Пример #16
0
        public Page10Prob10(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", -3, 0); points.Add(b);
            Point c = new Point("C", 0, 22); points.Add(c);
            Point d = new Point("D", 32, 22); points.Add(d);
            Point e = new Point("E", 39, 0); points.Add(e);
            Point f = new Point("F", 32, 0); points.Add(f);

            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment de = new Segment(d, e); segments.Add(de);
            Segment ac = new Segment(a, c); segments.Add(ac);
            Segment df = new Segment(d, f); segments.Add(df);

            List<Point> pts = new List<Point>();
            pts.Add(b);
            pts.Add(a);
            pts.Add(f);
            pts.Add(e);
            collinear.Add(new Collinear(pts));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            given.Add(new RightAngle((Angle)parser.Get(new Angle(c, a, f))));
            given.Add(new RightAngle((Angle)parser.Get(new Angle(a, f, d))));
            given.Add(new GeometricCongruentSegments(ac, df));

            known.AddSegmentLength((Segment)parser.Get(new Segment(a, b)), 3);
            known.AddSegmentLength((Segment)parser.Get(new Segment(e, f)), 7);
            known.AddSegmentLength((Segment)parser.Get(new Segment(a, c)), 22);
            known.AddSegmentLength(cd, 32);

            goalRegions = parser.implied.GetAllAtomicRegions();

            SetSolutionArea(814);

            problemName = "Glencoe Page 10 Problem 10";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
Пример #17
0
        public Page10Prob10(bool onoff, bool complete) : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", -3, 0); points.Add(b);
            Point c = new Point("C", 0, 22); points.Add(c);
            Point d = new Point("D", 32, 22); points.Add(d);
            Point e = new Point("E", 39, 0); points.Add(e);
            Point f = new Point("F", 32, 0); points.Add(f);

            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment de = new Segment(d, e); segments.Add(de);
            Segment ac = new Segment(a, c); segments.Add(ac);
            Segment df = new Segment(d, f); segments.Add(df);

            List <Point> pts = new List <Point>();

            pts.Add(b);
            pts.Add(a);
            pts.Add(f);
            pts.Add(e);
            collinear.Add(new Collinear(pts));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            given.Add(new RightAngle((Angle)parser.Get(new Angle(c, a, f))));
            given.Add(new RightAngle((Angle)parser.Get(new Angle(a, f, d))));
            given.Add(new GeometricCongruentSegments(ac, df));

            known.AddSegmentLength((Segment)parser.Get(new Segment(a, b)), 3);
            known.AddSegmentLength((Segment)parser.Get(new Segment(e, f)), 7);
            known.AddSegmentLength((Segment)parser.Get(new Segment(a, c)), 22);
            known.AddSegmentLength(cd, 32);

            goalRegions = parser.implied.GetAllAtomicRegions();

            SetSolutionArea(814);

            problemName = "Glencoe Page 10 Problem 10";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
Пример #18
0
        public Page9Prob12(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 7.5, 10); points.Add(b);
            Point c = new Point("C", 0, 20); points.Add(c);
            Point d = new Point("D", 7.5, 20); points.Add(d);
            Point e = new Point("E", 23, 20); points.Add(e);
            Point f = new Point("F", 15.5, 10); points.Add(f);
            Point g = new Point("G", 23, 0); points.Add(g);
            Point h = new Point("H", 7.5, 0); points.Add(h);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment ef = new Segment(e, f); segments.Add(ef);
            Segment fg = new Segment(f, g); segments.Add(fg);
            Segment bf = new Segment(b, f); segments.Add(bf);

            List<Point> pts = new List<Point>();
            pts.Add(c);
            pts.Add(d);
            pts.Add(e);
            collinear.Add(new Collinear(pts));

            pts = new List<Point>();
            pts.Add(g);
            pts.Add(h);
            pts.Add(a);
            collinear.Add(new Collinear(pts));

            pts = new List<Point>();
            pts.Add(d);
            pts.Add(b);
            pts.Add(h);
            collinear.Add(new Collinear(pts));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            Segment ce = (Segment)parser.Get(new Segment(c, e));
            Segment ga = (Segment)parser.Get(new Segment(g, a));
            known.AddSegmentLength(ce, 23);
            known.AddSegmentLength(ga, 23);
            known.AddSegmentLength((Segment)parser.Get(new Segment(d, b)), 10);
            known.AddSegmentLength((Segment)parser.Get(new Segment(b, h)), 10);
            known.AddSegmentLength(bf, 8);

            Quadrilateral quad1 = (Quadrilateral)parser.Get(new Quadrilateral(bc, ef, ce, bf));
            Quadrilateral quad2 = (Quadrilateral)parser.Get(new Quadrilateral(ab, fg, bf, ga));

            given.Add(new Strengthened(quad1, new Trapezoid(quad1)));
            given.Add(new Strengthened(quad2, new Trapezoid(quad2)));

            goalRegions = parser.implied.GetAllAtomicRegions();

            SetSolutionArea(310);

            problemName = "Glencoe Page 9 Problem 12";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
Пример #19
0
        public Page9Prob9(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point o = new Point("O", 4, 12); points.Add(o);
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 0, 12); points.Add(b);
            Point c = new Point("C", 8, 12); points.Add(c);
            Point d = new Point("D", 8, 0); points.Add(d);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment da = new Segment(d, a); segments.Add(da);

            List<Point> pts = new List<Point>();
            pts.Add(b);
            pts.Add(o);
            pts.Add(c);
            collinear.Add(new Collinear(pts));

            circles.Add(new Circle(o, 4));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            Quadrilateral quad = (Quadrilateral)parser.Get(new Quadrilateral(ab, cd, (Segment)parser.Get(new Segment(b, c)), da));

            known.AddSegmentLength(da, 8);
            known.AddSegmentLength(cd, 12);

            given.Add(new Strengthened(quad, new Rectangle(quad)));

            List<Point> wanted = new List<Point>();
            wanted.Add(new Point("", 4, 2));
            goalRegions = parser.implied.GetAtomicRegionsByPoints(wanted);

            SetSolutionArea(96 - (8 * System.Math.PI));

            problemName = "Glencoe Page 9 Problem 9";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
Пример #20
0
        public Page10Prob9(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 0, 18); points.Add(b);
            Point c = new Point("C", 39, 18); points.Add(c);
            Point d = new Point("D", 56, 0); points.Add(d);
            Point e = new Point("E", 39, 0); points.Add(e);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment ce = new Segment(c, e); segments.Add(ce);

            List<Point> pts = new List<Point>();
            pts.Add(a);
            pts.Add(e);
            pts.Add(d);
            collinear.Add(new Collinear(pts));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            given.Add(new RightAngle((Angle)parser.Get(new Angle(b, a, e))));
            given.Add(new RightAngle((Angle)parser.Get(new Angle(c, e, a))));
            given.Add(new RightAngle((Angle)parser.Get(new Angle(a, b, c))));

            known.AddSegmentLength(ab, 18);
            known.AddSegmentLength(bc, 39);
            known.AddSegmentLength((Segment)parser.Get(new Segment(a, d)), 56);

            goalRegions = parser.implied.GetAllAtomicRegions();

            SetSolutionArea(855);

            problemName = "Glencoe Page 10 Problem 39";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
Пример #21
0
        public Page10Prob9(bool onoff, bool complete) : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 0, 18); points.Add(b);
            Point c = new Point("C", 39, 18); points.Add(c);
            Point d = new Point("D", 56, 0); points.Add(d);
            Point e = new Point("E", 39, 0); points.Add(e);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment ce = new Segment(c, e); segments.Add(ce);

            List <Point> pts = new List <Point>();

            pts.Add(a);
            pts.Add(e);
            pts.Add(d);
            collinear.Add(new Collinear(pts));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            given.Add(new RightAngle((Angle)parser.Get(new Angle(b, a, e))));
            given.Add(new RightAngle((Angle)parser.Get(new Angle(c, e, a))));
            given.Add(new RightAngle((Angle)parser.Get(new Angle(a, b, c))));

            known.AddSegmentLength(ab, 18);
            known.AddSegmentLength(bc, 39);
            known.AddSegmentLength((Segment)parser.Get(new Segment(a, d)), 56);

            goalRegions = parser.implied.GetAllAtomicRegions();

            SetSolutionArea(855);

            problemName = "Glencoe Page 10 Problem 39";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
Пример #22
0
        public Page9Prob9(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point o = new Point("O", 4, 12); points.Add(o);
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 0, 12); points.Add(b);
            Point c = new Point("C", 8, 12); points.Add(c);
            Point d = new Point("D", 8, 0); points.Add(d);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment da = new Segment(d, a); segments.Add(da);

            List <Point> pts = new List <Point>();

            pts.Add(b);
            pts.Add(o);
            pts.Add(c);
            collinear.Add(new Collinear(pts));

            circles.Add(new Circle(o, 4));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            Quadrilateral quad = (Quadrilateral)parser.Get(new Quadrilateral(ab, cd, (Segment)parser.Get(new Segment(b, c)), da));

            known.AddSegmentLength(da, 8);
            known.AddSegmentLength(cd, 12);

            given.Add(new Strengthened(quad, new Rectangle(quad)));

            List <Point> wanted = new List <Point>();

            wanted.Add(new Point("", 4, 2));
            goalRegions = parser.implied.GetAtomicRegionsByPoints(wanted);

            SetSolutionArea(96 - (8 * System.Math.PI));

            problemName = "Glencoe Page 9 Problem 9";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
Пример #23
0
        public Page9Prob33(bool onoff, bool complete) : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 0, 2.5); points.Add(b);
            Point c = new Point("C", 0, 5); points.Add(c);
            Point d = new Point("D", 5, 5); points.Add(d);
            Point e = new Point("E", 5, 0); points.Add(e);

            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment de = new Segment(d, e); segments.Add(de);
            Segment ea = new Segment(e, a); segments.Add(ea);

            List <Point> pts = new List <Point>();

            pts.Add(a);
            pts.Add(b);
            pts.Add(c);
            collinear.Add(new Collinear(pts));

            circles.Add(new Circle(b, 2.5));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            Quadrilateral quad = new Quadrilateral((Segment)parser.Get(new Segment(a, c)), de, cd, ea);

            given.Add(new Strengthened(quad, new Square(quad)));

            known.AddSegmentLength(cd, 5);

            List <Point> wanted = new List <Point>();

            wanted.Add(new Point("", 4, 4));
            goalRegions = parser.implied.GetAtomicRegionsByPoints(wanted);

            SetSolutionArea(25 - (2.5 * 2.5 * System.Math.PI / 2.0));

            problemName = "Glencoe Page 9 Problem 33";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
Пример #24
0
        public Page9Prob10(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 0, 15); points.Add(b);
            Point c = new Point("C", -8, 25); points.Add(c);
            Point d = new Point("D", 0, 25); points.Add(d);
            Point e = new Point("E", 12, 25); points.Add(e);
            Point f = new Point("F", 12, 0); points.Add(f);

            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment ef = new Segment(e, f); segments.Add(ef);
            Segment fa = new Segment(f, a); segments.Add(fa);

            List<Point> pts = new List<Point>();
            pts.Add(c);
            pts.Add(d);
            pts.Add(e);
            collinear.Add(new Collinear(pts));

            pts = new List<Point>();
            pts.Add(a);
            pts.Add(b);
            pts.Add(d);
            collinear.Add(new Collinear(pts));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            known.AddSegmentLength((Segment)parser.Get(new Segment(c, e)), 20);
            known.AddSegmentLength((Segment)parser.Get(new Segment(b, d)), 10);
            known.AddSegmentLength((Segment)parser.Get(new Segment(a, b)), 15);
            known.AddSegmentLength(fa, 12);

            Quadrilateral quad = (Quadrilateral)parser.Get(new Quadrilateral((Segment)parser.Get(new Segment(a, d)),
                ef, (Segment)parser.Get(new Segment(d, e)), fa));

            given.Add(new Strengthened(quad, new Rectangle(quad)));

            goalRegions = parser.implied.GetAllAtomicRegions();

            SetSolutionArea(340);

            problemName = "Glencoe Page 9 Problem 10";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
Пример #25
0
        public Page9Prob33(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 0, 2.5); points.Add(b);
            Point c = new Point("C", 0, 5); points.Add(c);
            Point d = new Point("D", 5, 5); points.Add(d);
            Point e = new Point("E", 5, 0); points.Add(e);

            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment de = new Segment(d, e); segments.Add(de);
            Segment ea = new Segment(e, a); segments.Add(ea);

            List<Point> pts = new List<Point>();
            pts.Add(a);
            pts.Add(b);
            pts.Add(c);
            collinear.Add(new Collinear(pts));

            circles.Add(new Circle(b, 2.5));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            Quadrilateral quad = new Quadrilateral((Segment)parser.Get(new Segment(a, c)), de, cd, ea);
            given.Add(new Strengthened(quad, new Square(quad)));

            known.AddSegmentLength(cd, 5);

            List<Point> wanted = new List<Point>();
            wanted.Add(new Point("", 4, 4));
            goalRegions = parser.implied.GetAtomicRegionsByPoints(wanted);

            SetSolutionArea(25 - (2.5 * 2.5 * System.Math.PI / 2.0));

            problemName = "Glencoe Page 9 Problem 33";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
Пример #26
0
        public Page9Prob12(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 7.5, 10); points.Add(b);
            Point c = new Point("C", 0, 20); points.Add(c);
            Point d = new Point("D", 7.5, 20); points.Add(d);
            Point e = new Point("E", 23, 20); points.Add(e);
            Point f = new Point("F", 15.5, 10); points.Add(f);
            Point g = new Point("G", 23, 0); points.Add(g);
            Point h = new Point("H", 7.5, 0); points.Add(h);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment ef = new Segment(e, f); segments.Add(ef);
            Segment fg = new Segment(f, g); segments.Add(fg);
            Segment bf = new Segment(b, f); segments.Add(bf);

            List <Point> pts = new List <Point>();

            pts.Add(c);
            pts.Add(d);
            pts.Add(e);
            collinear.Add(new Collinear(pts));

            pts = new List <Point>();
            pts.Add(g);
            pts.Add(h);
            pts.Add(a);
            collinear.Add(new Collinear(pts));

            pts = new List <Point>();
            pts.Add(d);
            pts.Add(b);
            pts.Add(h);
            collinear.Add(new Collinear(pts));

            parser = new TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);

            Segment ce = (Segment)parser.Get(new Segment(c, e));
            Segment ga = (Segment)parser.Get(new Segment(g, a));

            known.AddSegmentLength(ce, 23);
            known.AddSegmentLength(ga, 23);
            known.AddSegmentLength((Segment)parser.Get(new Segment(d, b)), 10);
            known.AddSegmentLength((Segment)parser.Get(new Segment(b, h)), 10);
            known.AddSegmentLength(bf, 8);

            Quadrilateral quad1 = (Quadrilateral)parser.Get(new Quadrilateral(bc, ef, ce, bf));
            Quadrilateral quad2 = (Quadrilateral)parser.Get(new Quadrilateral(ab, fg, bf, ga));

            given.Add(new Strengthened(quad1, new Trapezoid(quad1)));
            given.Add(new Strengthened(quad2, new Trapezoid(quad2)));

            goalRegions = parser.implied.GetAllAtomicRegions();

            SetSolutionArea(310);

            problemName = "Glencoe Page 9 Problem 12";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }