コード例 #1
0
        public Page242Problem21(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 242 Problem 21";


            Point t = new Point("T", 0, 0); points.Add(t);
            Point s = new Point("S", 6, 8); points.Add(s);
            Point o = new Point("O", 9, 12); points.Add(o);
            Point v = new Point("V", 13, 8); points.Add(v);
            Point w = new Point("W", 21, 0); points.Add(w);

            Segment tw = new Segment(t, w); segments.Add(tw);
            Segment sv = new Segment(s, v); segments.Add(sv);

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

            pts.Add(t);
            pts.Add(s);
            pts.Add(o);
            collinear.Add(new Collinear(pts));

            pts = new List <Point>();
            pts.Add(o);
            pts.Add(v);
            pts.Add(w);
            collinear.Add(new Collinear(pts));

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

            given.Add(new GeometricParallel((Segment)parser.Get(tw), (Segment)parser.Get(sv)));
        }
コード例 #2
0
        //Demonstrates: Use of AngleArc equation, Central angle equal to intercepted arc

        public Test01(bool onoff, bool complete) : base(onoff, complete)
        {
            Point o = new Point("O", 0, 0); points.Add(o);
            Point a = new Point("A", -5, 0); points.Add(a);
            Point b = new Point("B", 5, 0); points.Add(b);
            Point c = new Point("C", 0, 5); points.Add(c);


            Segment oc = new Segment(o, c); segments.Add(oc);

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

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

            Circle circle = new Circle(o, 5.0);

            circles.Add(circle);

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

            MinorArc m1 = (MinorArc)parser.Get(new MinorArc(circle, a, c));
            MinorArc m2 = (MinorArc)parser.Get(new MinorArc(circle, b, c));

            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(a, o, c)), (Angle)parser.Get(new Angle(b, o, c))));
            goals.Add(new GeometricCongruentArcs(m1, m2));
        }
コード例 #3
0
        public Page301Problem42(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 301 Problem 42";


            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 0, 6); points.Add(b);
            Point c = new Point("C", 4, 3); points.Add(c);
            Point d = new Point("D", 8, 0); points.Add(d);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment ac = new Segment(a, c); segments.Add(ac);
            Segment ad = new Segment(a, d); segments.Add(ad);

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

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

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

            given.Add(new Midpoint((InMiddle)parser.Get(new InMiddle(c, (Segment)parser.Get(new Segment(b, d))))));
            given.Add(new RightAngle(b, a, d));

            goals.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(b, c)), ac));
            goals.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(d, c)), ac));
        }
コード例 #4
0
        //Demonstrates: Minor Arcs Congruent if central angles congruent

        public Test10(bool onoff, bool complete)
            : base(onoff, complete)
        {
            //Circle center
            Point o = new Point("O", 0, 0); points.Add(o);

            //Vertices for angle TOV, a central angle of circle O, with one endpoint at 90 degrees and another at 30 degrees
            Point t = new Point("T", -3, 4); points.Add(t);
            Point v = new Point("V", 0, 5); points.Add(v);

            //Vertices for angle VOA, a central angle of circle C, with one endpoint at 90 degrees and another at 30 degrees
            Point a = new Point("A", 3, 4); points.Add(a);

            Segment ot = new Segment(o, t); segments.Add(ot);
            Segment ov = new Segment(o, v); segments.Add(ov);
            Segment oa = new Segment(o, a); segments.Add(oa);

            Circle circleO = new Circle(o, 5.0);

            circles.Add(circleO);

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

            given.Add(new GeometricCongruentArcs((MinorArc)parser.Get(new MinorArc(circleO, t, v)), (MinorArc)parser.Get(new MinorArc(circleO, v, a))));

            goals.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(t, o, v)), (Angle)parser.Get(new Angle(v, o, a))));
        }
コード例 #5
0
        public Page146Problem17(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 146 Problem 17";


            Point d = new Point("D", 2, 3); points.Add(d);
            Point b = new Point("B", 10, 0); points.Add(b);
            Point a = new Point("A", 0, 0); points.Add(a);
            Point c = new Point("C", 8, 3); points.Add(c);
            Point m = new Point("M", 5, 0); points.Add(m);

            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment ad = new Segment(a, d); segments.Add(ad);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment bd = new Segment(b, d); segments.Add(bd);
            Segment ac = new Segment(a, c); segments.Add(ac);
            Segment dm = new Segment(d, m); segments.Add(dm);
            Segment cm = new Segment(c, m); segments.Add(cm);


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

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

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

            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(a, m)), (Segment)parser.Get(new Segment(b, m))));
            given.Add(new GeometricCongruentSegments(ad, bc));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(m, d, c)), (Angle)parser.Get(new Angle(m, c, d))));
        }
コード例 #6
0
        public Page146Problem14(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 146 Problem 14";


            Point g = new Point("G", 0, 0); points.Add(g);
            Point d = new Point("D", 3, 2); points.Add(d);
            Point e = new Point("E", 7, 0); points.Add(e);
            Point h = new Point("H", 2, 0); points.Add(h);
            Point k = new Point("K", 5, 0); points.Add(k);
            Point f = new Point("F", 4, -2); points.Add(f);

            Segment dg = new Segment(d, g); segments.Add(dg);
            Segment de = new Segment(d, e); segments.Add(de);
            Segment dh = new Segment(d, h); segments.Add(dh);
            Segment fg = new Segment(f, g); segments.Add(fg);
            Segment fk = new Segment(f, k); segments.Add(fk);
            Segment ef = new Segment(e, f); segments.Add(ef);

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

            pts.Add(g);
            pts.Add(h);
            pts.Add(k);
            pts.Add(e);
            collinear.Add(new Collinear(pts));

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

            given.Add(new GeometricParallel(dg, ef));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(g, d, e)), (Angle)parser.Get(new Angle(g, f, e))));
            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(g, h)), (Segment)parser.Get(new Segment(e, k))));

            goals.Add(new GeometricParallel(dh, fk));
        }
コード例 #7
0
        public IPage120Problem6(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Book I Page 120 Problem 6";

            Point a = new Point("A", 2, 6);  points.Add(a);
            Point b = new Point("B", 0, 0);  points.Add(b);
            Point c = new Point("C", 10, 0); points.Add(c);
            Point d = new Point("D", 4, 0);  points.Add(d);
            Point e = new Point("E", 12, 6); points.Add(e);


            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment ad = new Segment(a, d); segments.Add(ad);
            Segment ac = new Segment(a, c); segments.Add(ac);
            Segment ae = new Segment(a, e); segments.Add(ae);
            Segment ec = new Segment(e, c); segments.Add(ec);
            Segment de = new Segment(d, e); segments.Add(de);

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

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

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

            given.Add(new GeometricCongruentSegments(ac, ae));
            given.Add(new GeometricCongruentSegments(ab, ad));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(b, a, d)), (Angle)parser.Get(new Angle(e, a, c))));

            goals.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(b, c)), de));
        }
コード例 #8
0
ファイル: Page42Problem16.cs プロジェクト: wcatykid/GeoShader
        public Page42Problem16(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 42 Problem 16";


            Point a = new Point("A", -4, 0); points.Add(a);
            Point b = new Point("B", 0, 0); points.Add(b);
            Point c = new Point("C", 6, 0); points.Add(c);

            Point x = new Point("X", -3, -2); points.Add(x);
            Point y = new Point("Y", 0, -5); points.Add(y);
            Point z = new Point("Z", 2, -3); points.Add(z);

            Segment bx = new Segment(b, x); segments.Add(bx);
            Segment by = new Segment(b, y); segments.Add(by);
            Segment bz = new Segment(b, z); segments.Add(bz);

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

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

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

            given.Add(new Complementary((Angle)parser.Get(new Angle(a, b, x)), (Angle)parser.Get(new Angle(x, b, y))));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(a, b, x)), (Angle)parser.Get(new Angle(y, b, z))));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(x, b, y)), (Angle)parser.Get(new Angle(c, b, z))));

            goals.Add(new Complementary((Angle)parser.Get(new Angle(y, b, z)), (Angle)parser.Get(new Angle(z, b, c))));
        }
