This is a Java Program to find the area of a triangle using determinant method.
Formula for the area of a triangle using determinants
|x1 y1 1| Area = ±1/2 |x2 y2 1| |x3 y3 1|
The plus/minus in this case is meant to take whichever sign is needed so the answer is positive (non-negative). Do not say the area is both positive and negative.
Here is the source code of the Java Program to Compute the Area of a Triangle Using Determinants. 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 triangle using method of determinants import java.util.Random; public class Area_Triangle_Determinants { public static double determinant(double A[][], int N) { double det = 0; if (N == 1) { det = A[0][0]; } else if (N == 2) { det = A[0][0] * A[1][1] - A[1][0] * A[0][1]; } else { det = 0; for (int j1 = 0; j1 < N; j1++) { double[][] m = new double[N - 1][]; for (int k = 0; k < (N - 1); k++) { m[k] = new double[N - 1]; } for (int i = 1; i < N; i++) { int j2 = 0; for (int j = 0; j < N; j++) { if (j == j1) continue; m[i - 1][j2] = A[i][j]; j2++; } } det += Math.pow(-1.0, 1.0 + j1 + 1.0) * A[0][j1] * determinant(m, N - 1); } } return det; } public static void main(String args[]) { Random random = new Random(); int x1, x2, x3, y1, y2, y3; x1 = random.nextInt(10); x2 = random.nextInt(10); x3 = random.nextInt(10); y1 = random.nextInt(10); y2 = random.nextInt(10); y3 = random.nextInt(10); double[][] mat = new double[3][3]; mat[0][0] = x1; mat[0][1] = y1; mat[0][2] = 1; mat[1][0] = x2; mat[1][1] = y2; mat[1][2] = 1; mat[2][0] = x3; mat[2][1] = y3; mat[2][2] = 1; System.out .println("The matrix formed by the coordinates of the triangle is: "); for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) System.out.print(mat[i][j] + " "); System.out.println(); } double det = determinant(mat, 3) * 0.5; if (det < 0) System.out.println("The Area of the triangle formed by (" + x1 + "," + y1 + "), (" + x2 + "," + y2 + "), (" + x3 + "," + y3 + ") = " + (det * -1)); else System.out.println("The Area of the triangle formed by (" + x1 + "," + y1 + "), (" + x2 + "," + y2 + "), (" + x3 + "," + y3 + ") = " + det); } }
Output:
$ javac Area_Triangle_Determinants.java $ java Area_Triangle_Determinants The matrix formed by the coordinates of the triangle is: 3.0 4.0 1.0 6.0 4.0 1.0 3.0 9.0 1.0 The Area of the triangle formed by (3,4), (6,4), (3,9) = 7.5
Related posts:
Java Program to Implement the linear congruential generator for Pseudo Random Number Generation
Binary Numbers in Java
Java Program to Implement Fisher-Yates Algorithm for Array Shuffling
Java Program to Implement Quick Sort with Given Complexity Constraint
Intro to the Jackson ObjectMapper
Java Program to Test Using DFS Whether a Directed Graph is Weakly Connected or Not
Java Program to Check Whether a Given Point is in a Given Polygon
Configure a Spring Boot Web Application
Get the workstation name or IP
Java Program to Implement Horner Algorithm
Java Program to Find Median of Elements where Elements are Stored in 2 Different Arrays
Java Program to Generate All Subsets of a Given Set in the Lexico Graphic Order
Java String to InputStream
Java Program to Implement Shoelace Algorithm
Send email with SMTPS (eg. Google GMail)
Java Program to Implement Interpolation Search Algorithm
Getting Started with GraphQL and Spring Boot
Registration – Activate a New Account by Email
Java Program to Solve a Matching Problem for a Given Specific Case
Java Program to Find the Longest Path in a DAG
Spring Boot - Quick Start
Java Program to Perform Optimal Paranthesization Using Dynamic Programming
A Guide to Apache Commons Collections CollectionUtils
REST Web service: Tạo ứng dụng Java RESTful Client với Jersey Client 2.x
Spring Security and OpenID Connect
Java Program to Find SSSP (Single Source Shortest Path) in DAG (Directed Acyclic Graphs)
A Guide to Concurrent Queues in Java
Java Program to Implement Disjoint Sets
JWT – Token-based Authentication trong Jersey 2.x
Java Program to Represent Graph Using Incidence Matrix
Properties with Spring and Spring Boot
Upload and Display Excel Files with Spring MVC