সমস্যা বিবরণ
৩টি ৩D বিন্দু (x1,y1,z1), (x2,y2,z2), (x3,y3,z3) দেওয়া থাকলে, তাদের মধ্য দিয়ে যাওয়া প্লেনের সমীকরণ ax + by + cz + d = 0 বের করুন।
সমাধানের পদ্ধতি
- দুটি ভেক্টর বানান:
v1 = (x2-x1, y2-y1, z2-z1)v2 = (x3-x1, y3-y1, z3-z1)
- ক্রস প্রোডাক্ট
v1 × v2= নরমাল ভেক্টর (a, b, c):- a = b1*c2 - b2*c1
- b = a2*c1 - a1*c2
- c = a1*b2 - b1*a2
- d = -(a*x1 + b*y1 + c*z1)
C++ কোড উদাহরণ
#include <bits/stdc++.h>
#include <math.h>
#include <iostream>
#include <iomanip>
using namespace std;
void equation_plane(float x1, float y1, float z1,
float x2, float y2, float z2,
float x3, float y3, float z3) {
float a1 = x2 - x1;
float b1 = y2 - y1;
float c1 = z2 - z1;
float a2 = x3 - x1;
float b2 = y3 - y1;
float c2 = z3 - z1;
float a = b1 * c2 - b2 * c1;
float b = a2 * c1 - a1 * c2;
float c = a1 * b2 - b1 * a2;
float d = (-a * x1 - b * y1 - c * z1);
cout << fixed << setprecision(2);
cout << "Equation of plane is " << a << " x + " << b << " y + " << c << " z + " << d << " = 0";
}
int main() {
float x1 = -1, y1 = 2, z1 = 1;
float x2 = 0, y2 = -3, z2 = 2;
float x3 = 1, y3 = 1, z3 = -4;
equation_plane(x1, y1, z1, x2, y2, z2, x3, y3, z3);
return 0;
}
আউটপুট
Equation of plane is 26.00 x + 7.00 y + 9.00 z + 3.00 = 0
জটিলতা
- সময়: O(1)
- স্থান: O(1)