Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 25.11.2003, 18:15 Titel: Billiard |
|
|
Ich habe mir vogenommen ein kleies Billiardspiel zu programmieren. Sollte auch egentlich kein Problem sein, bis auf einen wichtigen Punkt: Die Ballphysik.
Also: Die Kugeln haben eine größe, eine Position, eine Geschindigkeit und einen Winkel.
Das schwierige ist jetzt festzustellen, ob 2 Kugel sich berühren, und wenn ja, wie sich ihre Geschwindigkeit und ihr Winkel ändern. Man muss natürlich bedenken, dass der Abprall ganz anders ist, wenn sie sich nur knapp berühren, als wie wenn si frontal aufeinanderstoßen. Wenn jemand ein paar Tipps und berechnungsformlen auf lager hat, wär ich für seine Hilfe recht dankbar.
Achja, wer Lust hat darf gerne mitmachen. Nur für das Projekt wird umbedingt eine Physikengine benötigt, vorher brauchen wir gar nicht anfangen.
Danke für die Hilfe(hoffentlich) |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 25.11.2003, 21:03 Titel: |
|
|
Für die Kollisionserkennung brauchst du nur die absolute Entfernung und die Radien der Kugeln.
Die absolute Entfernung kannst du ja einfach mit dem Satz des Pythagoras herausfinden.
Wenn die Summe der beiden Kugelradien größer als die absol. Entfernung, triff eine Kollision auf. _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
Error Mini JLI'ler
Anmeldedatum: 06.11.2003 Beiträge: 8
Medaillen: Keine
|
Verfasst am: 25.11.2003, 21:51 Titel: |
|
|
Interessantes Problem...
Habe leider momentan keine Zeit mir das genauer zu überlegen, aber von der Physik her solltest du mal nach "elastische Stösse" suchen. Das braucht glaube ich Impuls- und Energieerhaltungssatz. |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 27.11.2003, 10:45 Titel: |
|
|
Da du ja sicher die Bewegungsrichtung der Bälle hast kannst du aus diesen den Reflektionswinkel bilden. Schau mal ins Tafelwerk. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
KI JLI Master
Alter: 39 Anmeldedatum: 04.07.2003 Beiträge: 965 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 27.11.2003, 11:49 Titel: |
|
|
Es heißt übrigens Billard. ohne i |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 27.11.2003, 17:27 Titel: |
|
|
Aber der Tipp von The Lord of Programming ist echt gut. Werd ich mal ausprobieren.
Und über Reflektionswinkel muss ich mich mal näher Informieren, hab davon leider keine Ahnung. Aber schon mal Danke für die Tipps. Wenn ich das mit den Reflektionswinkel hin bekommen, könnte das schon reichen, aber wenn jemand noch einen Tipp hat, wär ich dafür sehr dankbar. |
|
Nach oben |
|
|
under_construction Junior JLI'ler
Alter: 36 Anmeldedatum: 12.11.2002 Beiträge: 52
Medaillen: Keine
|
Verfasst am: 28.11.2003, 16:57 Titel: |
|
|
Schau mal auf http://www.billardgl.de/
Da haben die des eigentlich sehr gut gelöst.
Ciao |
|
Nach oben |
|
|
Sören JLI Master Trainee
Anmeldedatum: 26.07.2002 Beiträge: 647 Wohnort: Bonn Medaillen: Keine
|
Verfasst am: 29.11.2003, 22:13 Titel: |
|
|
Also Kollisionserkennung sollte kein Problem sein. man nimmt einfach den Mittelpunkt das Balls und den eines anderen und addiert jeweils die radien dazu etc. eben einfachste Boundingspheres.
Ballphysik:
Ich würds so machen: Wenn 2 Bälle sich treffen(also direkt an einander kommen), nimmst du einfach die jeweiligen Koordinaten und machst daraus einen Vektor, mit dem der angestossene Ball weiter fliegt. Ich hoffe due weißt was ich meine.
bye |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 03.12.2003, 17:16 Titel: |
|
|
@MiracleBoy: So weit ich das verstanden habe funktioniert dass aber nur wenn der eine ball still liegt. Das Problem ist, dass sich auch manchmal 2 rollende Bälle treffen. Und man müsstenoch versuchen, auszurechnen, welche Geschwindigkeiten die beiden Bälle nachher haben. (hängt meiner Meinung nach davon ab, in welchen Winkel die Kugel zusammenstoßen). Es ist sicherlich ein wichtier Bestandteil der Beechnung, reicht aber nicht ganz.[/quote] |
|
Nach oben |
|
|
Zo0oL Mini JLI'ler
Anmeldedatum: 02.12.2003 Beiträge: 11 Wohnort: Pb Medaillen: Keine
|
Verfasst am: 03.12.2003, 19:29 Titel: |
|
|
Als RL-Billardspieler weise ich auch noch auf die verschiedensten Effet-Stöße hin, die das Verhalten der gespielten Kugel, aber auch der getroffenen Kugeln erheblich verändern würden.
Aber man muss ja auch nicht zu weit gehe, oder? |
|
Nach oben |
|
|
Mr.X Junior JLI'ler
Anmeldedatum: 15.04.2003 Beiträge: 88
Medaillen: Keine
|
Verfasst am: 04.12.2003, 09:23 Titel: |
|
|
Also wenns so weit gehen soll, das der Drall der Kugel in die Rechnung noch mit eingeht, dann bekommt man graue Haare noch bevor man fertig mit dem Spiel ist. |
|
Nach oben |
|
|
|