Die Gleichung bestimmt die allgemeine Form einer Ebene im
Raum. Wenigstens eine der Koordinaten x, y, z muss einen von Null verschiedenen
Koeffizienten haben. Wenn in einem Koordinatensystem zwei Ebenen E1 und E2
durch zwei lineare Gleichungen gegeben sind,
so stellt der Ausdruck
den Winkel zweier Ebenen dar.
Als Beweis gilt die Formel fürs Skalarprodukt zweier Normalenvektoren:
Es gibt drei Fälle:
1) Ebenen E1 und E2 sind parallel;
2) Ebenen E1 und E2 stehen aufeinander senkrecht;
3) Ebenen E1 und E2 schneiden einander.
Das folgende C++ Programm zeigt diesen Algorithmus und berechnet den Winkel zwischen den Ebenen.
#include <iostream>
#define _USE_MATH_DEFINES
#include <cmath>
using namespace std;
int main()
{
float A1, B1, C1, D1, A2, B2, C2, D2; // Koeffizienten
double sp, betragN1, betragN2, winkel; // Skalarprodukt, Betraege, Winkel
cout << "Das Programm berechnet den Winkel zwischen zwei Ebenen." << endl;
cout<<"Die Ebenen werden in der Form Ax + By + Cz + D = 0 dargestellt."<<endl;
cout<<"Geben Sie bitte die Koeffizienten ein:"<<endl;
cout << "A1 = ";
cin >> A1;
cout << "B1 = ";
cin >> B1;
cout << "C1 = ";
cin >> C1;
cout << "D1 = ";
cin >> D1;
cout << endl;
cout<<"Die erste Ebene hat die folgende Gleichung:"<<endl;
cout<<A1<<"X + ("<<B1<<")Y + ("<<C1<<")Z + ("<<D1<<") = 0"<<endl<<endl;
cout << "A2 = ";
cin >> A2;
cout << "B2 = ";
cin >> B2;
cout << "C2 = ";
cin >> C2;
cout << "D2 = ";
cin >> D2;
cout << endl;
cout<<"Die zweite Ebene hat die folgende Gleichung:"<<endl;
cout<<A2<<"X + ("<<B2<<")Y + ("<<C2<<")Z + ("<<D2<<") = 0"<<endl;
cout<<endl;
//Die Berechnung beginnt hier.
sp = A1*A2 + B1*B2 + C1*C2;
double n1 = pow(A1, 2)+pow(B1, 2)+pow(C1,2);
betragN1 = sqrt(n1);
double n2 = pow(A2, 2)+pow(B2, 2)+pow(C2,2);
betragN2 = sqrt(n2);
winkel = acos(sp/(betragN1*betragN2));
//Der Winkel wird in Grad umgerechnet.
double wgrad = (winkel*180)/M_PI;
if (wgrad < 0.001)
cout << "Die Ebenen sind parallel."<< endl;
else
cout<<"Der Winkel zwischen den Ebenen ist gleich "<<wgrad<< " Grad"<<endl;
return 0;
}



Keine Kommentare:
Kommentar veröffentlichen