This is a Java Program to Implement Shoelace Algorithm. The shoelace formula, or shoelace algorithm, is a mathematical algorithm to determine the area of a simple polygon whose vertices are described by ordered pairs in the plane
Here is the source code of the Java Program to Implement Shoelace Algorithm. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
/**
** Java Program to Implement Shoelace Algorithm
**/
import java.util.Scanner;
/** Class Shoelace **/
public class Shoelace
{
/** Function to calculate area **/
public double area(int[][] arr)
{
int n = arr.length;
/** copy initial point to last row **/
arr[n - 1][0] = arr[0][0];
arr[n - 1][1] = arr[0][1];
double det = 0.0;
/** add product of x coordinate of ith point with y coordinate of (i + 1)th point **/
for (int i = 0; i < n - 1; i++)
det += (double)(arr[i][0] * arr[i + 1][1]);
/** subtract product of y coordinate of ith point with x coordinate of (i + 1)th point **/
for (int i = 0; i < n - 1; i++)
det -= (double)(arr[i][1] * arr[i + 1][0]);
/** find absolute value and divide by 2 **/
det = Math.abs(det);
det /= 2;
return det;
}
/** Main function **/
public static void main (String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.println("Shoelace Algorithm Test\n");
/** Make an object of Shoelace class **/
Shoelace s = new Shoelace();
/** Accept number of points **/
System.out.println("\nEnter number of points");
int n = scan.nextInt();
int[][] arr = new int[n + 1][2];
System.out.println("Enter "+ n +" x, y coordinates");
for (int i = 0; i < n; i++)
{
arr[i][0] = scan.nextInt();
arr[i][1] = scan.nextInt();
}
double area = s.area(arr);
System.out.println("\nArea = "+ area);
}
}
Output:
Shoelace Algorithm Test Enter number of points 5 Enter 5 x, y coordinates 3 4 5 11 12 8 9 5 5 6 Area = 30.0
Related posts:
Java Program to Perform Finite State Automaton based Search
ThreadPoolTaskExecutor corePoolSize vs. maxPoolSize
Spring Webflux with Kotlin
Spring Boot: Customize the Jackson ObjectMapper
Java Program to Generate Random Hexadecimal Byte
Jackson – Unmarshall to Collection/Array
Java Program to Implement LinkedList API
Spring Boot - Scheduling
Iterating over Enum Values in Java
Java Program to Implement Adjacency Matrix
Java Program to Implement Naor-Reingold Pseudo Random Function
Converting Between an Array and a Set in Java
Java Program to Implement Ternary Search Tree
Flattening Nested Collections in Java
Java Program to Remove the Edges in a Given Cyclic Graph such that its Linear Extension can be Found
Immutable ArrayList in Java
Java Program to Implement Kosaraju Algorithm
Java Program to Give an Implementation of the Traditional Chinese Postman Problem
A Guide to the Java ExecutorService
Spring Cloud Connectors and Heroku
Chương trình Java đầu tiên
Recommended Package Structure of a Spring Boot Project
Logout in an OAuth Secured Application
Comparing Objects in Java
New in Spring Security OAuth2 – Verify Claims
Java Program for Topological Sorting in Graphs
Rest Web service: Filter và Interceptor với Jersey 2.x (P1)
Guide to Apache Commons CircularFifoQueue
Java Program to Perform Quick Sort on Large Number of Elements
A Guide to Spring Cloud Netflix – Hystrix
Java Program to Implement Solovay Strassen Primality Test Algorithm
An Intro to Spring Cloud Security