コード例 #9
0
        public IPage123Example6(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Book I Page 123 Example 6";


            Point a = new Point("A", 3.5, 4); points.Add(a);
            Point b = new Point("B", 0, 0); points.Add(b);
            Point c = new Point("C", 7, 0); points.Add(c);
            Point d = new Point("D", 2, 0); points.Add(d);
            Point e = new Point("E", 5, 0); points.Add(e);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment ac = new Segment(a, c); segments.Add(ac);
            Segment ad = new Segment(a, d); segments.Add(ad);
            Segment ae = new Segment(a, e); segments.Add(ae);

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

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

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

            given.Add(new IsoscelesTriangle((Triangle)parser.Get(new Triangle(a, b, c))));
            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(b, e)), (Segment)parser.Get(new Segment(c, d))));

            goals.Add(new GeometricCongruentSegments(ad, ae));
        }
コード例 #10
0
        //Demonstrates: congruent chords have congruent arcs

        public Page306Theorem7_4_1(bool onoff, bool complete) : base(onoff, complete)
        {
            Point o = new Point("O", 0, 0); points.Add(o);
            Point r = new Point("R", -3, 4); points.Add(r);
            Point s = new Point("S", 2, Math.Sqrt(21)); points.Add(s);
            Point t = new Point("T", 2, -Math.Sqrt(21)); points.Add(t);
            Point u = new Point("U", -3, -4); points.Add(u);

            Segment rt = new Segment(r, t);
            Segment su = new Segment(s, u);
            Point   v  = rt.FindIntersection(su); points.Add(v);

            Segment rs = new Segment(r, s); segments.Add(rs);
            Segment ut = new Segment(u, t); segments.Add(ut);

            Circle c = new Circle(o, 5.0);

            circles.Add(c);

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

            given.Add(new GeometricCongruentSegments(rs, ut));

            MinorArc a1  = (MinorArc)parser.Get(new MinorArc(c, r, s));
            MinorArc a2  = (MinorArc)parser.Get(new MinorArc(c, t, u));
            MajorArc ma1 = (MajorArc)parser.Get(new MajorArc(c, r, s));
            MajorArc ma2 = (MajorArc)parser.Get(new MajorArc(c, t, u));

            goals.Add(new GeometricCongruentArcs(a1, a2));
            goals.Add(new GeometricCongruentArcs(ma1, ma2));
        }
コード例 #11
0
        public Page76Problem8(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 76 Problem 8";


            Point s = new Point("S", 2, 8);  points.Add(s);
            Point r = new Point("R", 1, 4);  points.Add(r);
            Point t = new Point("T", 5, 4);  points.Add(t);
            Point q = new Point("Q", 4, 0);  points.Add(q);
            Point p = new Point("P", 0, 0);  points.Add(p);

            //     System.Diagnostics.Debug.WriteLine(new Segment(b, c).FindIntersection(new Segment(p, d)));

            Segment st = new Segment(s, t); segments.Add(st);
            Segment rt = new Segment(r, t); segments.Add(rt);
            Segment rq = new Segment(r, q); segments.Add(rq);
            Segment pq = new Segment(p, q); segments.Add(pq);

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

            pts.Add(s);
            pts.Add(r);
            pts.Add(p);
            collinear.Add(new Collinear(pts));

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

            given.Add(new GeometricParallel(st, rq));
            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(s, r)), (Segment)parser.Get(new Segment(r, p))));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(s, r, t)), (Angle)parser.Get(new Angle(r, p, q))));

            goals.Add(new GeometricCongruentSegments(st, rq));
        }
コード例 #12
0
        public Page170ClassroomExercise05(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 170 Classroom Exercise 05";


            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 10, 0); points.Add(b);
            Point c = new Point("C", 10, 10); points.Add(c);
            Point d = new Point("D", 0, 10); points.Add(d);

            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 ad = new Segment(a, d); segments.Add(ad);

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


            Quadrilateral quad = (Quadrilateral)parser.Get(new Quadrilateral(ad, bc, cd, ab));
            Angle         abc  = (Angle)parser.Get(new Angle(a, b, c));

            given.Add(new Strengthened(quad, new Parallelogram(quad)));
            given.Add(new Strengthened(abc, new RightAngle(abc)));
            given.Add(new GeometricCongruentSegments(ab, bc));

            goals.Add(new Strengthened(quad, new Square(quad)));
        }
コード例 #13
0
ファイル: Page75Problem18.cs プロジェクト: wcatykid/GeoShader
        public Page75Problem18(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 75 Problem 18";


            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 2, 4); points.Add(b);
            Point c = new Point("C", 3, 3); points.Add(c);
            Point d = new Point("D", 4, 4); points.Add(d);
            Point e = new Point("E", 6, 0); points.Add(e);

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

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

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

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

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

            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(a, b, e)), (Angle)parser.Get(new Angle(a, d, e))));
            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(a, c)), (Segment)parser.Get(new Segment(c, e))));

            goals.Add(new GeometricCongruentTriangles(new Triangle(a, b, c), new Triangle(e, d, c)));
        }
コード例 #14
0
        public Page60Theorem22(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 60 Theorem 22";


            Point a = new Point("A", -1, 3); points.Add(a);
            Point b = new Point("B", 4, 3); points.Add(b);
            Point c = new Point("C", 0, 0); points.Add(c);
            Point d = new Point("D", 5, 0); points.Add(d);

            Point x = new Point("X", 2, 3); points.Add(x);
            Point y = new Point("Y", 1, 0); points.Add(y);

            Segment xy = new Segment(x, y); segments.Add(xy);

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

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

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

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

            given.Add(new GeometricParallel((Segment)parser.Get(new Segment(a, b)), (Segment)parser.Get(new Segment(c, d))));

            goals.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(a, x, y)), (Angle)parser.Get(new Angle(x, y, d))));
        }
コード例 #15
0
ファイル: Page6Prob29.cs プロジェクト: wcatykid/GeoShader
        public Page6Prob29(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point a = new Point("A", 0, 17); points.Add(a);
            Point b = new Point("B", 0, 34); points.Add(b);
            Point c = new Point("C", 0, -34); points.Add(c);
            Point o = new Point("O", 0, 0); points.Add(o);

            Segment bc = new Segment(b, c); segments.Add(bc);

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

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

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

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

            known.AddSegmentLength((Segment)parser.Get(new Segment(a, b)), 17);
            known.AddAngleMeasureDegree((Angle)parser.Get(new Angle(b, o, c)), 180);
            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(a, b)), (Segment)parser.Get(new Segment(a, o))));

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

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

            SetSolutionArea(433.5 * System.Math.PI);
        }
コード例 #16
0
        public Page284Example46(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 284 example 4.6";


            Point e = new Point("E", 1, 0); points.Add(e);
            Point f = new Point("F", 0, 8); points.Add(f);
            Point g = new Point("G", 5, 3); points.Add(g);
            Point h = new Point("H", 9, 6); points.Add(h);
            Point j = new Point("J", 10, -2); points.Add(j);

            Segment ef = new Segment(e, f); segments.Add(ef);
            Segment hj = new Segment(h, j); segments.Add(hj);

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

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

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

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

            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(g, f)), (Segment)parser.Get(new Segment(j, g))));
            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(e, g)), (Segment)parser.Get(new Segment(h, g))));

            goals.Add(new GeometricCongruentSegments(ef, hj));
        }
コード例 #17
0
        public Page285Problem21(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 285 Problem 21";


            Point a = new Point("A", 3, 4); points.Add(a);
            Point b = new Point("B", 9, 4); points.Add(b);
            Point c = new Point("C", 0, 0); points.Add(c);
            Point d = new Point("D", 6, 0); points.Add(d);
            Point e = new Point("E", 12, 0); points.Add(e);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment ac = new Segment(a, c); segments.Add(ac);
            Segment ad = new Segment(a, d); segments.Add(ad);
            Segment bd = new Segment(b, d); segments.Add(bd);
            Segment be = new Segment(b, e); segments.Add(be);

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

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

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

            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(c, d)), (Segment)parser.Get(new Segment(d, e))));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(a, c, d)), (Angle)parser.Get(new Angle(b, e, d))));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(c, a, d)), (Angle)parser.Get(new Angle(d, b, e))));

            goals.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(b, a, d)), (Angle)parser.Get(new Angle(d, b, a))));
        }
