समस्या विवरण
यहां हम त्रि-आयामी स्थान में दो तल के बीच का कोण गणना करना देखेंगे। तल P1 और P2 हैं। Pi के समीकरण इस प्रकार हैं:
a₁x + b₁y + c₁z + d₁ = 0
a₂x + b₂y + c₂z + d₂ = 0
सूत्र
यदि कोण 'A' है, तो:
cos A = |a₁a₂ + b₁b₂ + c₁c₂| / (√(a₁²+b₁²+c₁²) * √(a₂²+b₂²+c₂²))
C++ प्रोग्राम उदाहरण
#include <iostream>
#include <cmath>
using namespace std;
class Plane{
private:
double a, b, c, d;
public:
Plane(double a = 0, double b = 0, double c = 0, double d = 0){
this->a = a;
this->b = b;
this->c = c;
this->d = d;
}
double friend angle(Plane p1, Plane p2);
};
double angle(Plane p1, Plane p2){
double nume = (p1.a * p2.a) + (p1.b * p2.b) + (p1.c * p2.c);
double deno1 = (p1.a * p1.a) + (p1.b * p1.b) + (p1.c * p1.c);
double deno2 = (p2.a * p2.a) + (p2.b * p2.b) + (p2.c * p2.c);
return (180.0 / 3.14159) * acos(nume / (sqrt(deno1) * sqrt(deno2)));
}
int main() {
Plane p1(2.0, 2.0, -3.0, -5.0), p2(3.0, -3.0, 5.0, -6.0);
cout << "कोण: " << angle(p1, p2) << " डिग्री";
}
आउटपुट
कोण: 123.697 डिग्री