From 7618246a5b29d92c4f1ff66a738c16630f45d7ea Mon Sep 17 00:00:00 2001 From: kachelto100370 Date: Tue, 21 Apr 2026 23:35:18 +0200 Subject: [PATCH] =?UTF-8?q?Glaube=20flugkurve01.cpp=20ist=20fertig,=20ich?= =?UTF-8?q?=20hoffe=20ich=20muss=20nur=20noch=20die=20.h=20=C3=A4ndern?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 ++ 2_Flugkurve01/code/flugkurve01.cpp | 84 +++++++++++++----------------- 2_Flugkurve01/code/flugkurve01.h | 17 +++--- 3 files changed, 48 insertions(+), 56 deletions(-) diff --git a/.gitignore b/.gitignore index 7d759b2..9ccee6b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ 1_Grundlagen/code/matrix.exe +.out +.exe +.a diff --git a/2_Flugkurve01/code/flugkurve01.cpp b/2_Flugkurve01/code/flugkurve01.cpp index adc12c6..7d0e98e 100644 --- a/2_Flugkurve01/code/flugkurve01.cpp +++ b/2_Flugkurve01/code/flugkurve01.cpp @@ -1,57 +1,43 @@ -#include #include "flugkurve01.h" +#include using namespace std; - - - - -int main() -{ - - // Sorgt dafür, dass 2 Nachkommastellen angezeigt werden: - cout << fixed; - cout.precision(2); - - // Simulation: - const float dt = 0.1; // [s] - for(;;) - { - cout << "(" << xPosition << "," << yPosition << ")" << endl; - - // Berechnung der Beschleunigung aus der Kraft - float xBeschleunigung = xGeschwindigkeit * REIBUNGSKOEFFIZIENT / masse + X_BESCHLEUNIGUNG_GRAVITATION; - float yBeschleunigung = yGeschwindigkeit * REIBUNGSKOEFFIZIENT / masse + Y_BESCHLEUNIGUNG_GRAVITATION; - - // Ermittlung der neuen Geschwindigkeit - xGeschwindigkeit += dt * xBeschleunigung; - yGeschwindigkeit += dt * yBeschleunigung; - - // Ermittlung der neuen Position - xPosition += dt * xGeschwindigkeit; - yPosition += dt * yGeschwindigkeit; - - if(yPosition<=0) - { - break; - } - } -} - - -Vektor mulVektor(Vektor vec, float num){ - Vektor ergebnis = {vec.x * num, vec.y * num}; - return ergebnis; +#define Y_BESCHLEUNIGUNG_GRAVITATION 9.81 +Vektor mulVektor(Vektor vec, float num) { + Vektor ergebnis = {vec.x * num, vec.y * num}; + return ergebnis; } -Vektor addVektor(Vektor vec1, Vektor vec2){ - Vektor erg = {vec1.x + vec2.x, vec1.y + vec2.y}; - return erg; +Vektor addVektor(Vektor vec1, Vektor vec2) { + Vektor erg = {vec1.x + vec2.x, vec1.y + vec2.y}; + return erg; } -Koerper bewegeKoerper(Koerper korp, Vektor gesamtkraft, float dt){ - +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; + + // Ermittlung der neuen Geschwindigkeit + korp.geschwindigkeit.x += dt * xBeschleunigung; + korp.geschwindigkeit.y += dt * yBeschleunigung; + + // 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; } - - - diff --git a/2_Flugkurve01/code/flugkurve01.h b/2_Flugkurve01/code/flugkurve01.h index 649e644..efa94b8 100644 --- a/2_Flugkurve01/code/flugkurve01.h +++ b/2_Flugkurve01/code/flugkurve01.h @@ -1,15 +1,16 @@ #pragma once // Körper: + struct koordinaten{ + int x, y; + }; struct Koerper{ float masse = 10; // [kg] - float xPosition; // [m] - float yPosition; // [m] - float position[2] = {xPosition, yPosition}; - float xGeschwindigkeit; // [m/s] - float yGeschwindigkeit; // [m/s] - float geschwindigkeit[2] = {xGeschwindigkeit,yGeschwindigkeit}; - const float REIBUNGSKOEFFIZIENT; // [kg/s] + 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] @@ -20,3 +21,5 @@ Vektor mulVektor(Vektor vec, float skalar); Vektor addVektor(Vektor vec1, Vektor vec2); + +Koerper bewegeKoerper(Koerper zuBewegen, Vektor bewegung, int timeSteps);