-
Forum: Multimedia
by Noobmaster,
8. Jul 2011
Danke nochmal für alle Antworten :-)
Zumindest nach vorläufigen Tests funktioniert die Bandenkollision nun. Letzte Anpassungen im Detail (die eher mit der Kollisionsbestimmung zu tun haben) fehlen noch, aber das ist nur noch Bastelarbeit. Dann kommt das Lochen (sehr einfach gestaltet) und dann der Rahmen des Spiels. Das wird mich jetzt eine Weile beschäftigen ;-)
Und wenn ich das alles habe...
-
Forum: Multimedia
by Noobmaster,
7. Jul 2011
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:
//Hilfsvektoren:
VekNormale := TVek2d.Create;
VekNeueRichtung := TVek2d.Create;
//Normale zur Bande bestimmen =...
-
Forum: Multimedia
by Noobmaster,
7. Jul 2011
"Bei der passiven Drehung wird das Koordinatensystem gedreht und damit der Vektor mit dem Uhrzeigersinn gedreht. Die Koordinaten des Vektors im gedrehten Koordinatensystem findet man durch Multiplikation mit der Matrix R_alpha^-1:" (Wikipedia)
Ich muss also meinen Vektor "Richtung" mit R_alpha^-1 multiplizieren, oder?
Alpha:
alpha = arctan(Steigung der Geraden) -...
-
Forum: Multimedia
by Noobmaster,
7. Jul 2011
Ja, die Skizza ist logisch ^^: Einfallswinkel = Ausfallswinkel, Klass6
2. Lösungsansatz. Er sieht vom Ergebnis her besser aus, aber irgendetwas ist noch falsch:
//Neue Richtung:
Richtung.y := Richtung.y * (cos(Alpha)-sin(Alpha));
Richtung.x := Richtung.x * (sin(Alpha)+cos(Alpha));
Richtung.y := -Richtung.y;
Ich glaube, ich muss den...
-
Forum: Multimedia
by Noobmaster,
7. Jul 2011
Danke für deine Antwort!
Leider funktioniert mein Programm noch nicht so ganz. Hier mein Lösungsansatz:
VekBande := TVek2d.Create;
VekBande.x := 1;
VekBande.y := m;
//Drehwinkel:
Alpha := VekToWinkelinGrad(VekBande) - VekToWinkelInGrad(Richtung);
-
Forum: Multimedia
by Noobmaster,
6. Jul 2011
Habe nun versucht die Formel von Wikipedia auch umzusetzen, nachdem ich mich wieder mal eingehend mit Vektorrechnung abgemüht habe, aber es funktioniert einfach nicht.
Kann mir bitte einer sagen, wie ich einen sich bewegenden Kreis korrekt von einer gerade g(x)=m*x+n abprallen lasse? Habe bisher noch keine Formel gefunden, die ich verstanden habe.
-
Forum: Multimedia
by Noobmaster,
6. Jul 2011
Ich komme wirklich nicht weiter.
http://de.wikipedia.org/wiki/Spiegelungsmatrix
Damit kann ich gar nix anfangen...
Weiß einer die Lösung meines Problems?
Im Prinzip will ich folgendes erreichen:
Den Richtungsvektor v=(x,y) meiner Kugel bei der Kollision mit einer beliebigen Gerade g:y=mx+n so verändern, dass die Kugel mit Einfallswinkel=Ausfallswinkel an der Geraden abprallt.
-
Forum: Multimedia
by Noobmaster,
5. Jul 2011
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...
-
Forum: Multimedia
by Noobmaster,
5. Aug 2010
Hi, habe ein neues Problem, aber weil es immer noch mit dem Billardspiel zu tun hat, schreibe ich meine Frage hier hin.
Ich bin bei den Kugelkollisionen angekommen. Das Problem für mich ist jetzt sehr schwer zu beschreiben. Wann eine Kugel von einer anderen getroffen wird brauche ich selber nicht zu bestimmten, das erledigt Andorra2d für mich. Nun ist es aber das Problem, dass die Kugel in...
-
Forum: Multimedia
by Noobmaster,
4. Aug 2010
Danke, manchmal sieht man vor lauter Bäumen den Wald nicht mehr :lol:
-
Forum: Multimedia
by Noobmaster,
4. Aug 2010
if Energie > 0 then begin
X := X + (XSpeed * TimeGap * Energie * 10);
Y := Y + (YSpeed * TimeGap * Energie * 10);
//Energie neu berechnen, ACHTUNG bei der Wurzel (wurzel aus -X)
if XSpeed * YSpeed <> 0 then Energie := Energie -...
-
Forum: Multimedia
by Noobmaster,
1. Aug 2010
Es hat wunderbar funktioniert, danke!
-
Forum: Multimedia
by Noobmaster,
29. Jul 2010
Danke, ich glaube, ich krieg das jetzt auf die Reihe. Ich werde es demnächst mal ausprobieren und sollte ich Probleme kriegen, dann melde ich mich wieder.
-
Forum: Multimedia
by Noobmaster,
29. Jul 2010
Ja, aber wenn ich doch jetzt Ax + Dx und Ay + Dy rechne,dann bewegt sich doch die Weiße entlang des Vektors D, oder?
-
Forum: Multimedia
by Noobmaster,
29. Jul 2010
Muss ich dann also nur noch schreiben, dass der Vektor A + den Vektor D gerechnet wird und dann bewegt sich die Weiße in die richtige Richtung(Das Ergebnis werde ich aufgrund der Wurzel wohl natürlich runden müssen).
Habe ich das so richtig verstanden?
-
Forum: Multimedia
by Noobmaster,
29. Jul 2010
Okay, verstanden, das sind ja ganz einfache Ortskoordinaten, wie man sie aus Klasse 5 und 6 kennt. Und was genau heißt das jetzt auf mein Spiel angewendet? Kann mir einer ein Beispiel mit verschiedenen Winkeln, aber gleichem Laufweg der Weißen geben? Gebt mit bitte als Beispiel dann jeweils auch die Positionen von Weiß und Geisterball. Danke schonmal.
-
Forum: Multimedia
by Noobmaster,
28. Jul 2010
Danke für die Antwort, aber was ist ein Ortsvektor? Und das mit dem Runden führt zu Ungenauigkeiten, die nicht behebbar sind! So haben es zumindest meine Erfahrungen gezeigt.
Wie normiert man einen Vektor auf 50? Das mit dem Addieren eines Vektors hab ich auf Wikipedia gefunden. Also besteht der Vektor in meinem Fall aus 2 Zahlen? Aus welchen?
-
Forum: Multimedia
by Noobmaster,
28. Jul 2010
Damit ihr mein Problem noch besser verstehen könnt. Ich habe allgemein ja leider nur ein Integer-Koordinatensystem(oder sehe ich das falsch und kann Kommazahlen als Koordinaten benutzen!?). Wenn ich nun einmal die Gerade durch Weiße und Geisterball ziehe, dann kann ich ja einen Steigungswinkel ausrechnen. Ist dieser Winkel zum Beispiel 2°, dann ist der Tangens(=Steigung) ungefähr 349/10000 groß....
-
Forum: Multimedia
by Noobmaster,
28. Jul 2010
Das Problem ist, dass wir in der Schule (Klasse 10) bisher nicht mit Vektoren gearbeitet haben. In Physik zwar schon, aber ich wüsste jetzt nicht, wie ich das auf ein Integer-Koordinatensystem übertragen könnte.
Mit der Vektorrechnung oben kann ich leider nicht besonders viel anfangen, sry.
Was für spezielle Funktionen meinst du denn?
Und inwiefern ist das mit den Winkelkoordinaten zu...
-
Forum: Multimedia
by Noobmaster,
27. Jul 2010
Hallo Leute!
Habe mich in der letzten Zeit ausgiebiger damit beschäftigt, mein eigenes 2d-Billardspiel zu kriieren. Ein kleines Problem, das ich momentan noch habe, ist die Richtung, in der die Kugel laufen soll.
Zum besseren Verständnis: Ich habe einen Geisterball, der die Position des Mauszeigers einnimmt. Wird jetzt die linke Maustaste geklickt, soll der die Weiße in Richtung des...