Aufgabe 3-5

This commit is contained in:
2026-04-15 20:25:59 +02:00
parent 3442cc5697
commit 65abdc34a9
8 changed files with 184 additions and 12 deletions
+19
View File
@@ -0,0 +1,19 @@
#ifndef FLUGKURVE02_H
#define FLUGKURVE02_H
struct Vektor{
float x;
float y;
};
struct Koerper{
float masse;
Vektor position;
Vektor geschwindigkeit;
};
Vektor mulVektor(const Vektor &vektor, const float &skalar);
Vektor addVektor(const Vektor &vektor1, const Vektor &vektor2);
Koerper bewegeKoerper(const Koerper &koerper, const Vektor &bewegung, const float &dt);
void ausgabeKoerper(const Koerper &koerper);
#endif
@@ -0,0 +1,44 @@
#include <iostream>
#include "flugkurve02.h"
using namespace std;
Vektor mulVektor(const Vektor &vec, const float &skalar)
{
Vektor ergebnis;
ergebnis.x = skalar * vec.x;
ergebnis.y = skalar * vec.y;
return ergebnis;
}
Vektor addVektor(const Vektor &vektor1, const Vektor &vektor2)
{
Vektor result;
result.x = vektor1.x + vektor2.x;
result.y = vektor1.y + vektor2.y;
return result;
}
Koerper bewegeKoerper(const Koerper &koerper, const Vektor &gesamtkraft, const float &dt)
{
Koerper ergebnis;
ergebnis.masse = koerper.masse;
// Beschleunigung = Kraft / masse
// Geschwindigkeit = Beschleunigung * Zeit
ergebnis.geschwindigkeit.x = koerper.geschwindigkeit.x + dt * gesamtkraft.x / koerper.masse;
ergebnis.geschwindigkeit.y = koerper.geschwindigkeit.y + dt * gesamtkraft.y / koerper.masse;
// Neue Position
ergebnis.position.x = koerper.position.x + dt * ergebnis.geschwindigkeit.x;
ergebnis.position.y = koerper.position.y + dt * ergebnis.geschwindigkeit.y;
return ergebnis;
}
void ausgabeKoerper(const Koerper &koerper)
{
cout << "(" << koerper.position.x << "," << koerper.position.y << ") ";
cout << "Geschwindigkeit: (" << koerper.geschwindigkeit.x << ", " << koerper.geschwindigkeit.y << ")" << endl;
}