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 Aho-Corasick Algorithm for String Matching
Java Program to Generate a Sequence of N Characters for a Given Specific Case
Java Program to Perform Addition Operation Using Bitwise Operators
An Introduction to ThreadLocal in Java
ExecutorService – Waiting for Threads to Finish
Spring Webflux with Kotlin
Spring Cloud AWS – RDS
Inheritance with Jackson
Java Program to Implement Randomized Binary Search Tree
ThreadPoolTaskExecutor corePoolSize vs. maxPoolSize
The Spring @Controller and @RestController Annotations
Spring Security OAuth Login with WebFlux
Java Program to Implement Caesar Cypher
Hướng dẫn Java Design Pattern – Decorator
Spring Boot - Code Structure
Java Program to Implement Adjacency Matrix
Spring Boot - Enabling HTTPS
Properties with Spring and Spring Boot
Zipping Collections in Java
Java Program to Implement Tarjan Algorithm
Form Validation with AngularJS and Spring MVC
Iterating over Enum Values in Java
Convert String to int or Integer in Java
Spring Boot with Multiple SQL Import Files
Java Program to Implement Sorted Doubly Linked List
Java Program to Implement Repeated Squaring Algorithm
Assertions in JUnit 4 and JUnit 5
Java Program to Perform Insertion in a 2 Dimension K-D Tree
Changing Annotation Parameters At Runtime
Java Program to Implement Hash Tables Chaining with Doubly Linked Lists
Iterable to Stream in Java
Hướng dẫn Java Design Pattern – Transfer Object