diff --git a/2_Flugkurve01/code/flugkurve b/2_Flugkurve01/code/flugkurve new file mode 100755 index 0000000..62a192f Binary files /dev/null and b/2_Flugkurve01/code/flugkurve differ diff --git a/2_Flugkurve01/code/flugkurve01.cpp b/2_Flugkurve01/code/flugkurve01.cpp index 7d0e98e..b5ce94b 100644 --- a/2_Flugkurve01/code/flugkurve01.cpp +++ b/2_Flugkurve01/code/flugkurve01.cpp @@ -1,7 +1,7 @@ #include "flugkurve01.h" #include using namespace std; -#define Y_BESCHLEUNIGUNG_GRAVITATION 9.81 + Vektor mulVektor(Vektor vec, float num) { Vektor ergebnis = {vec.x * num, vec.y * num}; return ergebnis; @@ -13,19 +13,10 @@ Vektor addVektor(Vektor vec1, Vektor vec2) { } Koerper bewegeKoerper(Koerper korp, Vektor gesamtkraft, float dt) { - cout << fixed; - cout.precision(2); - // Simulation: - for (;;) { - cout << "(" << korp.position.x << "," << korp.position.y << ")" << endl; // Berechnung der Beschleunigung aus der Kraft - float xBeschleunigung = - korp.geschwindigkeit.x * korp.REIBUNGSKOEFFIZIENT / korp.masse + - korp.REIBUNGSKOEFFIZIENT; - float yBeschleunigung = - korp.geschwindigkeit.y * korp.REIBUNGSKOEFFIZIENT / korp.masse + - Y_BESCHLEUNIGUNG_GRAVITATION; + float xBeschleunigung = gesamtkraft.x / korp.masse; + float yBeschleunigung = gesamtkraft.y / korp.masse; // Ermittlung der neuen Geschwindigkeit korp.geschwindigkeit.x += dt * xBeschleunigung; @@ -34,10 +25,14 @@ Koerper bewegeKoerper(Koerper korp, Vektor gesamtkraft, float dt) { // Ermittlung der neuen Position korp.position.x += dt * korp.geschwindigkeit.x; korp.position.y += dt * korp.geschwindigkeit.y; - - if (korp.position.y <= 0) { - break; - } - } return korp; } + +void ausgabeKoerper(Koerper korp){ + cout << "x = " << korp.position.x << "y = " << korp.position.y; +} + +void ausgabeVektor(Vektor vec){ + cout << "x = " << vec.x << endl; + cout << "y = " << vec.y << endl; +} diff --git a/2_Flugkurve01/code/flugkurve01.h b/2_Flugkurve01/code/flugkurve01.h index efa94b8..e3bbc16 100644 --- a/2_Flugkurve01/code/flugkurve01.h +++ b/2_Flugkurve01/code/flugkurve01.h @@ -1,25 +1,19 @@ #pragma once + +// Parametrierung der auf den Körper wirkende Kräfte: +struct Vektor { + float x; // [m/s^2] + float y; // [m/s^2] +}; // Körper: - struct koordinaten{ - int x, y; - }; - struct Koerper{ - float masse = 10; // [kg] - koordinaten position; - koordinaten geschwindigkeit; - const float REIBUNGSKOEFFIZIENT; // [kg/s] - }; - - - // Parametrierung der auf den Körper wirkende Kräfte: - struct Vektor{ - const float x; // [m/s^2] - const float y; // [m/s^2] - - }; - -Vektor mulVektor(Vektor vec, float skalar); +struct Koerper { + float masse = 10; // [kg] + Vektor position; + Vektor geschwindigkeit; +}; Vektor addVektor(Vektor vec1, Vektor vec2); - -Koerper bewegeKoerper(Koerper zuBewegen, Vektor bewegung, int timeSteps); +Vektor mulVektor(Vektor vec, float skalar); +Koerper bewegeKoerper(Koerper korp, Vektor gesamtkraft, float dt); +void ausgabeKoerper(Koerper korp); +void ausgabeVektor(Vektor vec);