Einzelnen Beitrag anzeigen

Noobmaster

Registriert seit: 18. Jul 2010
114 Beiträge
 
FreePascal / Lazarus
 
#24

AW: Andorra 2d Billardspiel in 2d

  Alt 5. Jul 2011, 15:44
Hallo Leute!

Mein Billardspiel ist vorangeschritten (auch wenn es lange gedauert hat).

Die Kugelkollisionen klappen, genauso wie die Kugel-geradeBanden-Kollisionen.

Allerdings tue ich mich mit den Banden in den Ecklöchern schwer. Diese sind nämlich schiefe Flächen und ich habe keine Ahnung wie ich die Abprallrichtung berechnen soll. Die Banden in den Mittellöchern sind nicht im 45°-Winkel sondern knapp weniger als 90°.

Habe mich schon versucht anders zu informieren

Delphi-Quellcode:
              //Steigung der Normalen zur Bande:
              VekNormale := TVek2d.Create;
              VekNormale.x := 1;
              VekNormale.y := -1 / m[j];

              //Richtungsvektor der Kugel an dem Normalenvektor spiegeln:
              //Spiegeln(w an v) = 2*(v*w)/(v*v)*v-w
              Richtung.x := 2*(VekNormale.x*Richtung.x)/(VekNormale.x*VekNormale.x)*VekNormale.x-Richtung.x;
              Richtung.y := 2*(VekNormale.y*Richtung.y)/(VekNormale.y*VekNormale.y)*VekNormale.y-Richtung.y;
              VekNormale.Destroy;
              VekNormale := nil;
Aber so funktioniert es leider nicht...
Anmerkung: "m" ist ein Array für die Steigungen der Geraden, die das jeweilige Bandenstück beschreiben.

Ich wäre sehr dankbar für eure Hilfe,

Gruß,
Noobmaster
  Mit Zitat antworten Zitat