Aufgabe 2 fertig
This commit is contained in:
parent
7618246a5b
commit
be77aebb25
BIN
2_Flugkurve01/code/flugkurve
Executable file
BIN
2_Flugkurve01/code/flugkurve
Executable file
Binary file not shown.
@ -1,7 +1,7 @@
|
|||||||
#include "flugkurve01.h"
|
#include "flugkurve01.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
using namespace std;
|
using namespace std;
|
||||||
#define Y_BESCHLEUNIGUNG_GRAVITATION 9.81
|
|
||||||
Vektor mulVektor(Vektor vec, float num) {
|
Vektor mulVektor(Vektor vec, float num) {
|
||||||
Vektor ergebnis = {vec.x * num, vec.y * num};
|
Vektor ergebnis = {vec.x * num, vec.y * num};
|
||||||
return ergebnis;
|
return ergebnis;
|
||||||
@ -13,19 +13,10 @@ Vektor addVektor(Vektor vec1, Vektor vec2) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
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
|
// Berechnung der Beschleunigung aus der Kraft
|
||||||
float xBeschleunigung =
|
float xBeschleunigung = gesamtkraft.x / korp.masse;
|
||||||
korp.geschwindigkeit.x * korp.REIBUNGSKOEFFIZIENT / korp.masse +
|
float yBeschleunigung = gesamtkraft.y / korp.masse;
|
||||||
korp.REIBUNGSKOEFFIZIENT;
|
|
||||||
float yBeschleunigung =
|
|
||||||
korp.geschwindigkeit.y * korp.REIBUNGSKOEFFIZIENT / korp.masse +
|
|
||||||
Y_BESCHLEUNIGUNG_GRAVITATION;
|
|
||||||
|
|
||||||
// Ermittlung der neuen Geschwindigkeit
|
// Ermittlung der neuen Geschwindigkeit
|
||||||
korp.geschwindigkeit.x += dt * xBeschleunigung;
|
korp.geschwindigkeit.x += dt * xBeschleunigung;
|
||||||
@ -34,10 +25,14 @@ Koerper bewegeKoerper(Koerper korp, Vektor gesamtkraft, float dt) {
|
|||||||
// Ermittlung der neuen Position
|
// Ermittlung der neuen Position
|
||||||
korp.position.x += dt * korp.geschwindigkeit.x;
|
korp.position.x += dt * korp.geschwindigkeit.x;
|
||||||
korp.position.y += dt * korp.geschwindigkeit.y;
|
korp.position.y += dt * korp.geschwindigkeit.y;
|
||||||
|
|
||||||
if (korp.position.y <= 0) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return korp;
|
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;
|
||||||
|
}
|
||||||
|
|||||||
@ -1,25 +1,19 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
// 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:
|
// Parametrierung der auf den Körper wirkende Kräfte:
|
||||||
struct Vektor {
|
struct Vektor {
|
||||||
const float x; // [m/s^2]
|
float x; // [m/s^2]
|
||||||
const float y; // [m/s^2]
|
float y; // [m/s^2]
|
||||||
|
};
|
||||||
|
// Körper:
|
||||||
|
struct Koerper {
|
||||||
|
float masse = 10; // [kg]
|
||||||
|
Vektor position;
|
||||||
|
Vektor geschwindigkeit;
|
||||||
};
|
};
|
||||||
|
|
||||||
Vektor mulVektor(Vektor vec, float skalar);
|
|
||||||
|
|
||||||
Vektor addVektor(Vektor vec1, Vektor vec2);
|
Vektor addVektor(Vektor vec1, Vektor vec2);
|
||||||
|
Vektor mulVektor(Vektor vec, float skalar);
|
||||||
Koerper bewegeKoerper(Koerper zuBewegen, Vektor bewegung, int timeSteps);
|
Koerper bewegeKoerper(Koerper korp, Vektor gesamtkraft, float dt);
|
||||||
|
void ausgabeKoerper(Koerper korp);
|
||||||
|
void ausgabeVektor(Vektor vec);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user