示例#1
0
        //
        // Split the quadrilateral into two triangles and compute the area.
        //
        public override double CoordinatizedArea()
        {
            Point    shared1   = orderedSides[0].SharedVertex(orderedSides[1]);
            Segment  diagonal1 = new Segment(orderedSides[0].OtherPoint(shared1), orderedSides[1].OtherPoint(shared1));
            Triangle tri1      = new Triangle(orderedSides[0], orderedSides[1], diagonal1);

            Point    shared2   = orderedSides[2].SharedVertex(orderedSides[3]);
            Segment  diagonal2 = new Segment(orderedSides[2].OtherPoint(shared2), orderedSides[3].OtherPoint(shared2));
            Triangle tri2      = new Triangle(orderedSides[2], orderedSides[3], diagonal2);

            double area1 = tri1.CoordinatizedArea();
            double area2 = tri2.CoordinatizedArea();

            return(area1 + area2);
        }
示例#2
0
        //
        // Split the quadrilateral into two triangles and compute the area.
        //
        public override double CoordinatizedArea()
        {
            Point shared1 = orderedSides[0].SharedVertex(orderedSides[1]);
            Segment diagonal1 = new Segment(orderedSides[0].OtherPoint(shared1), orderedSides[1].OtherPoint(shared1));
            Triangle tri1 = new Triangle(orderedSides[0], orderedSides[1], diagonal1);

            Point shared2 = orderedSides[2].SharedVertex(orderedSides[3]);
            Segment diagonal2 = new Segment(orderedSides[2].OtherPoint(shared2), orderedSides[3].OtherPoint(shared2));
            Triangle tri2 = new Triangle(orderedSides[2], orderedSides[3], diagonal2);

            double area1 = tri1.CoordinatizedArea();
            double area2 = tri2.CoordinatizedArea();

            return area1 + area2;
        }