สำหรับการเรียนรู้เกี่ยวกับมุมระหว่างระนาบสองระนาบในแบบ 3 มิติ เราต้องเรียนรู้เกี่ยวกับระนาบและมุม
เครื่องบิน เป็นพื้นผิวสองมิติที่ขยายไปถึงอนันต์
มุม คือช่องว่างเป็นองศาระหว่างเส้นสองเส้นกับพื้นผิวที่ตัดกันที่จุดหนึ่ง
ดังนั้น ในปัญหานี้ เราต้องหา มุมระหว่างระนาบ 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