Vielen vielen Dank für dein Angebot. Beinahe hätte ich es auch wirklich in Anspruch nehmen müssen
.
Habe jetzt nach stundenlangem Kopfzerbrechen - ganz versteckt - eine anscheinend funktionierende Lösung gefunden:
Delphi-Quellcode:
//Hilfsvektoren:
VekNormale := TVek2d.Create;
VekNeueRichtung := TVek2d.Create;
//Normale zur Bande bestimmen = Spiegelachse
VekNormale.x := cos(arctan(m[j]));
VekNormale.y := sin(arctan(m[j]));
//Neue Richtung:
VekNeueRichtung.x := Richtung.x - 2*(Richtung.x*VekNormale.x + Richtung.y*VekNormale.y) * VekNormale.x;
VekNeueRichtung.y := Richtung.y - 2*(Richtung.x*VekNormale.x + Richtung.y*VekNormale.y) * VekNormale.y;
Richtung.x := -VekNeueRichtung.x;
Richtung.y := -VekNeueRichtung.y;
FreeAndNil(VekNormale);
FreeAndNil(VekNeueRichtung);
Wie gesagt, anscheinend funktioniert er und das meiste versteh ich sogar
.
Wenn ich mein Projekt fertig gestellt habe, dann poste ich vielleicht mal ein Tutorial dazu, da das Programmieren eines eigenen Billardspiels offensichtlich sehr beliebt ist.