Also diese Zeilen machen mir aber arg Kopfzerbrechen:
Delphi-Quellcode:
Deltabogen := pi/2+(ArcSin((sin(pi-Gammabogen)*E1)/Eges)) - Betabogen;
Delta := (Deltabogen * 180) / pi;
deltay := -round(sin(Deltabogen)*10);
deltax := round(sin((pi/2)-Deltabogen)*10);
Edit.text := FloatToStr(Delta);
x := probex + deltax;
y := probey + deltay;
Du hast dir Eges ausgerechnet, rein skalar. Ich geh jetzt mal von aus dass bis dahin alles stimmt, hab deine Formeln nicht alle im Detail nachvollzogen.
Du hast dir also DeltaBogen ausgerechnet. Gut. Aber was soll nun das was folgt:
Delphi-Quellcode:
deltay := -round(sin(Deltabogen)*10);
deltax := round(sin((pi/2)-Deltabogen)*10);
sin(Delta) entspricht der Projektion von E_ges (der Länge eins) auf die E1 Achse. Und sin((pi/2)-Deltabogen)=cos(Delta) entspricht der Projektion auf die E2 Achse. E_ges ist aber nicht eins.
Du kannst doch aber jetzt nicht einfach hingehen, und deine neue x- und y-Position errechnen, indem du das 10-fache der Projektion auf Deltax und Deltay addierst. So kriegst du eine unbeschleunigte Bewegung, und das ist definitiv falsch, da ja eine Kraft auf deine Probeladung wirkt (F_ges=q*E_ges), und somit eine Beschleunigung.