এই বিভাগে আমরা দেখব কিভাবে ম্যাট্রিক্স নির্ধারক ব্যবহার করে 2D স্থানাঙ্ক স্থানের একটি ত্রিভুজের ক্ষেত্রফল বের করা যায়। এই ক্ষেত্রে আমরা স্থানটি 2D বিবেচনা করছি। তাই আমরা ম্যাট্রিক্সে প্রতিটি পয়েন্ট রাখছি। প্রথম কলামে x মান, দ্বিতীয়টিতে y এবং তৃতীয় কলাম হিসাবে 1 নিচ্ছে। তারপর তাদের নির্ধারক খুঁজুন। ত্রিভুজের ক্ষেত্রফল নির্ধারক মানের অর্ধেক হবে। যদি নির্ধারকটি নেতিবাচক হয়, তাহলে কেবল এটির পরম মান নিন।
$$Area\:=\:absolute\:of\begin{pmatrix}\frac{1}{2} \begin{vmatrix} x_1\:\:y_1\:\:1 \\ x_2\:\:y_2\ :\:1 \\ x_3\:\:y_3\:\:1 \end{vmatrix} \end{pmatrix}$$
এখানে আমরা ধরে নিচ্ছি যে এটি 3x3 ম্যাট্রিক্স, তাই নির্ধারক ফাংশন ম্যাট্রিক্সের নির্ধারক খুঁজে পায় না যা 3x3 নয়।
উদাহরণ কোড
#include<iostream> #include<cmath> using namespace std; double det(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); } main() { double M[3][3]; cout << "Enter Point p1 (x, y):"; cin >> M[0][0] >> M[0][1]; M[0][2] = 1; cout << "Enter Point p2 (x, y):"; cin >> M[1][0] >> M[1][1]; M[1][2] = 1; cout << "Enter Point p3 (x, y):"; cin >> M[2][0] >> M[2][1]; M[2][2] = 1; int determinant = det(M); cout << "The area is: " << fabs(determinant) * 0.5; }
আউটপুট
Enter Point p1 (x, y):3 4 Enter Point p2 (x, y):6 4 Enter Point p3 (x, y):3 9 The area is: 7.5