コード例 #18
0
        public Page197Problem37(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 197 Problem 37";


            Point a = new Point("A", 0, 5); points.Add(a);
            Point b = new Point("B", 3, 8); points.Add(b);
            Point c = new Point("C", 5, 0); points.Add(c);
            Point d = new Point("D", 9000, 5); points.Add(d);
            Point e = new Point("E", 0, 0); points.Add(e);
            Point f = new Point("F", 0, 30); points.Add(f);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment ac = new Segment(a, c); segments.Add(ac);
            Segment ad = new Segment(a, d); segments.Add(ad);

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

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

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

            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(f, a, b)),
                                                   (Angle)parser.Get(new Angle(c, a, d))));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(d, a, b)),
                                                   (Angle)parser.Get(new Angle(e, a, c))));

            goals.Add(new Strengthened(parser.GetIntersection(new Segment(a, b), new Segment(a, c)),
                                       new Perpendicular(parser.GetIntersection(new Segment(a, b), new Segment(a, c)))));
        }
コード例 #19
0
        public Page226Problem44(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 226 Problem 44";

            Point v = new Point("V", 4, 12); points.Add(v);
            Point w = new Point("W", 12, 6); points.Add(w);
            Point x = new Point("X", 8, 4); points.Add(x);
            Point y = new Point("Y", 10, 0); points.Add(y);
            Point z = new Point("Z", 0, 0); points.Add(z);

            Segment vw = new Segment(v, w); segments.Add(vw);
            Segment yz = new Segment(y, z); segments.Add(yz);

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

            pts.Add(z);
            pts.Add(x);
            pts.Add(w);
            collinear.Add(new Collinear(pts));

            pts = new List <Point>();
            pts.Add(v);
            pts.Add(x);
            pts.Add(y);
            collinear.Add(new Collinear(pts));

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

            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(x, v, w)), (Angle)parser.Get(new Angle(x, z, y))));
            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(w, x)), (Segment)parser.Get(new Segment(x, y))));

            goals.Add(new GeometricCongruentSegments(vw, yz));
        }
コード例 #20
0
        public Page156Problem34(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 156 Problem 34";

            Point s = new Point("S", 0, 10); points.Add(s);
            Point t = new Point("T", 0, 0); points.Add(t);
            Point u = new Point("U", 10, 0); points.Add(u);
            Point v = new Point("V", 10, 10); points.Add(v);
            Point w = new Point("W", 5, 5); points.Add(w);

            Segment st = new Segment(s, t); segments.Add(st);
            Segment uv = new Segment(u, v); segments.Add(uv);

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

            pts.Add(t);
            pts.Add(w);
            pts.Add(v);
            collinear.Add(new Collinear(pts));

            pts = new List <Point>();
            pts.Add(s);
            pts.Add(w);
            pts.Add(u);
            collinear.Add(new Collinear(pts));

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

            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(w, v, u)), (Angle)parser.Get(new Angle(w, s, t))));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(w, t, s)), (Angle)parser.Get(new Angle(w, s, t))));

            goals.Add(new GeometricParallel(st, uv));
        }
コード例 #21
0
        public Page284Example44(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 284 Example 4.4";


            Point d = new Point("D", 0, 4); points.Add(d);
            Point e = new Point("E", 3, 0); points.Add(e);
            Point f = new Point("F", 6, 0); points.Add(f);
            Point g = new Point("G", 12, 4); points.Add(g);
            Point h = new Point("H", 9, 0); points.Add(h);

            Segment de = new Segment(d, e); segments.Add(de);
            Segment df = new Segment(d, f); segments.Add(df);
            Segment gh = new Segment(g, h); segments.Add(gh);
            Segment fg = new Segment(f, g); segments.Add(fg);

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

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

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

            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(f, e)), (Segment)parser.Get(new Segment(f, h))));
            given.Add(new GeometricCongruentSegments(de, gh));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(d, e, f)), (Angle)parser.Get(new Angle(g, h, f))));

            goals.Add(new GeometricCongruentTriangles(new Triangle(d, e, f), new Triangle(g, h, f)));
        }
コード例 #22
0
        public Page37Problem2(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 37 Problem 2";

            Point a = new Point("A", -4, 0); points.Add(a);
            Point b = new Point("B", 0, 0); points.Add(b);
            Point c = new Point("C", -4, 7); points.Add(c);

            Point x = new Point("X", 1, 3); points.Add(x);
            Point y = new Point("Y", 1, 0); points.Add(y);
            Point z = new Point("Z", 7, 0); points.Add(z);
            Point p = new Point("P", 5, 7); points.Add(p);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment xy = new Segment(x, y); segments.Add(xy);
            Segment yz = new Segment(y, z); segments.Add(yz);
            Segment yp = new Segment(y, p); segments.Add(yp);


            parser = new LiveGeometry.TutorParser.HardCodedParserMain(points, collinear, segments, circles, onoff);
            given.Add(new Complementary((Angle)parser.Get(new Angle(a, b, c)), (Angle)parser.Get(new Angle(x, y, p))));
            Addition sum = new Addition((Angle)parser.Get(new Angle(p, y, z)), (Angle)parser.Get(new Angle(x, y, p)));

            given.Add(new GeometricAngleEquation(sum, new NumericValue(90)));

            goals.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(a, b, c)), (Angle)parser.Get(new Angle(p, y, z))));
        }
コード例 #23
0
ファイル: Page76Problem8.cs プロジェクト: wcatykid/GeoShader
        public Page76Problem8(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 76 Problem 8";

            Point s = new Point("S", 2, 8);  points.Add(s);
            Point r = new Point("R", 1, 4);  points.Add(r);
            Point t = new Point("T", 5, 4);  points.Add(t);
            Point q = new Point("Q", 4, 0);  points.Add(q);
            Point p = new Point("P", 0, 0);  points.Add(p);

               //     System.Diagnostics.Debug.WriteLine(new Segment(b, c).FindIntersection(new Segment(p, d)));

            Segment st = new Segment(s, t); segments.Add(st);
            Segment rt = new Segment(r, t); segments.Add(rt);
            Segment rq = new Segment(r, q); segments.Add(rq);
            Segment pq = new Segment(p, q); segments.Add(pq);

            List<Point> pts = new List<Point>();
            pts.Add(s);
            pts.Add(r);
            pts.Add(p);
            collinear.Add(new Collinear(pts));

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

            given.Add(new GeometricParallel(st, rq));
            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(s, r)), (Segment)parser.Get(new Segment(r, p))));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(s, r, t)), (Angle)parser.Get(new Angle(r, p, q))));

            goals.Add(new GeometricCongruentSegments(st, rq));
        }
コード例 #24
0
ファイル: Page69Problem14.cs プロジェクト: wcatykid/GeoShader
        public Page69Problem14(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 69 Problem 14";

            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 7, -6); points.Add(b);
            Point c = new Point("C", 14, 0); points.Add(c);
            Point d = new Point("D", 7, 0); points.Add(d);

            Segment ba = new Segment(b, a); segments.Add(ba);
            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment bd = new Segment(b, d); segments.Add(bd);

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

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

            given.Add(new GeometricCongruentSegments(ba, bc));
            given.Add(new Midpoint((InMiddle)parser.Get(new InMiddle(d, (Segment)parser.Get(new Segment(a, c))))));

            goals.Add(new GeometricCongruentTriangles(new Triangle(a, b, d), new Triangle(c, b, d)));
        }
