Java Geometry Algorithm computePolygonArea(Point2D[] pts)

Here you can find the source of computePolygonArea(Point2D[] pts)

Description

Computes the area of the specified polygon.

License

Open Source License

Parameter

Parameter Description
pts the vertices specifying the polygon.

Return

the area of the specified polygon.

Declaration

public static double computePolygonArea(Point2D[] pts) 

Method Source Code

//package com.java2s;
/** A collection of machine learning utility functions.
 * <p>/*from w  w w.j a  v  a 2 s. c o  m*/
 * Copyright (c) 2008 Eric Eaton
 * <p>
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * <p>
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * <p>
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see http://www.gnu.org/licenses/.
 * 
 * @author Eric Eaton (EricEaton@umbc.edu) <br>
 *         University of Maryland Baltimore County
 * 
 * @version 0.1
 *
 */

import java.awt.geom.Point2D;

public class Main {
    /** Computes the area of the specified polygon.
     * @param pts the vertices specifying the polygon.   
     * @return the area of the specified polygon.
     */
    public static double computePolygonArea(Point2D[] pts) {
        int n = pts.length;

        double area = 0.0;
        for (int i = 0; i < n - 1; i++) {
            area += (pts[i].getX() * pts[i + 1].getY())
                    - (pts[i + 1].getX() * pts[i].getY());
        }

        area += (pts[n - 1].getX() * pts[0].getY())
                - (pts[0].getX() * pts[n - 1].getY());
        area *= 0.5;

        return area;
    }
}

Related

  1. colinearPoint(Line2D line, Point2D point, double distance)
  2. computeAngleDEG(@Nonnull Point2D p1, @Nonnull Point2D p2)
  3. computeAngleRAD(@Nonnull Point2D p)
  4. computeBarycenter(Map values)
  5. computeEuclideanDistance(Point2D point1, Point2D point2)
  6. coordinateSplit(Point2D.Double[] aPoints, double[] aX, double[] aY)
  7. cornersToWorldFile(Point2D[] esq, Dimension size)
  8. curvedLineHit(Point point, Point startPoint, Point endPoint, Point controlPoint1, Point controlPoint2, float padding)
  9. derivativeOfCubicBezier(Point2D p0, Point2D p1, Point2D p2, Point2D p3, double t)