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

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


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

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

ถ้ามุมคือ 'A' จะปฏิบัติตามกฎนี้:

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

ตัวอย่างโค้ด C++

#include 
#include 
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