コード例 #25
0
ファイル: Page113Problem7.cs プロジェクト: wcatykid/GeoShader
        public Page113Problem7(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 113 Problem 7";

            Point a = new Point("A", -4, 3);          points.Add(a);
            Point b = new Point("B", -4.0 / 3.0, -1); points.Add(b);
            Point c = new Point("C", 0, 0);           points.Add(c);
            Point p = new Point("P", 4, 3);           points.Add(p);
            Point q = new Point("Q", 4.0 / 3.0, -1);  points.Add(q);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment pq = new Segment(p, q); segments.Add(pq);

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

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

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

            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(b, c)), (Segment)parser.Get(new Segment(c, q))));
            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(a, c)), (Segment)parser.Get(new Segment(c, p))));

            goals.Add(new GeometricCongruentTriangles(new Triangle(a, b, c), new Triangle(p, q, c)));
        }
コード例 #26
0
ファイル: Page1Col1Prob5.cs プロジェクト: wcatykid/GeoShader
        public Page1Col1Prob5(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point a = new Point("A", -3.5, 0); points.Add(a);
            Point b = new Point("B", 3.5, 0); points.Add(b);
            Point c = new Point("C", 0, -3.5 * System.Math.Sqrt(3)); points.Add(c);

            Point d = new Point("D", 0, 0); points.Add(d);
            Point e = new Point("E", -1.75, -3.5 * System.Math.Sqrt(3.0) / 2.0); points.Add(e);
            Point f = new Point("F", 1.75, -3.5 * System.Math.Sqrt(3.0) / 2.0); points.Add(f);

            //Segment ad = new Segment(a, d); segments.Add(ad);
            //Segment bd = new Segment(b, d); segments.Add(bd);
            //Segment ce = new Segment(c, e); segments.Add(ce);

            circles.Add(new Circle(a, 3.5));
            circles.Add(new Circle(b, 3.5));
            circles.Add(new Circle(c, 3.5));

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

            known.AddSegmentLength(new Segment(a, d), 3.5);
            //known.AddSegmentLength(new Segment(b, d), 3.5);
            //known.AddSegmentLength(new Segment(c, e), 3.5);

            // The goal is the entire area of the figure.
            goalRegions.Add(parser.implied.GetAtomicRegionByPoint(new Point("", 0, -1)));

            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(a, d)), (Segment)parser.Get(new Segment(b, d))));
            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(a, d)), (Segment)parser.Get(new Segment(e, c))));

            SetSolutionArea(1.975367389);
        }
コード例 #27
0
        public Page197Problem35(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 197 Problem 35";

            Point a = new Point("A", 0, 5); points.Add(a);
            Point b = new Point("B", 3, 8); points.Add(b);
            Point c = new Point("C", 5, 0); points.Add(c);
            Point d = new Point("D", 9000, 5); points.Add(d);
            Point e = new Point("E", 0, 0); points.Add(e);
            Point f = new Point("F", 0, 30); points.Add(f);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment ac = new Segment(a, c); segments.Add(ac);
            Segment ad = new Segment(a, d); segments.Add(ad);

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

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

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

            goals.Add(new Strengthened(parser.GetIntersection(new Segment(a, b), new Segment(a, c)),
                                       new Perpendicular(parser.GetIntersection(new Segment(a, b), new Segment(a, c)))));
        }
コード例 #28
0
ファイル: Page3Prob23.cs プロジェクト: wcatykid/GeoShader
        public Page3Prob23(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point q = new Point("Q", -2, 0); points.Add(q);
            Point p = new Point("P", 2, 0); points.Add(p);
            Point o = new Point("O", 0, 0); points.Add(o);

            List<Point> pts = new List<Point>();
            pts.Add(q);
            pts.Add(o);
            pts.Add(p);
            collinear.Add(new Collinear(pts));

            circles.Add(new Circle(o, 4));
            circles.Add(new Circle(p, 2));
            circles.Add(new Circle(q, 2));

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

            known.AddSegmentLength((Segment)parser.Get(new Segment(o, q)), 2);
            known.AddSegmentLength((Segment)parser.Get(new Segment(p, o)), 2);

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

            SetSolutionArea(8 * System.Math.PI);
        }
コード例 #29
0
        public Page145Problem10(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 145 Problem 10";


            Point a = new Point("A", 0, 5); points.Add(a);
            Point b = new Point("B", 1, 6); points.Add(b);
            Point c = new Point("C", 5, 7); points.Add(c);
            Point d = new Point("D", 6, 5); points.Add(d);
            Point e = new Point("E", 5, 3); points.Add(e);
            Point f = new Point("F", 1, 4); 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 af = new Segment(a, f); segments.Add(af);
            Segment ad = new Segment(a, d); segments.Add(ad);

            // Constructed
            Segment ae = new Segment(a, e); segments.Add(ae);
            Segment ac = new Segment(a, c); segments.Add(ac);

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

            given.Add(new GeometricCongruentSegments(ab, af));
            given.Add(new GeometricCongruentSegments(cd, de));
            given.Add(new GeometricCongruentSegments(bc, ef));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(e, d, a)), (Angle)parser.Get(new Angle(c, d, a))));

            goals.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(a, b, c)), (Angle)parser.Get(new Angle(a, f, e))));
        }
コード例 #30
0
ファイル: Page75Problem17.cs プロジェクト: wcatykid/GeoShader
        public Page75Problem17(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 75 Problem 17";

            Point v = new Point("V", 3, -7); points.Add(v);
            Point z = new Point("Z", 0, 0); points.Add(z);
            Point y = new Point("Y", 6, 0); points.Add(y);
            Point x = new Point("X", 7, 0); points.Add(x);
            Point u = new Point("U", 10, -7); points.Add(u);
            Point w = new Point("W", 13, 0); points.Add(w);

               //     System.Diagnostics.Debug.WriteLine(new Segment(b, c).FindIntersection(new Segment(a, d)));

            Segment vz = new Segment(v, z); segments.Add(vz);
            Segment vy = new Segment(v, y); segments.Add(vy);
            Segment ux = new Segment(u, x); segments.Add(ux);
            Segment uw = new Segment(u, w); segments.Add(uw);

            List<Point> pts = new List<Point>();
            pts.Add(z);
            pts.Add(y);
            pts.Add(x);
            pts.Add(w);
            collinear.Add(new Collinear(pts));

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

            given.Add(new GeometricParallel(vz, ux));
            given.Add(new GeometricParallel(vy, uw));
            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(w, x)), (Segment)parser.Get(new Segment(y, z))));

            goals.Add(new GeometricCongruentTriangles(new Triangle(w, x, u), new Triangle(y, z, v)));
        }
コード例 #31
0
        public Page243Problem15(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 243 Problem 15";

            Point d = new Point("D", 4, 24); points.Add(d);
            Point f = new Point("F", 3, 18); points.Add(f);
            Point h = new Point("H", 1, 6); points.Add(h);
            Point e = new Point("E", 5, 24); points.Add(e);
            Point g = new Point("G", 8, 18); points.Add(g);
            Point j = new Point("J", 14, 6); points.Add(j);

            Segment de = new Segment(d, e); segments.Add(de);
            Segment fg = new Segment(f, g); segments.Add(fg);
            Segment hj = new Segment(h, j); segments.Add(hj);

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

            pts = new List<Point>();
            pts.Add(e);
            pts.Add(g);
            pts.Add(j);
            collinear.Add(new Collinear(pts));

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

            given.Add(new GeometricParallel((Segment)parser.Get(de), (Segment)parser.Get(fg)));
            given.Add(new GeometricParallel((Segment)parser.Get(hj), (Segment)parser.Get(fg)));
        }
コード例 #32
0
        public IPage120Problem7(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Book I Page 120 Problem 7";


            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 10, 0); points.Add(b);
            Point p = new Point("P", 5, 0); points.Add(p);
            Point d = new Point("D", 7, 8); points.Add(d);
            Point e = new Point("E", 3, 8); points.Add(e);

//            System.Diagnostics.Debug.Write(new Segment(q, r).FindIntersection(new Segment(p, s)));

            Segment ad = new Segment(a, d); segments.Add(ad);
            Segment be = new Segment(b, e); segments.Add(be);
            Segment ep = new Segment(e, p); segments.Add(ep);
            Segment dp = new Segment(d, p); segments.Add(dp);

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

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

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

            given.Add(new Midpoint((InMiddle)parser.Get(new InMiddle(p, (Segment)parser.Get(new Segment(a, b))))));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(b, a, d)), (Angle)parser.Get(new Angle(a, b, e))));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(e, p, a)), (Angle)parser.Get(new Angle(d, p, b))));

            goals.Add(new GeometricCongruentTriangles(new Triangle(d, a, p), new Triangle(e, b, p)));
            goals.Add(new GeometricCongruentSegments(ad, be));
        }
