From be77aebb258392c51345dfaaf372f9448ea5bd75 Mon Sep 17 00:00:00 2001 From: kachelto100370 Date: Wed, 22 Apr 2026 14:50:04 +0200 Subject: [PATCH] Aufgabe 2 fertig --- 2_Flugkurve01/code/flugkurve | Bin 0 -> 13944 bytes 2_Flugkurve01/code/flugkurve01.cpp | 29 ++++++++++------------- 2_Flugkurve01/code/flugkurve01.h | 36 ++++++++++++----------------- 3 files changed, 27 insertions(+), 38 deletions(-) create mode 100755 2_Flugkurve01/code/flugkurve diff --git a/2_Flugkurve01/code/flugkurve b/2_Flugkurve01/code/flugkurve new file mode 100755 index 0000000000000000000000000000000000000000..62a192fb1fa6ef9e73d4e768fd34451786e292fe GIT binary patch literal 13944 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 literal 0 HcmV?d00001 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);