3D में दो समतलों के बीच के कोण के बारे में जानने के लिए, हमें समतलों और कोणों के बारे में जानने की आवश्यकता है।
विमान एक द्वि-आयामी सतह है जो अनंत तक फैली हुई है।
कोण दो रेखाओं और सतहों के बीच डिग्री में स्थान है जो एक बिंदु पर प्रतिच्छेद करता है।
तो, इस समस्या में हमें दो 3D विमानों के बीच के कोण को खोजने की आवश्यकता है . इसके लिए हमारे पास दो तल हैं जो एक दूसरे को काटते हैं और हमें उस कोण को खोजने की जरूरत है जिस पर एक दूसरे को काट रहे हैं।
दो 3D . के बीच के कोण की गणना करने के लिए विमानों, हमें इन विमानों के अभिलंबों के बीच के कोण की गणना करने की आवश्यकता है।
यहाँ, हमारे पास दो विमान हैं,
p1 : ax + by + cz + d = 0 p2 : hx + iy + j z + k = 0
p1 और p2 विमानों के अभिलंब की दिशाएँ (a,b,c) और (h,i,j) हैं।
इन दोनों तलों के अभिलंबों के बीच के कोण को ज्ञात करने के लिए बनाया गया गणितीय सूत्र है,
Cos Ø = {(a*h) + (b*i) + (c*j)} / [(a2 + b2 + c2)*(h2 + i2 + j2)]1/2 Ø = Cos-1 { {(a*h) + (b*i) + (c*j)} / [(a2 + b2 + c2)*(h2 + i2 + j2)]1/2 }
उदाहरण
#include <iostream> #include <math.h> using namespace std; int main() { float a = 2; float b = 2; float c = -1; float d = -5; float h = 3; float i = -3; float j = 5; float k = -3; float s = (a*h + b*i + c*j); float t = sqrt(a*a + b*b + c*c); float u = sqrt(h*h + i*i + j*j); s = s / (t * u); float pi = 3.14159; float A = (180 / pi) * (acos(s)); cout<<"Angle is "<<A<<" degree"; return 0; }
आउटपुट
Angle is 104.724 degree