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:
Using JWT with Spring Security OAuth
Hướng dẫn Java Design Pattern – Iterator
Java 8 StringJoiner
Hướng dẫn Java Design Pattern – Factory Method
Comparing Objects in Java
Java Program to Generate Random Hexadecimal Byte
Query Entities by Dates and Times with Spring Data JPA
Java – Generate Random String
A Guide to Concurrent Queues in Java
Lớp HashMap trong Java
Java Program to Construct an Expression Tree for an Postfix Expression
Simultaneous Spring WebClient Calls
Java Program to Check whether Graph is Biconnected
Java Program to Implement Coppersmith Freivald’s Algorithm
Java Program to Perform Preorder Recursive Traversal of a Given Binary Tree
Java Program to Implement LinkedBlockingQueue API
Java Program to Implement Dijkstra’s Algorithm using Set
The Basics of Java Security
Java Program to Use the Bellman-Ford Algorithm to Find the Shortest Path
Daemon Threads in Java
Java Program to Implement ScapeGoat Tree
Mảng (Array) trong Java
A Guide to Spring Boot Admin
Jackson – JsonMappingException (No serializer found for class)
Join and Split Arrays and Collections in Java
Spring Boot - Unit Test Cases
Map to String Conversion in Java
Handle EML file with JavaMail
Check if a String is a Palindrome in Java
Java Program to Represent Graph Using Adjacency List
How to Store Duplicate Keys in a Map in Java?
Guide to the Volatile Keyword in Java