コード例 #33
0
ファイル: Page7Prob26.cs プロジェクト: wcatykid/GeoShader
        public Page7Prob26(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 0, 4); points.Add(b);
            Point c = new Point("C", 4, 4); points.Add(c);
            Point d = new Point("D", 4, 0); points.Add(d);
            Point o = new Point("O", 2, 2); points.Add(o);

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

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

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

            known.AddSegmentLength(da, 4);
            known.AddSegmentLength(cd, 4);

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

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

            SetSolutionArea(8 + 2 * System.Math.PI);
        }
コード例 #34
0
ファイル: Page6Prob30.cs プロジェクト: wcatykid/GeoShader
        public Page6Prob30(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point o = new Point("O", 0, 0); points.Add(o);
            Point p = new Point("P", 2, 0); points.Add(p);
            Point q = new Point("Q", 4, 0); points.Add(q);
            Point r = new Point("R", 6, 0); points.Add(r);
            Point s = new Point("S", 8, 0); points.Add(s);

            Segment rs = new Segment(r, s); segments.Add(rs);

            List<Point> pts = new List<Point>();
            pts.Add(o);
            pts.Add(p);
            pts.Add(q);
            pts.Add(r);
            pts.Add(s);
            collinear.Add(new Collinear(pts));

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

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

            known.AddSegmentLength(rs, 2);
            given.Add(new GeometricCongruentSegments(rs, (Segment)parser.Get(new Segment(o, p))));
            given.Add(new GeometricCongruentSegments(rs, (Segment)parser.Get(new Segment(p, q))));
            given.Add(new GeometricCongruentSegments(rs, (Segment)parser.Get(new Segment(q, r))));

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

            SetSolutionArea(40 * System.Math.PI);
        }
コード例 #35
0
        public Page243Problem15(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 243 Problem 15";


            Point d = new Point("D", 4, 24); points.Add(d);
            Point f = new Point("F", 3, 18); points.Add(f);
            Point h = new Point("H", 1, 6); points.Add(h);
            Point e = new Point("E", 5, 24); points.Add(e);
            Point g = new Point("G", 8, 18); points.Add(g);
            Point j = new Point("J", 14, 6); points.Add(j);

            Segment de = new Segment(d, e); segments.Add(de);
            Segment fg = new Segment(f, g); segments.Add(fg);
            Segment hj = new Segment(h, j); segments.Add(hj);

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

            pts.Add(d);
            pts.Add(f);
            pts.Add(h);
            collinear.Add(new Collinear(pts));

            pts = new List <Point>();
            pts.Add(e);
            pts.Add(g);
            pts.Add(j);
            collinear.Add(new Collinear(pts));

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

            given.Add(new GeometricParallel((Segment)parser.Get(de), (Segment)parser.Get(fg)));
            given.Add(new GeometricParallel((Segment)parser.Get(hj), (Segment)parser.Get(fg)));
        }
コード例 #36
0
        //Demonstrates: If a quad is inscribed in a circle, then its opposite angles are supplementary

        public Page312Corollary2(bool onoff, bool complete) : base(onoff, complete)
        {
            Point o = new Point("O", 0, 0); points.Add(o);

            //Points and segments for an inscribed rectangle
            Point r = new Point("R", -3, 4); points.Add(r);
            Point s = new Point("S", 3, 4); points.Add(s);
            Point t = new Point("T", 3, -4); points.Add(t);
            Point u = new Point("U", -3, -4); points.Add(u);

            Segment rs = new Segment(r, s); segments.Add(rs);
            Segment st = new Segment(s, t); segments.Add(st);
            Segment tu = new Segment(t, u); segments.Add(tu);
            Segment ur = new Segment(u, r); segments.Add(ur);

            Circle c = new Circle(o, 5.0);

            circles.Add(c);

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


            Angle angle1 = (Angle)parser.Get(new Angle(r, s, t));
            Angle angle2 = (Angle)parser.Get(new Angle(u, r, s));
            Angle angle3 = (Angle)parser.Get(new Angle(s, t, u));

            given.Add(new Strengthened(angle1, new RightAngle(angle1)));
            given.Add(new GeometricCongruentAngles(angle2, angle3));

            Quadrilateral quad = (Quadrilateral)parser.Get(new Quadrilateral(ur, st, rs, tu));

            goals.Add(new Strengthened(quad, new Rectangle(quad)));
        }
コード例 #37
0
ファイル: Page2Prob19.cs プロジェクト: wcatykid/GeoShader
        public Page2Prob19(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point o = new Point("O", 0, 0); points.Add(o);
            Point a = new Point("A", -6, 0); points.Add(a);
            Point b = new Point("B", 6, 0); points.Add(b);
            Point p = new Point("P", -3, 6.0 * System.Math.Sqrt(3) / 2.0); points.Add(p);

            Segment pa = new Segment(p, a); segments.Add(pa);
            Segment pb = new Segment(p, b); segments.Add(pb);

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

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

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

            given.Add(new GeometricAngleEquation((Angle)parser.Get(new Angle(o, a, p)), new NumericValue(60.0)));

            known.AddSegmentLength((Segment)parser.Get(new Segment(o, b)), 6);

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

            SetSolutionArea(25.37175323);

            problemName = "Jurgensen Page 2 Problem 19";
            GeometryTutorLib.EngineUIBridge.HardCodedProblemsToUI.AddProblem(problemName, points, circles, segments);
        }
コード例 #38
0
        public Page284Example44(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 284 Example 4.4";

            Point d = new Point("D", 0, 4); points.Add(d);
            Point e = new Point("E", 3, 0); points.Add(e);
            Point f = new Point("F", 6, 0); points.Add(f);
            Point g = new Point("G", 12, 4); points.Add(g);
            Point h = new Point("H", 9, 0); points.Add(h);

            Segment de = new Segment(d, e); segments.Add(de);
            Segment df = new Segment(d, f); segments.Add(df);
            Segment gh = new Segment(g, h); segments.Add(gh);
            Segment fg = new Segment(f, g); segments.Add(fg);

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

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

            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(f, e)), (Segment)parser.Get(new Segment(f, h))));
            given.Add(new GeometricCongruentSegments(de, gh));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(d, e, f)), (Angle)parser.Get(new Angle(g, h, f))));

            goals.Add(new GeometricCongruentTriangles(new Triangle(d, e, f), new Triangle(g, h, f)));
        }
コード例 #39
0
        public Page284Example46(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 284 example 4.6";

            Point e = new Point("E", 1, 0); points.Add(e);
            Point f = new Point("F", 0, 8); points.Add(f);
            Point g = new Point("G", 5, 3); points.Add(g);
            Point h = new Point("H", 9, 6); points.Add(h);
            Point j = new Point("J", 10, -2); points.Add(j);

            Segment ef = new Segment(e, f); segments.Add(ef);
            Segment hj = new Segment(h, j); segments.Add(hj);

            List<Point> pts = new List<Point>();
            pts.Add(f);
            pts.Add(g);
            pts.Add(j);
            collinear.Add(new Collinear(pts));

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

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

            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(g, f)), (Segment)parser.Get(new Segment(j, g))));
            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(e, g)), (Segment)parser.Get(new Segment(h, g))));

            goals.Add(new GeometricCongruentSegments(ef, hj));
        }
コード例 #40
0
ファイル: Page60Theorem22.cs プロジェクト: wcatykid/GeoShader
        public Page60Theorem22(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 60 Theorem 22";

            Point a = new Point("A", -1, 3); points.Add(a);
            Point b = new Point("B", 4, 3); points.Add(b);
            Point c = new Point("C", 0, 0); points.Add(c);
            Point d = new Point("D", 5, 0); points.Add(d);

            Point x = new Point("X", 2, 3); points.Add(x);
            Point y = new Point("Y", 1, 0); points.Add(y);

            Segment xy = new Segment(x, y); segments.Add(xy);

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

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

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

            given.Add(new GeometricParallel((Segment)parser.Get(new Segment(a, b)), (Segment)parser.Get(new Segment(c, d))));

            goals.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(a, x, y)), (Angle)parser.Get(new Angle(x, y, d))));
        }
