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 Radix Sort
Giới thiệu java.io.tmpdir
Java Program to Implement Range Tree
Class Loaders in Java
Java Program to Find k Numbers Closest to Median of S, Where S is a Set of n Numbers
Java Program to Implement Treap
Quick Guide to the Java StringTokenizer
Convert Hex to ASCII in Java
Java Program to Implement Sorted Circularly Singly Linked List
Handle EML file with JavaMail
How to Break from Java Stream forEach
Java Program to Generate N Number of Passwords of Length M Each
Hướng dẫn Java Design Pattern – Dependency Injection
Lớp Properties trong java
Get the workstation name or IP
Java Program to Describe the Representation of Graph using Adjacency List
Tạo chương trình Java đầu tiên sử dụng Eclipse
Java InputStream to String
Pagination and Sorting using Spring Data JPA
Form Validation with AngularJS and Spring MVC
Java Program to Implement the Binary Counting Method to Generate Subsets of a Set
Java Program to Perform Naive String Matching
Loại bỏ các phần tử trùng trong một ArrayList như thế nào trong Java 8?
Lớp lồng nhau trong java (Java inner class)
Java Program to Implement Attribute API
Logout in an OAuth Secured Application
Introduction to Spring MVC HandlerInterceptor
Quick Intro to Spring Cloud Configuration
Java Program to Find the Shortest Path Between Two Vertices Using Dijkstra’s Algorithm
Java 9 Stream API Improvements
Spring MVC + Thymeleaf 3.0: New Features
Java Program to Generate All Possible Combinations Out of a, b, c, d, e