Compare commits
No commits in common. "be77aebb258392c51345dfaaf372f9448ea5bd75" and "7ae37fad48f67e7529a86a373e4544a55b4f306d" have entirely different histories.
be77aebb25
...
7ae37fad48
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,4 +1 @@
|
|||||||
1_Grundlagen/code/matrix.exe
|
1_Grundlagen/code/matrix.exe
|
||||||
.out
|
|
||||||
.exe
|
|
||||||
.a
|
|
||||||
|
|||||||
Binary file not shown.
@ -1,38 +1,45 @@
|
|||||||
#include "flugkurve01.h"
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
Vektor mulVektor(Vektor vec, float num) {
|
int main()
|
||||||
Vektor ergebnis = {vec.x * num, vec.y * num};
|
{
|
||||||
return ergebnis;
|
// Körper:
|
||||||
}
|
float masse = 10; // [kg]
|
||||||
|
float xPosition = 0; // [m]
|
||||||
|
float yPosition = 0; // [m]
|
||||||
|
float xGeschwindigkeit = 10; // [m/s]
|
||||||
|
float yGeschwindigkeit = 10; // [m/s]
|
||||||
|
|
||||||
Vektor addVektor(Vektor vec1, Vektor vec2) {
|
// Parametrierung der auf den Körper wirkende Kräfte:
|
||||||
Vektor erg = {vec1.x + vec2.x, vec1.y + vec2.y};
|
const float X_BESCHLEUNIGUNG_GRAVITATION = 0; // [m/s^2]
|
||||||
return erg;
|
const float Y_BESCHLEUNIGUNG_GRAVITATION = -9.81; // [m/s^2]
|
||||||
}
|
const float REIBUNGSKOEFFIZIENT = -5; // [kg/s]
|
||||||
|
|
||||||
Koerper bewegeKoerper(Koerper korp, Vektor gesamtkraft, float dt) {
|
// 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
|
// Berechnung der Beschleunigung aus der Kraft
|
||||||
float xBeschleunigung = gesamtkraft.x / korp.masse;
|
float xBeschleunigung = xGeschwindigkeit * REIBUNGSKOEFFIZIENT / masse + X_BESCHLEUNIGUNG_GRAVITATION;
|
||||||
float yBeschleunigung = gesamtkraft.y / korp.masse;
|
float yBeschleunigung = yGeschwindigkeit * REIBUNGSKOEFFIZIENT / masse + Y_BESCHLEUNIGUNG_GRAVITATION;
|
||||||
|
|
||||||
// Ermittlung der neuen Geschwindigkeit
|
// Ermittlung der neuen Geschwindigkeit
|
||||||
korp.geschwindigkeit.x += dt * xBeschleunigung;
|
xGeschwindigkeit += dt * xBeschleunigung;
|
||||||
korp.geschwindigkeit.y += dt * yBeschleunigung;
|
yGeschwindigkeit += dt * yBeschleunigung;
|
||||||
|
|
||||||
// Ermittlung der neuen Position
|
// Ermittlung der neuen Position
|
||||||
korp.position.x += dt * korp.geschwindigkeit.x;
|
xPosition += dt * xGeschwindigkeit;
|
||||||
korp.position.y += dt * korp.geschwindigkeit.y;
|
yPosition += dt * yGeschwindigkeit;
|
||||||
return korp;
|
|
||||||
}
|
|
||||||
|
|
||||||
void ausgabeKoerper(Koerper korp){
|
if(yPosition<=0)
|
||||||
cout << "x = " << korp.position.x << "y = " << korp.position.y;
|
{
|
||||||
}
|
break;
|
||||||
|
}
|
||||||
void ausgabeVektor(Vektor vec){
|
}
|
||||||
cout << "x = " << vec.x << endl;
|
|
||||||
cout << "y = " << vec.y << endl;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,19 +0,0 @@
|
|||||||
#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 Koerper {
|
|
||||||
float masse = 10; // [kg]
|
|
||||||
Vektor position;
|
|
||||||
Vektor geschwindigkeit;
|
|
||||||
};
|
|
||||||
|
|
||||||
Vektor addVektor(Vektor vec1, Vektor vec2);
|
|
||||||
Vektor mulVektor(Vektor vec, float skalar);
|
|
||||||
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