Thema: Delphi Ein bzw. Ausfallswinkel

Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#20

Re: Ein bzw. Ausfallswinkel

  Alt 29. Sep 2004, 19:06
Zitat von gordon freeman:
Delphi-Quellcode:
if {Kugel am oberen Rand} or {Kugel am unteren Rand} then
   y:=y*(-1);
if {Kugel am linken Balken} or {Kugel am rechten Balken} then
   x:=x*(-1);
Die Schrittweite ist doch garnicht 1 . Die ist hier beliebig gehalten -> das *(-1) dreht doch nur das Vorzeichen.

Sagen wir mal:
xStep = 1
yStep = 2
(also der Koordinatenzuwachs pro Cycle)

Bei einer Refelxion an der unteren Kante wird nun "yStep=yStep*(-1)" gemacht, und dann haben wir:
xStep = 1
yStep = -2

Der Winkel ist nicht 45°, aber trotzdem korrekt reflektiert.

\\edit: Genau so mache ich das im Übrigen auch bei meinem Gravitationssimulator, und das klappt. Da hatte ich auch erst wilde Vektorrechnung drin, bis ich gemerkt hab dass es ja bei den einfachen Begrenzungen auch einfacher geht . (Würde man allerdings die Kugeln voneinander abprallen lassen, dann wird die ganze Sache ungleich komplizierter, das stimmt.)
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat