Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

04.05.2008, 18:35

Billard Physik

Hey,
ich versuche mich gerade an etwas Kugel/Billard Physik...
Nun hab ich dazu drei ganz gute Papers gefunden, aber eine Frage bleibt mir trotzdem offen.
Wenn ihr euch hier mal bitte die Grafik auf Seite 14 anschauts http://www.sfbilliards.com/shepard_apapp.pdf

Meine Frage ist, wie die Verteilung von translationaler und rotationaler Kraft beim Schuss ist. Ich würde sagen, dass man erst berechnet, wieviel davon in Rotation umgesetzt wird, und die translationale Kraft sich als Differenz errechnet.
also
F(trans) = F(Cue) - F(Rot)

Ein anderer Gedanke, der bei der Grafik aus jenem Paper auftaucht ist, dass der nicht-rotationale Teil der Kraft am Schwerpunkt wirkt (somit in x UND y Richtung).

Welche Annahme stimmt nun? ^^

Gruß!

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

2

04.05.2008, 19:58

Die 2. These verstehe ich nicht ganz. Natürlich wirkt die lineare Kraft immer 2 dimensional und damit idR in x und y Richtung..

Mal so aus dem Bauch heraus und ohne mich näher damit befasst zu haben: Du hast doch eine Kraft und es geht dir darum, herauszufinden, wieviel davon in Rotation und wieviel in Translation umgesetzt wird? Ich würde das einfach danach berechnen wie weit der Kö vom Mittelpunkt der Kugel entfernt ist. Wenn also der Kö Stoß maximal weit vom Mittelpunkt entfernt ansetzt dann hast du nur Rotation, wenn er genau am Mittelpunkt ansetzt hast du nur Translation...

Also
F(trans) = (1 - dist) * F(gesamt)
F(rot) = dist * F(gesamt)

wobei dist zwischen 1 und 0 liegt und angibt, wie weit der Stoß vom Mittelpunkt entfernt ist (1 maximal weit, 0 gar nicht)

Denke das sollte so klappen, ist aber nur eine spontane Idee.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

3

04.05.2008, 21:46

Scho ma was von Drehmoment gehört? r x F = N. Dabei ist x das Kreuzprodukt. Damit bekommt man einen Drehimpuls. Wenn man nur den Winkel zwischen der wirkenden Kraft und dem Radialvoktor r (bzw Radius) hat, kann man auch rechnen |r| * |F| * sin = |N|.
Den anderen Anteil der Kraft kann wohl am besten mit r * F = F_2 berechnen. Das ist dann das Skalarprodukt. Oder wieder alternativ |r| * |F| * cos = |F_2|. Dass es nicht totaler Müll ist kann, man durch den Pytagoras überprüfen:
|F|^2 = |F_2|^2 + |N|^2 = |r|^2 * |F|^2 * (cos^2 + sin^2) = |r|^2 * |F|^2


Obs wirklich stimmt, müsste ich nochmal nachrechnen, also keine Garantien
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

4

04.05.2008, 21:58

Der Physiker hat gesprochen. Da kann ich nat. nicht mithalten ;)

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

5

05.05.2008, 12:20

Also ich würd alles impulsbasiert machen, zumal es sich einfach besser für Simulationszwecke eignet!

Sei x der Normalabstand in vertikaler Richtung vom Kugelmittelpunkt zum Punkt des Impulsübertrags. Sei weiters dp der übertragene Impuls (komme er vom Schläger oder einer anderen Kugel, egal).
Sei p0 der Anfangsimpuls.
Nach:

p = dp + p0
p = m * v

kann man abhängig von der Masse der Kugel die resultierenden Geschwindigkeit infolge des Impulses direkt linear berechnen.
Nun fehlt da nur noch der drehimpuls l. Seil dl die änderung des Drehimpulses verursacht durch den Impuls p.

dl = p * x

Sei l der Gesamtdrehimpuls und l0 der Drehimpuls VOR dem Stoß.

l = l0 + dl

Dann gilt:

l = I * w

wobei I das Trägheitsmoment der Kugel um ihren Schwerpunkt und w die Winkelgeschindigkeit selbiger darstellt.

Nun stellst du einen Stoß als elastisch (mit Elastizitätskoeffizienten e) über einen infinitesimalen Zeitraum dt dar. Nach Poisson wird der Kollisionsimpuls zweier kollidierender Körper so berechnet (ACHTUNG, alles 3er-vectoren)

p' * N = (1 + e) * p * N

wobei N der Normalvektor der Kollision ist, und p der Impuls der benötigt werden würde, um die Relativgeschwindigkeit der beiden Körper im Kontaktpunkt in Normalrichtung zu eliminieren.
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

6

10.05.2008, 10:00

Danke schonmal an euch drei :)
Panther
Für die Änderung des Drehimpulses ist mir die Formel schon klar, und auch,Nox, wie ich den Tangentialteil der Kraft berechne, der dann in Rotation umgewandelt wird. Danke trotzdem, dass ihr die Methodik dazu nochmal aufgezeigt habts.
Tangential wäre also alles klar, aber, und das war meine Frage, was ist mit der Kraft die zum Mittelpunkt geht (radial)? Diese würde dann ja translational wirken, und zwar, in dem Fall, der auf der Abbildung S.14 beschrieben ist, nicht nur in X Richtung, sondern auch nach unten - in Y Richtung.

Was mache ich mit letzterer? Geht sie in Reibung?

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

7

11.05.2008, 10:54

Fn + Ft wird übertragen. Du hast nur dann eine Kraft in y-Richtung, wenn der Kö nicht waagrecht zuschlägt. Aber das kannst du ja als einschränkung in Kauf nehmen. (Würde sonst sehr viel komplizierter werden!)
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

8

11.05.2008, 11:14

Einen Vorschlag für die Radialkraft habe ich angegeben. Ob das so stimmt, weiß ich nicht. Übrigens war das mit dem Pythagoras totaler Müll :badgrin: . Aber ggf. könnte das mit dem r x F = tangential bzw. r * F = radial stimmen. Allerdings kann es auch sein, dass man nur den Winkel betrachten muss um dann zu rechnen:
F_tangential = F * sin => N = r x F_tangential
F_radial = F * cos => a = F_radial / m
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

9

11.05.2008, 19:27

Ft = r x F ist tangential
Fr = r * F ist radial, genauso wie Fr = F - Ft radial ist....
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Werbeanzeige