Java Geometry Algorithm area2(Point2D a, Point2D b, Point2D c)

Here you can find the source of area2(Point2D a, Point2D b, Point2D c)

Description

Calculates twice the area of a triangle for points specified in counter-clockwise order (if the points are specified in clockwise order the result will be negative).

License

Open Source License

Parameter

Parameter Description
a the first point ( null not permitted).
b the second point ( null not permitted).
c the third point ( null not permitted).

Return

The area x 2.

Declaration

public static double area2(Point2D a, Point2D b, Point2D c) 

Method Source Code

//package com.java2s;
/* ===========================================================
 * Orson Charts : a 3D chart library for the Java(tm) platform
 * ===========================================================
 * /*from   www . j  av a2s .co m*/
 * (C)opyright 2013-2016, by Object Refinery Limited.  All rights reserved.
 * 
 * http://www.object-refinery.com/orsoncharts/index.html
 * 
 * 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.
 *
 * 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.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * 
 * [Oracle and Java are registered trademarks of Oracle and/or its affiliates. 
 * Other names may be trademarks of their respective owners.]
 * 
 * If you do not wish to be bound by the terms of the GPL, an alternative
 * commercial license can be purchased.  For details, please see visit the
 * Orson Charts home page:
 * 
 * http://www.object-refinery.com/orsoncharts/index.html
 * 
 */

import java.awt.geom.Point2D;

public class Main {
    /**
     * Calculates twice the area of a triangle for points specified in 
     * counter-clockwise order (if the points are specified in clockwise order
     * the result will be negative).
     * 
     * @param a  the first point ({@code null} not permitted).
     * @param b  the second point ({@code null} not permitted).
     * @param c  the third point ({@code null} not permitted).
     * 
     * @return The area x 2.
     */
    public static double area2(Point2D a, Point2D b, Point2D c) {
        double ax = a.getX();
        double ay = a.getY();
        double bx = b.getX();
        double by = b.getY();
        double cx = c.getX();
        double cy = c.getY();
        return (ax - cx) * (by - cy) - (ay - cy) * (bx - cx);
    }
}

Related

  1. absoluteBearing(Point2D.Double sourceLocation, Point2D.Double target)
  2. applyCoG(Point2D.Double[] points, Point2D.Double cog)
  3. applyDynamism(final Point[] spline, final int msForMove, final int msPerMove)
  4. applyMidPointApprox(CubicCurve2D cubic, QuadCurve2D quad)
  5. arcThroughThreePoints(float x1, float y1, float x2, float y2, float x3, float y3, boolean clockwise)
  6. AreAlign(Point2D.Double pivot, Point2D.Double a, Point2D.Double b)
  7. areDifferentAnchorPoints(Point2D p1, Point2D p2)
  8. areLocationsClose(Point2D point1, Point2D point2)
  9. assertEDT(String point)