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); }
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)))); }
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)))); }