コード例 #41
0
        //Demonstrates: congruent chords have congruent arcs
        public Page306Theorem7_4_1(bool onoff, bool complete)
            : base(onoff, complete)
        {
            Point o = new Point("O", 0, 0); points.Add(o);
            Point r = new Point("R", -3, 4); points.Add(r);
            Point s = new Point("S", 2, Math.Sqrt(21)); points.Add(s);
            Point t = new Point("T", 2, -Math.Sqrt(21)); points.Add(t);
            Point u = new Point("U", -3, -4); points.Add(u);

            Segment rt = new Segment(r, t);
            Segment su = new Segment(s, u);
            Point v = rt.FindIntersection(su); points.Add(v);

            Segment rs = new Segment(r, s); segments.Add(rs);
            Segment ut = new Segment(u, t); segments.Add(ut);

            Circle c = new Circle(o, 5.0);
            circles.Add(c);

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

            given.Add(new GeometricCongruentSegments(rs, ut));

            MinorArc a1 = (MinorArc)parser.Get(new MinorArc(c, r, s));
            MinorArc a2 = (MinorArc)parser.Get(new MinorArc(c, t, u));
            MajorArc ma1 = (MajorArc)parser.Get(new MajorArc(c, r, s));
            MajorArc ma2 = (MajorArc)parser.Get(new MajorArc(c, t, u));

            goals.Add(new GeometricCongruentArcs(a1, a2));
            goals.Add(new GeometricCongruentArcs(ma1, ma2));
        }
コード例 #42
0
        public Page160Problem43(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 160 Problem 43";

            Point t = new Point("T", 15.0 - 5.0 * Math.Sqrt(3.0), 0); points.Add(t);
            Point s = new Point("S", 10, 0); points.Add(s);
            Point f = new Point("F", 15, 5.0 * Math.Sqrt(3.0)); points.Add(f); // This is the wrong coordinate pair......
            Point e = new Point("E", 15, 5.0 * Math.Sqrt(3.0)); points.Add(e);
            Point r = new Point("R", 20, 0); points.Add(r);

            Segment er = new Segment(e, r); segments.Add(er);
            Segment fs = new Segment(f, s); segments.Add(fs);
            Segment se = new Segment(s, e); segments.Add(se);

            List<Point> pts = new List<Point>();
            pts.Add(t);
            pts.Add(s);
            pts.Add(r);
            collinear.Add(new Collinear(pts));

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

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

            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(s, e, r)), (Angle)parser.Get(new Angle(s, r, e))));
            given.Add(new AngleBisector((Angle)parser.Get(new Angle(r, s, f)), se));

            //goals.Add(new GeometricAngleEquation((Angle)parser.Get(new Angle(f, s, t)), new NumericValue(60)));
        }
コード例 #43
0
        public Page223Problem22(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 223 Problem 22";

            Point x = new Point("X", 1, 0); points.Add(x);
            Point f = new Point("F", 3, 4); points.Add(f);
            Point s = new Point("S", 4, 6); points.Add(s);
            Point e = new Point("E", 5, 0); points.Add(e);
            Point r = new Point("R", 7, 0); points.Add(r);

            Segment rs = new Segment(r, s); segments.Add(rs);
            Segment ef = new Segment(e, f); segments.Add(ef);

            List<Point> pts = new List<Point>();
            pts.Add(x);
            pts.Add(e);
            pts.Add(r);
            collinear.Add(new Collinear(pts));

            pts = new List<Point>();
            pts.Add(x);
            pts.Add(f);
            pts.Add(s);
            collinear.Add(new Collinear(pts));

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

            given.Add(new GeometricParallel(rs, ef));

            goals.Add(new GeometricSimilarTriangles((Triangle)parser.Get(new Triangle(f, x, e)), (Triangle)parser.Get(new Triangle(s, x, r))));
        }
コード例 #44
0
        public Page226Problem42(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 226 Problem 42";

            Point j = new Point("J", 0, 0); points.Add(j);
            Point k = new Point("K", 0, 12); points.Add(k);
            Point l = new Point("L", 3, 2); points.Add(l);
            Point m = new Point("M", 3, 10); points.Add(m);
            Point n = new Point("N", 9, 6); points.Add(n);

            Segment jk = new Segment(j, k); segments.Add(jk);
            Segment lm = new Segment(l, m); segments.Add(lm);

            List<Point> pts = new List<Point>();
            pts.Add(j);
            pts.Add(l);
            pts.Add(n);
            collinear.Add(new Collinear(pts));

            pts = new List<Point>();
            pts.Add(k);
            pts.Add(m);
            pts.Add(n);
            collinear.Add(new Collinear(pts));

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

            given.Add(new IsoscelesTriangle((Segment)parser.Get(new Segment(k, n)), (Segment)parser.Get(new Segment(j, n)), jk));
            given.Add(new GeometricParallel(jk, lm));

            goals.Add(new Strengthened((Triangle)parser.Get(new Triangle(n, m, l)),  new IsoscelesTriangle((Triangle)parser.Get(new Triangle(n, m, l)))));
        }
コード例 #45
0
ファイル: Page66Problem16.cs プロジェクト: wcatykid/GeoShader
        public Page66Problem16(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 66 Problem 16";

            Point a = new Point("A", 1, 5); points.Add(a);
            Point b = new Point("B", 8, 5); points.Add(b);
            Point c = new Point("C", 7, 0); points.Add(c);
            Point d = new Point("D", 0, 0); points.Add(d);

            Segment ba = new Segment(b, a); segments.Add(ba);
            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment ad = new Segment(a, d); segments.Add(ad);
            Segment bd = new Segment(b, d); segments.Add(bd);
            Segment cd = new Segment(c, d); segments.Add(cd);

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

            given.Add(new GeometricCongruentSegments(ba, cd));
            given.Add(new GeometricCongruentSegments(bc, ad));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(a, b, d)), (Angle)parser.Get(new Angle(c, d, b))));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(a, d, b)), (Angle)parser.Get(new Angle(c, b, d))));

            goals.Add(new GeometricCongruentTriangles(new Triangle(a, b, d), new Triangle(c, d, b)));
        }
コード例 #46
0
        public Page223Problem23(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 223 Problem 23";

            Point j = new Point("J", 0, 0); points.Add(j);
            Point i = new Point("I", 3, 3); points.Add(i);
            Point y = new Point("Y", 7, 7); points.Add(y);
            Point g = new Point("G", 6, 0); points.Add(g);
            Point z = new Point("Z", 7, 0); points.Add(z);

            Segment ig = new Segment(i, g); segments.Add(ig);
            Segment yz = new Segment(y, z); segments.Add(yz);

            List<Point> pts = new List<Point>();
            pts.Add(j);
            pts.Add(i);
            pts.Add(y);
            collinear.Add(new Collinear(pts));

            pts = new List<Point>();
            pts.Add(j);
            pts.Add(g);
            pts.Add(z);
            collinear.Add(new Collinear(pts));

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

            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(j, g, i)), (Angle)parser.Get(new Angle(j, y, z))));

            goals.Add(new GeometricSimilarTriangles((Triangle)parser.Get(new Triangle(j, i, g)), (Triangle)parser.Get(new Triangle(j, z, y))));
        }
コード例 #47
0
        public Page145Problem04(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 145 Problem 4";

            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 5, 0); points.Add(b);
            Point d = new Point("D", 1, 4); points.Add(d);
            Point c = new Point("C", 6, 4); points.Add(c);
            Point l = new Point("L", 2, 3); points.Add(l);
            Point m = new Point("M", 4, 1); points.Add(m);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment ad = new Segment(a, d); segments.Add(ad);
            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment al = new Segment(a, l); segments.Add(al);
            Segment cm = new Segment(c, m); segments.Add(cm);

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

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

            given.Add(new GeometricCongruentSegments(ab, cd));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(c, d, l)), (Angle)parser.Get(new Angle(m, b, a))));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(d, a, l)), (Angle)parser.Get(new Angle(m, c, b))));

            goals.Add(new GeometricCongruentSegments(al, cm));
        }
