Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

มุมระหว่างสองระนาบในแบบ 3 มิติในโปรแกรม C?


ที่นี่เราจะมาดูวิธีการคำนวณมุมระหว่างระนาบสองระนาบในพื้นที่สามมิติ เครื่องบินคือ P1 และ P2 สมการของ Pi ด้านล่าง -

มุมระหว่างสองระนาบในแบบ 3 มิติในโปรแกรม C?

หากมุมเป็น 'A' ก็จะเป็นไปตามกฎนี้ −

มุมระหว่างสองระนาบในแบบ 3 มิติในโปรแกรม 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: " << angle(p1, p2) << " degree";
}

ผลลัพธ์

Angle: 123.697 degree