/* 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 */ /** ** 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); } } /* Enter number of points 5 Enter 5 x, y coordinates 3 4 5 11 12 8 9 5 5 6 Area = 30.0