コード例 #48
0
        public Page164Problem36(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 164 Problem 36";

            Point a = new Point("A", 11, 8); points.Add(a);
            Point b = new Point("B", 10, 8); points.Add(b);
            Point c = new Point("C", 10, 11); points.Add(c);
            Point d = new Point("D", 0, 8);  points.Add(d);
            Point e = new Point("E", 0, 0);   points.Add(e);
            Point f = new Point("F", 10, 0);  points.Add(f);

            Segment de = new Segment(d, e); segments.Add(de);
            Segment ef = new Segment(e, f); segments.Add(ef);

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

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

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

            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(b, d, e)), (Angle)parser.Get(new Angle(c, b, d))));

            goals.Add(new GeometricParallel(de, new Segment(f, c)));
        }
コード例 #49
0
        public Page168Problem34(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 168 Problem 34";

            Point a = new Point("A", 1, 7); points.Add(a);
            Point b = new Point("B", 1, 4); points.Add(b);
            Point c = new Point("C", 8, 0); points.Add(c);
            Point d = new Point("D", 8, 4); points.Add(d);
            Point e = new Point("E", 4, 4); points.Add(e);

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

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

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

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

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

            goals.Add(new GeometricParallel(ab, cd));
        }
コード例 #50
0
        public Page316Problem42(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 316 Problem 42";

            Point p = new Point("P", 10, 0); points.Add(p);
            Point q = new Point("Q", 0, 0); points.Add(q);
            Point l = new Point("L", 0, 6); points.Add(l);
            Point m = new Point("M", 10, 6); points.Add(m);
            Point n = new Point("N", 3, 3); points.Add(n);

            Segment lm = new Segment(l, m); segments.Add(lm);
            Segment ln = new Segment(l, n); segments.Add(ln);
            Segment mn = new Segment(m, n); segments.Add(mn);
            Segment np = new Segment(n, p); segments.Add(np);
            Segment nq = new Segment(n, q); segments.Add(nq);
            Segment pq = new Segment(p, q); segments.Add(pq);

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

            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(m, l, n)), (Angle)parser.Get(new Angle(n, q, p))));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(n, m, l)), (Angle)parser.Get(new Angle(n, p, q))));
            given.Add(new GeometricCongruentSegments(ln, nq));

            goals.Add(new GeometricCongruentTriangles(new Triangle(l, m, n), new Triangle(q, p, n)));
        }
コード例 #51
0
ファイル: Page73Problem8.cs プロジェクト: wcatykid/GeoShader
        public Page73Problem8(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 73 Problem 8";

            Point t = new Point("T", -4, 5); points.Add(t);
            Point n = new Point("N", 0, 5); points.Add(n);
            Point s = new Point("S", 0, 0); points.Add(s);
            Point h = new Point("H", 0, -5); points.Add(h);
            Point u = new Point("U", 4, -5); points.Add(u);

            Segment nt = new Segment(n, t); segments.Add(nt);
            Segment hu = new Segment(h, u); segments.Add(hu);

            List<Point> pts = new List<Point>();
            pts.Add(t);
            pts.Add(s);
            pts.Add(u);
            collinear.Add(new Collinear(pts));

            pts = new List<Point>();
            pts.Add(n);
            pts.Add(s);
            pts.Add(h);
            collinear.Add(new Collinear(pts));

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

            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(s, u, h)), (Angle)parser.Get(new Angle(n, t, s))));
            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(n, s)), (Segment)parser.Get(new Segment(s, h))));

            goals.Add(new GeometricCongruentTriangles(new Triangle(s, n, t), new Triangle(s, h, u)));
        }
コード例 #52
0
        public IPage123Example6(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Book I Page 123 Example 6";

            Point a = new Point("A", 3.5, 4); points.Add(a);
            Point b = new Point("B", 0, 0); points.Add(b);
            Point c = new Point("C", 7, 0); points.Add(c);
            Point d = new Point("D", 2, 0); points.Add(d);
            Point e = new Point("E", 5, 0); points.Add(e);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment ac = new Segment(a, c); segments.Add(ac);
            Segment ad = new Segment(a, d); segments.Add(ad);
            Segment ae = new Segment(a, e); segments.Add(ae);

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

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

            given.Add(new IsoscelesTriangle((Triangle)parser.Get(new Triangle(a, b, c))));
            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(b, e)), (Segment)parser.Get(new Segment(c, d))));

            goals.Add(new GeometricCongruentSegments(ad, ae));
        }
コード例 #53
0
        public IPage120Problem6(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Book I Page 120 Problem 6";

            Point a = new Point("A", 2, 6);  points.Add(a);
            Point b = new Point("B", 0, 0);  points.Add(b);
            Point c = new Point("C", 10, 0); points.Add(c);
            Point d = new Point("D", 4, 0);  points.Add(d);
            Point e = new Point("E", 12, 6); points.Add(e);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment ad = new Segment(a, d); segments.Add(ad);
            Segment ac = new Segment(a, c); segments.Add(ac);
            Segment ae = new Segment(a, e); segments.Add(ae);
            Segment ec = new Segment(e, c); segments.Add(ec);
            Segment de = new Segment(d, e); segments.Add(de);

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

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

            given.Add(new GeometricCongruentSegments(ac, ae));
            given.Add(new GeometricCongruentSegments(ab, ad));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(b, a, d)), (Angle)parser.Get(new Angle(e, a, c))));

            goals.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(b, c)), de));
        }
コード例 #54
0
ファイル: Test10.cs プロジェクト: wcatykid/GeoShader
        //Demonstrates: Minor Arcs Congruent if central angles congruent
        public Test10(bool onoff, bool complete)
            : base(onoff, complete)
        {
            //Circle center
            Point o = new Point("O", 0, 0); points.Add(o);

            //Vertices for angle TOV, a central angle of circle O, with one endpoint at 90 degrees and another at 30 degrees
            Point t = new Point("T", -3, 4); points.Add(t);
            Point v = new Point("V", 0, 5); points.Add(v);

            //Vertices for angle VOA, a central angle of circle C, with one endpoint at 90 degrees and another at 30 degrees
            Point a = new Point("A", 3, 4); points.Add(a);

            Segment ot = new Segment(o, t); segments.Add(ot);
            Segment ov = new Segment(o, v); segments.Add(ov);
            Segment oa = new Segment(o, a); segments.Add(oa);

            Circle circleO = new Circle(o, 5.0);
            circles.Add(circleO);

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

            given.Add(new GeometricCongruentArcs((MinorArc)parser.Get(new MinorArc(circleO, t, v)), (MinorArc)parser.Get(new MinorArc(circleO, v, a))));

            goals.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(t, o, v)), (Angle)parser.Get(new Angle(v, o, a))));
        }
コード例 #55
0
        public Page301Problem42(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 301 Problem 42";

            Point a = new Point("A", 0, 0); points.Add(a);
            Point b = new Point("B", 0, 6); points.Add(b);
            Point c = new Point("C", 4, 3); points.Add(c);
            Point d = new Point("D", 8, 0); points.Add(d);

            Segment ab = new Segment(a, b); segments.Add(ab);
            Segment ac = new Segment(a, c); segments.Add(ac);
            Segment ad = new Segment(a, d); segments.Add(ad);

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

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

            given.Add(new Midpoint((InMiddle)parser.Get(new InMiddle( c, (Segment)parser.Get(new Segment(b, d))))));
            given.Add(new RightAngle(b, a, d));

            goals.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(b, c)), ac));
            goals.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(d, c)), ac));
        }
