Aufgabe 3-5
This commit is contained in:
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user