#include "flugkurve02.h"
#include <iostream>
using namespace std;

Vektor mulVektor(const Vektor &vec, const float &skalar){
  Vektor ergebnis = {vec.x * skalar, vec.y * skalar};
  return ergebnis;
}

Vektor addVektor(const Vektor &vec1, const Vektor &vec2) {
  Vektor erg = {vec1.x + vec2.x, vec1.y + vec2.y};
  return erg;
}

Koerper bewegeKoerper(const Koerper &korp, const Vektor &gesamtkraft,const float &dt) {
    Koerper erg = {0, {0,0}, {0,0}};
    // Berechnung der Beschleunigung aus der Kraft
    const float xBeschleunigung = gesamtkraft.x  / korp.masse;
    const float yBeschleunigung = gesamtkraft.y  / korp.masse;

    // Ermittlung der neuen Geschwindigkeit
    erg.geschwindigkeit.x = korp.geschwindigkeit.x + dt * xBeschleunigung;
    erg.geschwindigkeit.y = korp.geschwindigkeit.y + dt * yBeschleunigung;

    // Ermittlung der neuen Position
    erg.position.x += korp.position.x + dt * erg.geschwindigkeit.x;
    erg.position.y += korp.position.y + dt * erg.geschwindigkeit.y;
    return erg;
}

void ausgabeKoerper(const Koerper &korp){
    cout << "x = " << korp.position.x << "y = " << korp.position.y;
}

void ausgabeVektor(const Vektor &vec){
    cout << "x = " << vec.x << endl;
    cout << "y = " << vec.y << endl;
}
