इस खंड में हम देखेंगे कि 2D निर्देशांक स्थान में मैट्रिक्स डिटरमिनेंट्स का उपयोग करके त्रिभुज का क्षेत्रफल कैसे निकाला जाए। यहां हम मान रहे हैं कि स्थान 2D है। इसलिए हम प्रत्येक बिंदु को मैट्रिक्स में रखते हैं। पहले कॉलम में x मान, दूसरे में y और तीसरे कॉलम में 1 लेते हैं। फिर उनका डिटरमिनेंट निकालते हैं। त्रिभुज का क्षेत्रफल डिटरमिनेंट मान का आधा होगा। यदि डिटरमिनेंट ऋणात्मक है, तो बस उसका निरपेक्ष मान लें।
सूत्र
$$Area = \frac{1}{2} \times \left| \begin{vmatrix} x_1 & y_1 & 1 \\ x_2 & y_2 & 1 \\ x_3 & y_3 & 1 \end{vmatrix} \right|$$
उदाहरण कोड
#include <iostream>
#include <cmath>
using namespace std;
double determinant(double M[3][3]) {
double t1 = (M[1][1] * M[2][2]) - (M[1][2] * M[2][1]);
double t2 = (M[1][0] * M[2][2]) - (M[1][2] * M[2][0]);
double t3 = (M[1][0] * M[2][1]) - (M[1][1] * M[2][0]);
return (M[0][0] * t1) + (-M[0][1] * t2) + (M[0][2] * t3);
}
int main() {
double M[3][3];
cout << "बिंदु p1 (x, y) दर्ज करें: ";
cin >> M[0][0] >> M[0][1];
M[0][2] = 1;
cout << "बिंदु p2 (x, y) दर्ज करें: ";
cin >> M[1][0] >> M[1][1];
M[1][2] = 1;
cout << "बिंदु p3 (x, y) दर्ज करें: ";
cin >> M[2][0] >> M[2][1];
M[2][2] = 1;
double det = determinant(M);
cout << "क्षेत्रफल है: " << fabs(det) * 0.5;
return 0;
}
आउटपुट
बिंदु p1 (x, y) दर्ज करें: 3 4 बिंदु p2 (x, y) दर्ज करें: 6 4 बिंदु p3 (x, y) दर्ज करें: 3 9 क्षेत्रफल है: 7.5
गणना
बिंदु: (3,4), (6,4), (3,9)
आधार = 3 (x-दिशा में दूरी), ऊंचाई = 5 (y-दिशा में दूरी)
क्षेत्रफल = ½ × 3 × 5 = 7.5 ✓
सामान्यीकृत संस्करण (किसी भी आकार के मैट्रिक्स के लिए)
यदि आप NxN मैट्रिक्स के लिए डिटरमिनेंट चाहते हैं, तो रिकर्सिव या LU डिकम्पोजिशन विधि का उपयोग करें। लेकिन 3x3 के लिए उपरोक्त विधि कुशल है।