This is a Java Program to find the area of a polygon using slicker method. The algorithm assumes the usual mathematical convention that positive y points upwards. In computer systems where positive y is downwards (most of them) the easiest thing to do is list the vertices counter-clockwise using the “positive y down” coordinates. The two effects then cancel out to produce a positive area.
Here is the source code of the Java Program to Implement Slicker Algorithm that avoids Triangulation to Find Area of a Polygon. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a java program to find the area of polygon using Slicker algorithm
import java.util.*;
class Area_polygon_Slicker
{
static final int MAXPOLY = 200;
static final double EPSILON = 0.000001;
static class Point
{
double x, y;
}
static class Polygon
{
Point p[] = new Point[MAXPOLY];
int n;
Polygon()
{
for (int i = 0; i < MAXPOLY; i++)
p[i] = new Point();
}
}
static double area(Polygon p)
{
double total = 0;
for (int i = 0; i < p.n; i++)
{
int j = (i + 1) % p.n;
total += (p.p[i].x * p.p[j].y) - (p.p[j].x * p.p[i].y);
}
return total / 2;
}
static public void main(String[] args)
{
Polygon p = new Polygon();
Scanner sc = new Scanner(System.in);
System.out.println("Enter the number of points in Polygon: ");
p.n = sc.nextInt();
System.out.println("Enter the coordinates of each point: <x> <y>");
for (int i = 0; i < p.n; i++)
{
p.p[i].x = sc.nextDouble();
p.p[i].y = sc.nextDouble();
}
double area = area(p);
if (area > 0)
System.out.print("The Area of Polygon with " + p.n
+ " points using Slicker Algorithm is : " + area);
else
System.out.print("The Area of Polygon with " + p.n
+ " points using Slicker Algorithm is : " + (area * -1));
sc.close();
}
}
Output:
$ javac Area_polygon_Slicker.java $ java Area_polygon_Slicker Enter the number of points in Polygon: 4 Enter the coordinates of each point: <x> <y> 1 1 1 6 6 6 6 1 The Area of Polygon with 4 points using Slicker Algorithm is : 25.0 Enter the number of points in Polygon: 5 Enter the coordinates of each point: <x> <y> 1 2 4 5 9 8 3 2 1 5 The Area of Polygon with 5points using Slicker Algorithm is : 6.0
Related posts:
Sending Emails with Java
An Example of Load Balancing with Zuul and Eureka
Java Program to add two large numbers using Linked List
Java Program to Implement Ford–Fulkerson Algorithm
Custom Cascading in Spring Data MongoDB
List Interface trong Java
Giới thiệu luồng vào ra (I/O) trong Java
Spring Boot - Google Cloud Platform
Lập trình hướng đối tượng (OOPs) trong java
Java Program to Create a Balanced Binary Tree of the Incoming Data
Extract links from an HTML page
Practical Java Examples of the Big O Notation
Java Program to Find Location of a Point Placed in Three Dimensions Using K-D Trees
Xây dựng ứng dụng Client-Server với Socket trong Java
Spring Boot Configuration with Jasypt
Java Program to Implement Hash Trie
Spring Security Logout
How to Find an Element in a List with Java
An Intro to Spring Cloud Zookeeper
Java Program to Represent Graph Using 2D Arrays
Guide to @ConfigurationProperties in Spring Boot
New Features in Java 13
Java Program to Implement First Fit Decreasing for 1-D Objects and M Bins
How to Return 404 with Spring WebFlux
Spring @Primary Annotation
Server-Sent Events in Spring
Using Spring ResponseEntity to Manipulate the HTTP Response
Copy a List to Another List in Java
A Guide to Spring Boot Admin
Merging Two Maps with Java 8
Java Program to Implement CopyOnWriteArraySet API
Optional trong Java 8