Ejemplo n.º 1
0
        public static void MakeRectangles(Segment side, double length, out Rectangle rect1, out Rectangle rect2)
        {
            //
            // First rectangle
            //
            Segment adj1 = side.GetPerpendicularByLength(side.Point1, length);
            Segment adj2 = side.GetPerpendicularByLength(side.Point2, length);

            Segment oppSide = new Segment(adj1.OtherPoint(side.Point1), adj2.OtherPoint(side.Point2));

            rect1 = new Rectangle(side, oppSide, adj1, adj2);

            //
            // Second rectangle
            //
            Segment otherAdj1 = adj1.GetOppositeSegment(side.Point1);
            Segment otherAdj2 = adj2.GetOppositeSegment(side.Point2);

            oppSide = new Segment(otherAdj1.OtherPoint(side.Point1), otherAdj2.OtherPoint(side.Point2));

            rect2 = new Rectangle(side, oppSide, otherAdj1, otherAdj2);
        }
Ejemplo n.º 2
0
        public static void MakeRectangles(Segment side, double length, out Rectangle rect1, out Rectangle rect2)
        {
            //
            // First rectangle
            //
            Segment adj1 = side.GetPerpendicularByLength(side.Point1, length);
            Segment adj2 = side.GetPerpendicularByLength(side.Point2, length);

            Segment oppSide = new Segment(adj1.OtherPoint(side.Point1), adj2.OtherPoint(side.Point2));

            rect1 = new Rectangle(side, oppSide, adj1, adj2);

            //
            // Second rectangle
            //
            Segment otherAdj1 = adj1.GetOppositeSegment(side.Point1);
            Segment otherAdj2 = adj2.GetOppositeSegment(side.Point2);

            oppSide = new Segment(otherAdj1.OtherPoint(side.Point1), otherAdj2.OtherPoint(side.Point2));

            rect2 = new Rectangle(side, oppSide, otherAdj1, otherAdj2);
        }
Ejemplo n.º 3
0
        public static void MakeRightTriangles(Segment side, int length, out List<RightTriangle> tris)
        {
            tris = new List<RightTriangle>();

            //
            // 1
            //
            Segment perp = side.GetPerpendicularByLength(side.Point1, length);
            tris.Add(new RightTriangle(new Triangle(side.Point1, side.Point2, perp.OtherPoint(side.Point1))));

            // 2
            Segment oppPerp = perp.GetOppositeSegment(side.Point1);
            tris.Add(new RightTriangle(new Triangle(side.Point1, side.Point2, oppPerp.OtherPoint(side.Point1))));

            // 3
            perp = side.GetPerpendicularByLength(side.Point2, length);
            tris.Add(new RightTriangle(new Triangle(side.Point1, side.Point2, perp.OtherPoint(side.Point2))));

            // 4
            oppPerp = perp.GetOppositeSegment(side.Point2);
            tris.Add(new RightTriangle(new Triangle(side.Point1, side.Point2, oppPerp.OtherPoint(side.Point2))));
        }
Ejemplo n.º 4
0
        public static void MakeRightTriangles(Segment side, int length, out List <RightTriangle> tris)
        {
            tris = new List <RightTriangle>();

            //
            // 1
            //
            Segment perp = side.GetPerpendicularByLength(side.Point1, length);

            tris.Add(new RightTriangle(new Triangle(side.Point1, side.Point2, perp.OtherPoint(side.Point1))));

            // 2
            Segment oppPerp = perp.GetOppositeSegment(side.Point1);

            tris.Add(new RightTriangle(new Triangle(side.Point1, side.Point2, oppPerp.OtherPoint(side.Point1))));

            // 3
            perp = side.GetPerpendicularByLength(side.Point2, length);
            tris.Add(new RightTriangle(new Triangle(side.Point1, side.Point2, perp.OtherPoint(side.Point2))));

            // 4
            oppPerp = perp.GetOppositeSegment(side.Point2);
            tris.Add(new RightTriangle(new Triangle(side.Point1, side.Point2, oppPerp.OtherPoint(side.Point2))));
        }