コード例 #56
0
        public Page146Problem17(bool onoff, bool complete)
            : base(onoff, complete)
        {
            problemName = "Page 146 Problem 17";

            Point d = new Point("D", 2, 3); points.Add(d);
            Point b = new Point("B", 10, 0); points.Add(b);
            Point a = new Point("A", 0, 0); points.Add(a);
            Point c = new Point("C", 8, 3); points.Add(c);
            Point m = new Point("M", 5, 0); points.Add(m);

            Segment bc = new Segment(b, c); segments.Add(bc);
            Segment ad = new Segment(a, d); segments.Add(ad);
            Segment cd = new Segment(c, d); segments.Add(cd);
            Segment bd = new Segment(b, d); segments.Add(bd);
            Segment ac = new Segment(a, c); segments.Add(ac);
            Segment dm = new Segment(d, m); segments.Add(dm);
            Segment cm = new Segment(c, m); segments.Add(cm);

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

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

            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(a, m)), (Segment)parser.Get(new Segment(b, m))));
            given.Add(new GeometricCongruentSegments(ad, bc));
            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(m, d, c)), (Angle)parser.Get(new Angle(m, c, d))));
        }
コード例 #57
0
        public Page135Problem21(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 135 Problem 21";


            Point f = new Point("F", -3, 4);   points.Add(f);
            Point l = new Point("L", -1, 4);  points.Add(l);
            Point a = new Point("A", 1, 4);   points.Add(a);
            Point k = new Point("K", 3, 4); points.Add(k);
            Point m = new Point("M", -1.5, 2);   points.Add(m);
            Point n = new Point("N", 1.5, 2);  points.Add(n);
            Point s = new Point("S", 0, 0);   points.Add(s);

            Point x = new Point("X", 0, 3.2); points.Add(x);

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

            pts.Add(f);
            pts.Add(m);
            pts.Add(s);
            collinear.Add(new Collinear(pts));

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

            pts = new List <Point>();
            pts.Add(l);
            pts.Add(x);
            pts.Add(n);
            collinear.Add(new Collinear(pts));

            pts = new List <Point>();
            pts.Add(a);
            pts.Add(x);
            pts.Add(m);
            collinear.Add(new Collinear(pts));

            pts = new List <Point>();
            pts.Add(k);
            pts.Add(n);
            pts.Add(s);
            collinear.Add(new Collinear(pts));

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

            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(f, l)),
                                                     (Segment)parser.Get(new Segment(a, k))));
            given.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(s, f)),
                                                     (Segment)parser.Get(new Segment(s, k))));
            given.Add(new Midpoint((InMiddle)parser.Get(new InMiddle(m, (Segment)parser.Get(new Segment(s, f))))));
            given.Add(new Midpoint((InMiddle)parser.Get(new InMiddle(n, (Segment)parser.Get(new Segment(s, k))))));

            goals.Add(new GeometricCongruentSegments((Segment)parser.Get(new Segment(a, m)),
                                                     (Segment)parser.Get(new Segment(l, n))));
        }
コード例 #58
0
        public Page168Problem35(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 168 Problem 35";


            Point a = new Point("A", 1, 0); points.Add(a);
            Point b = new Point("B", 5, 0); points.Add(b);
            Point c = new Point("C", 9, 0); points.Add(c);
            Point d = new Point("D", 0, 2); points.Add(d);
            Point e = new Point("E", 4, 2); points.Add(e);
            Point f = new Point("F", 3, 4); points.Add(f);
            Point g = new Point("G", 7, 4); points.Add(g);
            Point h = new Point("H", 6, 6); points.Add(h);

            Point i = new Point("I", 0, 10); points.Add(i);
            Point j = new Point("J", 4, 10); points.Add(j);
            Point k = new Point("K", 12, 10); points.Add(k);
            Point l = new Point("L", 16, 10); points.Add(l);

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

            pts.Add(a);
            pts.Add(e);
            pts.Add(g);
            pts.Add(l);
            collinear.Add(new Collinear(pts));

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

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

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

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

            given.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(f, h, g)),
                                                   (Angle)parser.Get(new Angle(f, e, g))));
            given.Add(new GeometricParallel((Segment)parser.Get(new Segment(a, l)), (Segment)parser.Get(new Segment(d, k))));

            goals.Add(new GeometricParallel(new Segment(b, i), new Segment(c, j)));
        }
コード例 #59
0
ファイル: Page62Problem2.cs プロジェクト: wcatykid/GeoShader
        public Page62Problem2(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 62 Problem 2";


            Point a = new Point("A", -1, 3); points.Add(a);
            Point b = new Point("B", 4, 3);  points.Add(b);
            Point c = new Point("C", 0, 0);  points.Add(c);
            Point d = new Point("D", 5, 0);  points.Add(d);

            Point e = new Point("E", -3, 3);  points.Add(e);
            Point f = new Point("F", -2, 6); points.Add(f);
            Point g = new Point("G", 3, 6);  points.Add(g);
            Point h = new Point("H", 8, 3);  points.Add(h);
            Point i = new Point("I", 10, 0); points.Add(i);
            Point j = new Point("J", 7, -6);  points.Add(j);
            Point k = new Point("K", 1, -3);  points.Add(k);
            Point l = new Point("L", -5, 0); points.Add(l);

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

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

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

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

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

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

            given.Add(new GeometricParallel((Segment)parser.Get(new Segment(a, b)), (Segment)parser.Get(new Segment(c, d))));

            goals.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(e, a, f)), (Angle)parser.Get(new Angle(c, a, b))));
            goals.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(e, a, f)), (Angle)parser.Get(new Angle(a, c, l))));
            goals.Add(new GeometricCongruentAngles((Angle)parser.Get(new Angle(e, a, f)), (Angle)parser.Get(new Angle(k, c, d))));
        }
コード例 #60
0
        public Page175ClassroomExercise12(bool onoff, bool complete) : base(onoff, complete)
        {
            problemName = "Page 175 CLassroom Ex 12";

            //Point z = new Point("Z", 0, 12); points.Add(z);
            //Point y = new Point("Y", 12, 0); points.Add(y);
            //Point x = new Point("X", 0, 0); points.Add(x);
            //Point m = new Point("M", 6, 0); points.Add(m);
            //Point n = new Point("N", 6, 6); points.Add(n);
            //Point t = new Point("T", 0, 6); points.Add(t);

            Point z = new Point("Z", 0, 6); points.Add(z);
            Point y = new Point("Y", 8, 0); points.Add(y);
            Point x = new Point("X", 4, 0); points.Add(x);
            Point m = new Point("M", 6, 0); points.Add(m);
            Point n = new Point("N", 4, 3); points.Add(n);
            Point t = new Point("T", 2, 3); points.Add(t);

            Segment mt = new Segment(m, t); segments.Add(mt);
            Segment mn = new Segment(m, n); segments.Add(mn);
            Segment nt = new Segment(n, t); segments.Add(nt);

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

            pts.Add(x);
            pts.Add(m);
            pts.Add(y);
            collinear.Add(new Collinear(pts));

            pts = new List <Point>();
            pts.Add(y);
            pts.Add(n);
            pts.Add(z);
            collinear.Add(new Collinear(pts));

            pts = new List <Point>();
            pts.Add(z);
            pts.Add(t);
            pts.Add(x);
            collinear.Add(new Collinear(pts));

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

            given.Add(new Midpoint((InMiddle)parser.Get(new InMiddle(m, new Segment(x, y)))));
            given.Add(new Midpoint((InMiddle)parser.Get(new InMiddle(n, new Segment(z, y)))));
            given.Add(new Midpoint((InMiddle)parser.Get(new InMiddle(t, new Segment(z, x)))));

            goals.Add(new GeometricCongruentTriangles(new Triangle(z, t, n), new Triangle(t, x, m)));
            goals.Add(new GeometricCongruentTriangles(new Triangle(z, t, n), new Triangle(n, m, y)));
            goals.Add(new GeometricCongruentTriangles(new Triangle(z, t, n), new Triangle(m, n, t)));

            goals.Add(new GeometricCongruentTriangles(new Triangle(m, n, t), new Triangle(n, m, y)));
            goals.Add(new GeometricCongruentTriangles(new Triangle(m, n, t), new Triangle(t, x, m)));

            goals.Add(new GeometricCongruentTriangles(new Triangle(t, x, m), new Triangle(n, m, y)));
        }