rwth-info2/versuch05/main.cpp

41 lines
1.3 KiB
C++
Raw Normal View History

2011-04-25 19:57:49 +00:00
#include "Vektor.h"
#include <cmath>
#include <iostream>
int main()
{
Vektor v1(1, -2, 3);
Vektor v2(9.9, 0, 6);
Vektor v3(4.1, 9.2, -2.3);
Vektor v4 = Vektor::add(v1, v2);
std::cout << "v1 = "; v1.ausgabe();
std::cout << "v2 = "; v2.ausgabe();
std::cout << "v3 = "; v3.ausgabe();
std::cout << "v4 = "; v4.ausgabe();
v3.substract(v4);
std::cout << std::endl << "v3-4 = "; v3.ausgabe();
std::cout << std::endl << "v4 = (" << v4.getX() << ", " << v4.getY() << ", " << v4.getZ() << ")" << std::endl;
std::cout << std::endl << "||v2|| = " << v2.getLength() << std::endl;
std::cout << std::endl << "Rotate pi/2 ccw: v2' = "; Vektor::rotate(v2, M_PI/2).ausgabe();
std::cout << "Rotate 52° ccw: v2'' = "; Vektor::rotate(v2, 52*M_PI/180).ausgabe();
/* Teilaufgabe 3: Berechnung der Sichtweite */
double radius = 6371000;
double size1 = 1.8;
double size2 = 830;
Vektor v5(0, radius + size1, 0);
Vektor v6(0, radius + size2, 0);
std::cout << std::endl << "Sichtweite bei " << size1 << "m über der Meeresoberfläche: "
<< -Vektor::rotate(v5, acos(radius / (radius + size1))).getX() / 1000 << "km" << std::endl;
std::cout << "Sichtweite bei " << size2 << "m über der Meeresoberfläche: "
<< -Vektor::rotate(v6, acos(radius / (radius + size2))).getX() / 1000 << "km" << std::endl;
return 0;
}