AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Und nochmal Kollision - Ball zu Ball
Thema durchsuchen
Ansicht
Themen-Optionen

Und nochmal Kollision - Ball zu Ball

Ein Thema von Airblader · begonnen am 21. Dez 2005 · letzter Beitrag vom 23. Dez 2005
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#1

Und nochmal Kollision - Ball zu Ball

  Alt 21. Dez 2005, 19:11
Hi,
hab leider wieder ein Kollisionsproblem.
Ich will, dass 2 Bälle kollidieren und dabei realistisch abgeprallt weiterfliegen.

Ich hab nun Code gefunden und versucht für mich umzuformen, Ergebnis:

Delphi-Quellcode:
CollisionVec.X := ((Self.FPosition.X + Self.FRadius div 2) / 2) + ((Other.FPosition.X + Other.FRadius div 2) / 2);
CollisionVec.Y := ((Self.FPosition.Y + Self.FRadius div 2) / 2) + ((Other.FPosition.Y + Other.FRadius div 2) / 2);

Self.FAngle := ArcTan2(CollisionVec.Y - (Self.FPosition.Y + Self.FRadius div 2), (Self.FPosition.X + Self.FRadius div 2) - CollisionVec.X);
Code wird ausgeführt, sofern die Bälle kollidieren.
Momentan fliegen die Bälle bei Kollision aber einfach nurnoch nach Rechts O_o

air
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Und nochmal Kollision - Ball zu Ball

  Alt 21. Dez 2005, 19:14
Wie wär's wenn du auch den neuen Kurs des 2. Ball setzt?
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#3

Re: Und nochmal Kollision - Ball zu Ball

  Alt 21. Dez 2005, 21:04
Zitat von ichbins:
Wie wär's wenn du auch den neuen Kurs des 2. Ball setzt?
Da die Prozedur für jeden Ball ausgeführt wird, würde ich den Kurs pro Kreis dann ja 2x ändern -> weniger gut.

Übrigens: 0° in FAngle bedeutet nach rechts

air
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Und nochmal Kollision - Ball zu Ball

  Alt 21. Dez 2005, 21:53
Ich hatte auch mal Probleme mit den Winkelfunktionen. Da kamen dann immer die falschen Werte raus. Vllt. liegt es ja daran. Wie sieht denn der Ursprungscode aus?
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#5

Re: Und nochmal Kollision - Ball zu Ball

  Alt 21. Dez 2005, 23:08
Zitat von ichbins:
Ich hatte auch mal Probleme mit den Winkelfunktionen. Da kamen dann immer die falschen Werte raus. Vllt. liegt es ja daran. Wie sieht denn der Ursprungscode aus?
Welcher Ursprungscode

air
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#6

Re: Und nochmal Kollision - Ball zu Ball

  Alt 22. Dez 2005, 01:33
moin,

- hast du an Gradmaß --> Bogenmaß gedacht?
- warum teilst du den Radius immer durch zwei?
- wie willst du eine Kollision simulieren, wenn du nirgends die Geschwindigkeit / den Bewegungsvektor der Kugeln verwendest?
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Und nochmal Kollision - Ball zu Ball

  Alt 22. Dez 2005, 06:00
Zitat von Airblader:
Zitat von ichbins:
Ich hatte auch mal Probleme mit den Winkelfunktionen. Da kamen dann immer die falschen Werte raus. Vllt. liegt es ja daran. Wie sieht denn der Ursprungscode aus?
Welcher Ursprungscode
Den:
Zitat von Airblader:
Hi,
Ich hab nun Code gefunden und versucht für mich umzuformen, Ergebnis:
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Cicaro

Registriert seit: 9. Feb 2005
285 Beiträge
 
Delphi 7 Personal
 
#8

Re: Und nochmal Kollision - Ball zu Ball

  Alt 22. Dez 2005, 10:42
Zitat von Airblader:
Hi,
hab leider wieder ein Kollisionsproblem.
Ich will, dass 2 Bälle kollidieren und dabei realistisch abgeprallt weiterfliegen.
So, wie ich dich verstehe, arbeitest du mit normalen Vektoren, oder doch mit Polarkoordinaten ?

Aber zunächst würd' ich mir darüber Gedanken machen, dass die Bälle beim Aufprall Energien (kinetische Energien) austauschen. Es reicht nicht nur die Ausfallswinkel zu bestimmen.

Zitat von Airblader:
Momentan fliegen die Bälle bei Kollision aber einfach nurnoch nach Rechts O_o
Das kann daran liegen, dass der ArcTan nur für Winkel zwischen -Pi und Pi definiert ist, wenn ich mich recht ensinne . Da müsstest du eine Fallunterscheidung vornehmen.
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#9

Re: Und nochmal Kollision - Ball zu Ball

  Alt 22. Dez 2005, 11:13
Zitat von xineohp:
moin,

- hast du an Gradmaß --> Bogenmaß gedacht?
- warum teilst du den Radius immer durch zwei?
- wie willst du eine Kollision simulieren, wenn du nirgends die Geschwindigkeit / den Bewegungsvektor der Kugeln verwendest?
Also bei der normalen

Wenn ich das noch mit DegToRad umziehe ändert sich garnichts
Der Radius durch 2, weil in dem Beispiel, das ich gefunden hatte, der Mittelpunkt dastehen sollte, und Mittelpunkt ist eben (X + Radius/2 | Y + Radius/2).
Zum 3.: Die Kollision selbst funktioniert ja, nur eben der Abprallwinkel stimmt nicht.

Zu der Sache mit der kinetischen Energie:
Nunja, kommt drauf an wie man das berechnet. Momentan hätte ich einfach dazu tendiert, den Multiplikator für die Geschw. des anderen Balls zu setzn. Also Ball A hat 3, Ball B 5, dann hat danach Ball A eben 5 und Ball B 3.

Ich hatte in der Schule (leider) noch keine Trigo, kommt erst dieses Jahr am Ende, von daher kann ich mich nur an anderen Codes orientieren

Den Thread finde ich übrigens grad leider nimmer
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#10

Re: Und nochmal Kollision - Ball zu Ball

  Alt 22. Dez 2005, 11:15
Zitat von Cicaro:
Zitat von Airblader:
Momentan fliegen die Bälle bei Kollision aber einfach nurnoch nach Rechts O_o
Das kann daran liegen, dass der ArcTan nur für Winkel zwischen -Pi und Pi definiert ist, wenn ich mich recht ensinne .
Stimmt.
Zitat:
Da müsstest du eine Fallunterscheidung vornehmen.
Auch richtig. Und genau das macht ArcTan2, das im obigen Code verwendet wird .

@Airblader: Vielleicht solltest du langsam doch ganz auf Vektoren umstellen .

http://www.tobias-nopper.de/BillardG...physik-de.html
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz