Zweidimensionaler elastischer Stoß mit Kreisen

Und? Wie würdest Du denn die Bewegung der Kugeln im Programm
eingeben wollen, wenn nicht in Form einer Bewegungsgleichung?

ich habe in meinem Betrag die Bewegungsgleichungen formuliert.
Hier in unserem Disput geht darum, ob eine explizite
Lösung - hier für die Zeit t - gefunden werden kann.
Wenn nicht, geht dies eben nur interativ in Zeitschritten im
Computerprogramm.

Selbstverständlich geht das immer nur zeitdiskret. Oder hast Du einen Analogrechner im Sinn? Aber was willst Du an einer stinknormalen Bewegungsgleichung den iterieren?

Kann es sein, dass Du gar nicht weißt, wovon hier die Rede ist?

Ob man daraus eine explizit lösbare Gleichung des Abstandes
zweier Kreismittelpunkte generieren kann weiß ich jetzt nicht.

Das ist der Abstand zweier Punkte in einer Ebene. Das solltest
Du grad noch hinkriegen, meinst Du nicht?

Du wirst es mir gleich präsentieren.

Nö, das kannst Du selber.

Du kannst das nicht.Der Abstand zweier Punkte in einer Ebene
ist nicht das Problem .

Genau: das ist kein Problem.
Aber: genau das ist hier zu lösen. Was sonst?

Die banale Formel dafür wurde in meiner
Darstellung schon eingebunden.

Na siehste?

Die Suche nach den Koordinaten dieser Punkte ist das Problem.

Wo bitte ist das denn ein Problem? Sag mal, hast Du in Deinem Leben schon mal irgendwas mit einem PC simuliert?

Du blickst offensichtlich nicht durch, kannst nur schlaue
Sprüche.

Lol. Sonst fällt dir nichts ein? Arm…

Simulation ist ja nun nicht gleich Simulation .

Ein Takt ist nun mal keine Fliessende Zeit sondern ein Zeitpunkt.
Liegt der Aufprall nun davor oder dahinter.

Es gibt sehr teuere Echtphysik simulatoren wie weit die echt sind, sag Dir dann der Programmierer vor Ort (oder auch nicht).

In so fern haben beide Recht und beide Diskuttieren um was anderes.
Physikalisch genau berechnen ist aber auch was anderes als ein PC eine simulation geringer genauikeit abzuverlangen.

Hallo,

Simulation ist ja nun nicht gleich Simulation .

Natürlich nicht. Aber wenn Du Dir die Diskussion hier mal ein wenig anschaust, merkst Du ganz schnell, um welche Sorte von Simulation es geht: da möchte ein Hobbyprogrammierer was hübsches basteln. Von absoluter Genauigkeit ist hier nirgends die Rede. Ich wette sogar, dass er noch nie was von ‚ode45‘, Annäherungsverfahren mit Fehlergrenzen o.ä. gehört hat.
Also sollte man auch einfach mal die Kirche im Dorf lassen.
Gruß
loderunner

1 Like

Du kannst das nicht.Der Abstand zweier Punkte in einer Ebene
ist nicht das Problem .

Genau: das ist kein Problem.
Aber: genau das ist hier zu lösen. Was sonst?

dies

Die Suche nach den Koordinaten dieser Punkte ist das Problem.

Wo bitte ist das denn ein Problem?

Du weißt die Lösung (analytisch, das war zuletzt die Frage)nicht.
Ich weiß sie auch (noch) nicht.
Iterativ innerhalb eines Computerprogramms schon - für den der es
kann - Du nicht, das zeigen Deine Einlassungen.
Vielleicht weißt Du auch nicht was iterativ ist.Für Dich aus WIKI :
in der numerischen Mathematik bezeichnet er eine Methode, sich der exakten Lösung eines Rechenproblems schrittweise anzunähern
Hier wird dies erforderlich, wenn die Gleichungen (ich habe alle
erforderlichen im früheren Betrag schon aufgezeigt) nicht explizit
nach t, also der Zeit, aufgelöst werden können.

Sag mal, hast Du in Deinem Leben schon mal irgendwas mit einem PC

simuliert?
Du jedenfalls kaum.Schon die Ausdrucksweise „mit dem PC simuliert“
zeigt Deine völlige Unkenntnis, genau wie diese Einlassung von Dir:
Selbstverständlich geht das immer nur zeitdiskret. Oder hast Du einen Analogrechner im Sinn? Aber was willst Du an einer stinknormalen Bewegungsgleichung den iterieren?

Alles Quatsch.
Du hast hier mit Deinen Antworten garnichts geleistet. Wenn es
konkret wird, drückst Du Dich - wie immer.
Du kannst ja zeigen, ob Du die von mir eingebrachten Gleichungen
explizit nach der Zeit auflösen kannst.
Es war die einzige offene Frage welche ich (noch) hatte und habe.
Deine Antwort: nur unqualifiziertes Palaver.

Hallo!

Hier müssen die „Bewegungsgleichungen“ beider Kugeln
berücksichtigt
werden(Ort(x,y) = Funktion von Zeit)welche unabdingbar sind.

Sie sind sehr wohl abdingbar. Das ist es ja gerade, was eine iterative Simultation von einer analytischen Lösung unterscheidet.

Der PC macht dies nicht allein - Du mußt vorher programmieren.

Ach ja? Das wusste ich nicht. Ich dachte, PCs sind so selbständig, dass sie es ohne Programmierer hinkriegen. (Das war Ironie).

Warum sollen wir dem PC jetzt auch noch die Arbeit abnehmen?

Eben, die Arbeit muß der Programmierer erst mal leisten.
Du weißt nicht wie man das angehen kann und hast auch keine
Antwort dazu gegeben.

Ich weiß es nicht, wie es geht? Woher nimmst Du mir das Recht, das vorzuwerfen?

**Programm Kugelstöße**

_Kommentar: Ich verwende den Dateityp "Vektor". Es handelt sich dabei um ein   
eindimensionales Array von Realzahlen. Der Index kann dabei nur die Werte 1 oder 2   
annehmen._   

Funktion Skalarprodukt(x, y: Vektor): Real
{
 Skalarprodukt := x(1) \* y(1) + x(2) \* y(2)
}

Funktion Betrag (x: Vektor): Real
{
 Betrag := Wurzel(Skalarprodukt(x,x))
}

Funktion Abstand (x, y: Vektor): Real
{
 Abstand := Betrag(y-x)
}


Unterprogramm Stoß (Var x, y, vx, vy: Vektor)

_Kommentar: Beachte, dass die Parameter <u>hier</u> mit Call-by-reference übergeben werden._

Dif,eDiv,vx\_ax, vy\_ax, vx\_tan, vy\_tan: Vektor

_Kommentar: Dif ist der Differenzvektor der übergebenen Parameter x und y.   
Er ist wichtig für die Bestimmung der Richtung, in der sich die Kugeln berühren.   
eDif ist ein Einheitsvektor in Richtung von Dif. Den brauchen wir, um die   
Komponentenzerlegung durchführen zu können.  
vx\_ax und vy\_ax sind die Geschwindigkeitsvektoren in axialer Richtung,   
vx\_tan und vy\_tan in tangentialer Richtung._   

{
 Dif := y - x
 eDif := Dif \* (1/Betrag(Dif))

 vx\_ax := Skalarprodukt(eDif,vx) \* eDif
 vy\_ax := Skalarprodukt(eDif,vy) \* eDif
 vx\_tan := vx - vx\_ax
 vy\_tan := vy - vy\_ax

_Kommentar: Das war die Komponentenzerlegung_ 

 vx := vx\_tan + vy\_ax
 vy := vy\_tan + vx\_ax

_Kommentar: Die tangentialen Komponenten werden beibehalten, die axialen   
Komponenten ausgetauscht._   
}

Hauptprogramm
{
 t := 0
 Eingabe Pos1, Pos2, v1, v2: Vektor
 Eingabe DeltaT,Dauer: Real
 Eingabe Radius: Real

 Wiederhole solange t

Ich habe es mal versucht allgemein verständlich in einer strukturierten Programmiersprache zu schreiben. Einen Programmierer dürfte es nicht vor allzu große Probleme stellen, diesen Pseudo-Code in die Syntax der Programmiersprache seiner Wahl zu übersetzen.

Soviel zu dem Vorwurf, ich könne das nicht programmieren. Übrigens war das eine leichte Fingerübung, die ich ohne Probleme auch auf Stöße mit der Wand oder auf mehrere Kugeln ausdehnen könnte.

Von Deinem Vorschlag, das Ganze halb iterativ, halb analytisch lösen zu wollen, halte ich wenig.

Michael
1 Like

Hallo!

Aufgabe: Bringen Sie die folgenden Wörter in die richtige Reihenfolge:

Woher nimmst Du mir das Recht,
das vorzuwerfen?

Lösung: Woher nimmst Du Dir das Recht, mir das vorzuwerfen.

:wink: Michael

Plonk!

Die Suche nach den Koordinaten dieser Punkte ist das Problem.

Wo bitte ist das denn ein Problem?

Du weißt die Lösung (analytisch, das war zuletzt die
Frage)nicht.

Ich muss sie nicht wissen. Das ist das, was Du nicht zu begreifen scheinst.
Zu Deinen Beleidigungen sage ich jetzt einfach mal nichts, die sprechen eine deutliche Sprache. Sie sagen: du hast genau gar keine Ahnung.

Btw., meine Haupttätigkeit in den letzten Jahren war Simulation auf dem PC.

Hallo Michael,

Hier müssen die „Bewegungsgleichungen“ beider Kugeln
berücksichtigt
werden(Ort(x,y) = Funktion von Zeit)welche unabdingbar sind.

Sie sind sehr wohl abdingbar. Das ist es ja gerade, was eine
iterative Simultation von einer analytischen Lösung
unterscheidet.

ich kann mir das nicht vorstellen.Ich brauche hier beides,
die Bewegungsgleichungen und die iterative Lösung über die
Stückelung der Zeit.
In Deiner Präsentation sind die Bewegungsgleichungen auch enthalten
nur etwas „versteckt“.
Ich muß gestehen, daß mir die Berechnungen über die Skalarprodukte
nicht geläufig sind.Sie verdecken hier nur die geometrischen
Vorstellungen in einem Koordinatensystem.

Du weißt nicht wie man das angehen kann und hast auch keine
Antwort dazu gegeben.

Ich weiß es nicht, wie es geht? Woher nimmst Du Dir das Recht,
mir das vorzuwerfen?

War eigentlich nur provozierend gedacht.Es hatte ja Erfolg und Du
hast Deine Vorstellungen hier präsentiert.
Ich möchte erst nochmals die Grundgleichung(en) der Bewegung hier
aufschreiben - welche unabdingbar sind, ob „versteckt“ oder offen.
Letzteres ist wohl angebracht wenn man wie hier im Forum,jemandem
anschaulich den Weg zu einer Lösung seiner Anfrage präsentieren will
Die Bewegungsgleichung ist wie folgt für alle Mittel-Punkte
x=X+vx*t+ax*t^2/2
y=Y+vy*t+ay*t^2/2
Die Beschleunigung a könnten wir ja weg lassen.Klaus Wernicke hat
sie wohl bei seinem Programm gebraucht.
Du siehst aber, daß es auch richtig ist, vorstellbare Ansätze zu
präsentieren und nicht in komplexen mathematischen Konstrukten
zu verstecken.
Die Abstandsgleichung zweier Punkte
d1,2=sqr((x1-x2)^2+(y1+y2)^2)
Du konntest auch in Deiner Präsentation nicht auf diese Gleichungen
verzichten.
Es ist offensichtlich, daß man die Lösung, für einen vorgegebenen
Abstand, hat wenn man den Zeitpunkt bestimmen kann welche die
Abstandsbedingungen erfüllt.

Wie ein jeder (ich meine hier alle die was davon verstehen, auch
Dich) dies programmiertechnisch realisiert hängt wohl außer von
den Kenntnissen auch von der Erfahrung ab und der bevorzugten
Programmiersprache.
Du hast hier eine Möglichkeit vorgestellt, welche im Prinzip so
machbar ist.
Ich würde hier generell (für viele Objekte unabdingbar) die
relevanten Daten (Eingabedaten, modifiziert) für jedes Objekt
in einem zweidimensionalen Datenfeld ablegen und dort verändern
mit obiger Bewegungsgleichung, etwa in so einem Feld.
…O1…O2…On
0…m…
1…r…
2…ax…
3…ay…
4…vx…
5…vy…
6…X…
7…y…
8…x…
9…y…
10…t…
m,r,ax und ay sind fix,x und y mit jedem Schritt verändert und ihr
Abstand zu jedem Objekt (x,y) errechnet und mit den Sollwerten
verglichen.
Beim Stoß wird X=x und Y=y und vx und vy dann neu berechnet und
x,y und t werden auf 0 gesetzt bei einer Fortsetzung der Bewegung.
Bei vielen Objekte ist diese Vorgehensweise am übersichtlichsten.
Man kann auch , wie Du dies vorgestellt hast,die Position X und Y
laufend mit der Zeit fortschreiben und sich x und y schenken.
Einen Laufzeitgewinn kann ich da aber nicht erkennen. Außerdem
können, je nach Datentyp, bei der Addition von sehr vielen sehr
kleinen Zahlen sich Rundungsfehler addieren wenn der Datentyp nur
begrenzte Genauigkeit aufweist.
Nun das sind so Erfahrungen welche man im Laufe der Zeit macht.
Natürlich wird man, wie Du das gemacht hast, das Programm so
strukturieren mit Hilfe von Funktionen und Prozeduren.
Ansonsten sähe mein Programm ähnlich aus wie Deins.

Übrigens war das eine leichte Fingerübung, die ich ohne
Probleme auch auf Stöße mit der Wand oder auf mehrere Kugeln
ausdehnen könnte.

Ich sehe da schon Probleme bei der Übersicht.

Von Deinem Vorschlag, das Ganze halb iterativ, halb analytisch
lösen zu wollen, halte ich wenig.

Hast Du ja gemacht. Du hast mich wohl falsch verstanden - oder hast
Du nicht auch analytische Berechnungen in Deiner Präsentation ?
Ganz analytisch wäre es, wenn ich auf iterative Schritte verzichten
und den Stoßzeitpunkt explizit errechnen könnte.
Dies geht eben nur wenn sich die Objekte auf der gleichen Achse
bewegen. Oder ? Hast Du eine Ahnung wie ?
Ein User hier behauptet ja es geht. Er rückt nur nicht damit raus.

Gruß VIKTOR

Die Suche nach den Koordinaten dieser Punkte ist das Problem.

Wo bitte ist das denn ein Problem?

Du weißt die Lösung (analytisch, das war zuletzt die
Frage)nicht.

Ich muss sie nicht wissen. Das ist das, was Du nicht zu
begreifen scheinst.

warum hängst Du Dich mit abwertenden Kommentaren überhaupt rein
wenn DU nichts brauchbares bringst und die Frage welche ansteht
nicht beantworten willst oder kannst?

Zu Deinen Beleidigungen sage ich jetzt einfach mal nichts, die
sprechen eine deutliche Sprache.

Es sind keine Beleidigungen sondern Feststellungen aufgrund Deines
Verhaltens.Ich kann nicht feststellen,ob das Unwissenheit von Dir
ist oder nur überhebliche Einlassung ohne Wert.Lies Dir noch mal
Deinen Stuss durch, den Du hier rausgelassen hast.Bist Du so blind,
daß Du garnicht merkst, wie Du Dich darstellst ?

Btw., meine Haupttätigkeit in den letzten Jahren war
Simulation auf dem PC.

Hast Du gespielt oder Programme erstellt ?
Ja - die Frage ist berechtigt aufgrund Deiner Präsentation.

warum hängst Du Dich mit abwertenden Kommentaren überhaupt
rein wenn DU nichts brauchbares bringst und die Frage welche
ansteht nicht beantworten willst oder kannst?

Ich habe die Frage beantwortet. Von dir kam nur unnützes Zeug, weil du gar nicht weißt, wie eine Simulation auf einem PC abläuft.

Und es wird auch nicht besser, je länger du dich hier aufbläst. Lass es einfach, du hast keinerlei Ahnung.

1 Like

Hallo!

Ich muß gestehen, daß mir die Berechnungen über die
Skalarprodukte nicht geläufig sind.

Physik, erstes Semester. (Zum Nachlesen: http://de.wikipedia.org/w/index.php?title=Skalarprod…, insbesondere: http://de.wikipedia.org/w/index.php?title=Skalarprod… )

Vielleicht hilft Dir diese neue Erfahrung (dass es etwas gibt, was Du nicht weißt) ja dabei, zu verstehen, warum Forumsteilnehmer (unter anderem ich) im Physik-Brett auf Deine Postings so reagieren, wie sie es nun mal tun.

Du konntest auch in Deiner Präsentation nicht auf diese
Gleichungen verzichten.

Natürlich konnte ich nicht darauf verzichten, aber es sind nicht die Bewegungsgleichungen. (Es ging darum, ob man die Bewegungsgleichungen für die Lösung des Problems bräuchte).

Die Bewegungsgleichung für ein klassisches Teilchen lautet

F (x,y,t) =m a (Fettdruck = Vektor)

Die Kraft anzugeben ist sehr schwierig, weil es zu jedem Zeitpunkt die Kenntnis der Position und Geschwindigkeit des Stoßpartners voraussetzt. Es ist daher wesentlich einfacher, das ganze numerisch zu simulieren, denn dann braucht man die obige Bewegungsgleichung nicht.

Übrigens war das eine leichte Fingerübung, die ich ohne
Probleme auch auf Stöße mit der Wand oder auf mehrere Kugeln
ausdehnen könnte.

Ich sehe da schon Probleme bei der Übersicht.

Ich nicht.

Von Deinem Vorschlag, das Ganze halb iterativ, halb analytisch
lösen zu wollen, halte ich wenig.

Hast Du ja gemacht. Du hast mich wohl falsch verstanden - oder
hast
Du nicht auch analytische Berechnungen in Deiner Präsentation
?

Nochmal zur Historie dieses Threads. Erst habe ich ein paar Formeln aufgestellt: Unter welcher Bedingung treffen sich die Kugeln? Wie treffen die Kugeln aufeinander? … und habe dann gesagt: Mehr braucht man nicht. Du hast entgegnet, dass man sehr wohl sehr viel mehr bräuchte, und dass ich das eh nicht hinkriegen würde. Daraufhin habe ich ein Programm geschrieben, das nur die Formeln aus dem ersten Posting verwendet und damit den Nachweis erbracht, dass man tatsächlich nicht mehr braucht und keinen zusätzlichen analytischen Aufwand treiben muss.

Also: Haben nun die Formeln, die ich ursprünglich aufgezählt habe, gereicht oder hattest Du mit Deiner Behauptung recht, dass man erheblich mehr bräuchte? (Dass man in einem Programm zur Berechnung von irgendwas nicht völlig ohne Formeln auskommt, ist ja eine Binsenweisheit).

Michael

Korrektur
Korrektur:

Der Differenzvektor ist

c = b - a = (b1 - a1, b2 - a2).

Die Kugeln berühren sich dann und nur dann, wenn

|c| = 2r.

Die Position des Berührpunktes ist a + 0,5 * c.

Die Axialgeschwindigkeit ist v_ax = * c.
Die Tangentialgeschwindigkeit ist v_ta = v - v_ax.

soll hier das Skalarprodukt sein. a, b, c, v, v_ax und
v_ta sind Vektoren.

Beim zweiten Drüberlesen ist mir ein Fehler in der Formel für die Axialgeschwindigkeit aufgefallen. Hier muss der Vektor c normiert werden, bevor er in die Formel eingesetzt wird. richtig müsste es also heißen:

v_ax = * c/|c|

Sorry, Michael

Wie bekomme ich raus, in welche Richtung und wie schnell sich
die beiden Kreise nach der Kollision bewegen?

Da sehe ich prinzipiell zwei Möglichkeiten:

Du berechnest elastische Stöße zwischen starren Kugeln, wie es hier ja schon beschrieben wurde. Dabei müssen drei Erhaltungssätze erfüllt sein, nämlich Impulserhaltung, Energieerhaltung und Drehimpulserhaltung. Das ist das kleinere Problem, zumal sich dafür schon fertige Lösungen finden lassen sollten.
Der eigentliche Programmieraufwand besteht darin, die Zeit bis zur jeweils nächsten Kollision (zwischen zwei Kugeln oder zwischen einer Kugel und einer Wand) zu bestimmen. Wenn man den kennt, muss man nur noch die Positionen aller Kugeln zu diesem Zeitpunkt berechnen und die jeweilige Kollision ausführen. Dabei muss man beachten, dass die Kugeln sich infolge von Rundungsfehlern zu nahe kommen können. Es empfiehlt sich deshalb nach der Berechnung der neuen Geschwindigkeiten zu prüfen, ob sie sich auch wirklich voneinander entfernen.

Eine völlig andere Möglichkeit besteht darin, die Kugeln als Massepunkte aufzufassen zwischen denen anziehende und abstoßende Kräfte wirken. Das geht beispielsweise mit Hilfe des Lennard-Jones-Potentials. Dann sind die Kugeln allerdings nicht starr, sondern elastisch. Der Vorteil besteht darin, dass man sich weder darum kümmern muss, wann und wo die nächste Kollision stattfindet, noch wie sie im Einzelnen abläuft. Bei der numerischen Integration der Bewegungsgleichugnen ergibt sich das alles von selbst.

Ich habe vor längerer Zeit beides ausprobiert, muss aber gestehen, dass ich Mühe habe, aus den Quelltexten schlau zu werden. Notfalls könnte ich mich da aber wieder einlesen.

Hallo,

Ich muß gestehen, daß mir die Berechnungen über die
Skalarprodukte nicht geläufig sind.

Physik, erstes Semester. (Zum Nachlesen:
http://de.wikipedia.org/w/index.php?title=Skalarprod…,
Vielleicht hilft Dir diese neue Erfahrung (dass es etwas gibt,
was Du nicht weißt) ja dabei, zu verstehen, warum
Forumsteilnehmer (unter anderem ich) im Physik-Brett auf Deine
Postings so reagieren, wie sie es nun mal tun.

es ist nicht zu fassen.
Haust hier auf den Putz mit angelerntem „Wissen“, nur um mangelnden
Durchblick zu kaschieren. Du wärst besser sachlich geblieben.Die
Vektoralgebra unter Einbeziehung des Skalarproduktes ist mir
bekannt, aber nicht geläufig, weil ich sie so in der Praxis nicht
angewandt habe (vielleicht mal vor 50 Jahren)
Sie ist zur anschaulichen Darstellung von Bewegung teils ungeeignet
und nicht immer variabel genug.
Hier bei unserer Aufgabenstellung ist sie schon garnicht angebracht.
Wenn bei eine Bewegungsgleichung (ich komm noch darauf)
Erweiterungen eingebracht werden,z.Bsp. wie hier angedacht durch
eine Beschleunigungskomponente, so ist die Darstellung des „Vektors“
durch die zwei Richtungskomponenten in x- bzw. y-Richtung von Anfang
an angebracht wie auch die Ortsangabe des Punktes im kartesischen
Koordinatensystem.
Um eine Zerlegung von Richtungvektoren kommst du sowieso nicht
herum.

Du konntest auch in Deiner Präsentation nicht auf diese
Gleichungen verzichten.

Natürlich konnte ich nicht darauf verzichten, aber es sind
nicht die Bewegungsgleichungen.

Was denn sonst.
Bewegungsgleichung ist nicht nur dies:

F (x,y,t) =m a (Fettdruck = Vektor)

sondern jede analytische Beschreibung der Bewegung eines Punktes
im (Raum) oder der Ebene, ob die Bewegung nun eine Gerade oder
eine Kurve (z.Bsp.Kreis) beschreibt, ob sie mit oder ohne Einfluß
einer Kraft erfolgt oder einen Stoß beschreibt.
Ohne Kraft nennt man das Kinematik.
http://de.wikipedia.org/wiki/Kinematik#Grundgleichungen
Heul nicht gleich wieder auf - klar weißt Du dies.
Umso mehr präsentierst Du mit Deiner Kritik an meiner Bezeichnung
Deine Gegenhaltungswut.
Wem willst Du damit imponieren ? Den Sternchen-Lieferanten ?
Ja, man braucht mir nur gegen halten, je unsinniger desto besser,
um hier Sternchen zu sammeln von den üblichen Verdächtigen.

Die Kraft anzugeben ist sehr schwierig, weil es zu jedem
Zeitpunkt die Kenntnis der Position und Geschwindigkeit des
Stoßpartners voraussetzt.

Dann lassen wir es. Haben wir Beschleunigung, nehmen wir die
einfach dazu.

Es ist daher wesentlich einfacher,
das ganze numerisch zu simulieren, denn dann braucht man die
obige Bewegungsgleichung nicht.

Es ist immer eine (oder mehrere) Gleichung erforderlich um eine
Bewegung zu beschreiben.Auch unser „Problem“ ist vollständig in
Gleichungen beschreibbar.
Die iterative Lösung eines Teilproblems erfolgt ja nur, weil
die Gleichung nicht explizit Lösbar ist, oder dies zu aufwändig
wäre. Mit Simulieren hat das nur insofern zu tun, daß ich Bewegungs-
zustände (Momentaufnahmen) hier mit Sollwerten vergleiche.
Die Beschreibung der Bewegung erfolgt in der Bewegungsgleichung
wo sonst - sag es.
Das hier von Dir in Deinem Programm:
Pos1 := Pos1 + v1*DeltaT
Irgendeine Formel ? Nein, eine Bewegungsgleichung welche die
Bewegung fortschreibt. Daß Du DeltaT (Zeitstückelung) statt
t (Gesamtzeit ab Start) ansetzt ändert garnichts.
Prinzipiell könnte man auch den Weg stückeln.Sinnvoll wäre es
hier nicht.

Ein Vektor gibt nur Richtung und Größe an.Er besagt nicht, was ich
damit will und unter welchen Bedingungen er sich ändert.
(damit Du verstehst was gemeint ist: bei der Flugbahn im Gravitions-
feld ändern sich der Richtung und Geschwindigkeit ständig)

Übrigens war das eine leichte Fingerübung, die ich ohne
Probleme auch auf Stöße mit der Wand oder auf mehrere Kugeln
ausdehnen könnte.

Ich sehe da schon Probleme bei der Übersicht.

Ich nicht.

Fehlt Dir wirklich der Durchblick ?

Von Deinem Vorschlag, das Ganze halb iterativ, halb analytisch
lösen zu wollen, halte ich wenig.

Hast Du ja gemacht. Du hast mich wohl falsch verstanden - oder
hast
Du nicht auch analytische Berechnungen in Deiner Präsentation
?

Nochmal zur Historie dieses Threads. Erst habe ich ein paar
Formeln aufgestellt: Unter welcher Bedingung treffen sich die
Kugeln? Wie treffen die Kugeln aufeinander? … und habe dann
gesagt: Mehr braucht man nicht. Du hast entgegnet, dass man
sehr wohl sehr viel mehr bräuchte

Ja, mit dem Hinweis auf die Vorgaben der Anfrage.Ich habe diese
aufgeführt.

Also: Haben nun die Formeln, die ich ursprünglich aufgezählt
habe, gereicht oder hattest Du mit Deiner Behauptung recht,
dass man erheblich mehr bräuchte?

Erheblich ?
Man braucht zur Lösung der Aufgabe (nicht des rechtw.Stoßes)
die erweiterte Beschreibung der Bewegung.

Dass man in einem Programm
zur Berechnung von irgendwas nicht völlig ohne Formeln
auskommt, ist ja eine Binsenweisheit

Ja,aber Du mußt dagegen halten.
Was sind das hier für Formeln ? …eben.
Gruß VIKTOR

Hallo!

Die
Vektoralgebra unter Einbeziehung des Skalarproduktes ist mir
bekannt, aber nicht geläufig, weil ich sie so in der Praxis
nicht
angewandt habe (vielleicht mal vor 50 Jahren)
Sie ist zur anschaulichen Darstellung von Bewegung teils
ungeeignet
und nicht immer variabel genug.

Ich kenne nichts variableres. Sie kommt ohne Fallunterscheidungen und ohne Winkelfunktionen aus. Insofern ist sie einfacher und anschaulicher als alles andere, was es gibt.

Und - das ist der Hauptpunkt: Sie stellt eine Lösung für das Problem dar. Du hast noch keine eigenständige Lösung vorgestellt. That’s it.

Hier bei unserer Aufgabenstellung ist sie schon garnicht
angebracht.

Warum nicht?

Wenn bei eine Bewegungsgleichung (ich komm noch darauf)
Erweiterungen eingebracht werden,z.Bsp. wie hier angedacht
durch
eine Beschleunigungskomponente, so ist die Darstellung des
„Vektors“
durch die zwei Richtungskomponenten in x- bzw. y-Richtung von
Anfang
an angebracht wie auch die Ortsangabe des Punktes im
kartesischen
Koordinatensystem.

Natürlich ging ich davon aus, dass die Vektoren in kartesischer Komponentenschreibweise dargestellt werden. Oder wie hast Du die Programmzeile

Skalarprodukt := x(1)\*y(1) + x(2)\*y(2)

verstanden?

Du konntest auch in Deiner Präsentation nicht auf diese
Gleichungen verzichten.

Natürlich konnte ich nicht darauf verzichten, aber es sind
nicht die Bewegungsgleichungen.

Was denn sonst.
Bewegungsgleichung ist nicht nur dies:

F (x,y,t) =m a (Fettdruck = Vektor)

sondern jede analytische Beschreibung der Bewegung eines
Punktes
im (Raum) oder der Ebene, ob die Bewegung nun eine Gerade oder
eine Kurve (z.Bsp.Kreis) beschreibt, ob sie mit oder ohne
Einfluß
einer Kraft erfolgt oder einen Stoß beschreibt.

Das ist Deine private, aber keinesfalls die allgemein anerkannte Definition.

http://de.wikipedia.org/wiki/Kinematik#Grundgleichungen

Wo genau in diesem von Dir verlinkten Text steht das Wort „Bewegungsgleichung“?

Oder anders: Wo genau steht im Artikel zu den Bewegungsgleichungen das, was Du darunter verstehst?

http://de.wikipedia.org/wiki/Bewegungsgleichung

Die Bewegungsgleichung eines Massenpunktes ist eine Differenzialgleichung. Was Du unter „Bewegungsgleichung“ verstehst, ist lediglich die Definition der Geschwindigkeit. Die muss ich natürlich verwenden, das habe ich nie bestritten. Aber ich muss keine Differenzialgleichungen lösen, um das Problem simulieren zu können.

Ich kann nichts dafür, wenn Du die Fachbegriffe falsch verwendest und dann missverstanden wirst.

Und um mal nicht nur auf Konfrontationskurs zu fahren:

Ich schreibe:

Die Kraft anzugeben ist sehr schwierig, weil es zu jedem
Zeitpunkt die Kenntnis der Position und Geschwindigkeit des
Stoßpartners voraussetzt.
Es ist daher wesentlich einfacher,
das ganze numerisch zu simulieren, denn dann braucht man die
obige Bewegungsgleichung nicht.

Du schreibst:

Die iterative Lösung eines Teilproblems erfolgt ja nur, weil
die Gleichung nicht explizit Lösbar ist, oder dies zu
aufwändig
wäre.

In diesem wesentlichen Punkt scheinen wir uns also einig zu sein.

Das hier von Dir in Deinem Programm:
Pos1 := Pos1 + v1*DeltaT
Irgendeine Formel ? Nein, eine Bewegungsgleichung welche die
Bewegung fortschreibt. Daß Du DeltaT (Zeitstückelung) statt
t (Gesamtzeit ab Start) ansetzt ändert garnichts.

*räusper* … Dass da ein Zeitinervall DeltaT steht statt der fortlaufenden Zeit t ist der wahre Unterschied zwischen einer numerischen Simulation und einer analytischen Lösung. Wenn Du sagst, es würde gar nichts ändern, dann ist Dir der Unterschied der beiden Lösungsstrategien überhaupt nicht bewusst. Man kann jede Bewegung so simulieren, wie ich es beschrieben habe (Statt der Prozedur „Stoß“ würde halt ein anderes Unterprogramm die Krafteinwirkung simulieren). Die analytische Lösung sieht jedoch nur für den Spezialfall der gleichförmigen Bewegung formal gleich aus. Bei jeder anderen Bewegung gibt es keine Ähnlichkeit mehr.

Ein Vektor gibt nur Richtung und Größe an.Er besagt nicht, was
ich
damit will und unter welchen Bedingungen er sich ändert.
(damit Du verstehst was gemeint ist: bei der Flugbahn im
Gravitions-
feld ändern sich der Richtung und Geschwindigkeit ständig)

Für diesen Fall musst Du nur die Programmzeilen

v1(2) = v1(2) - g\*DeltaT
v2(2) = v2(2) - g\*DeltaT

an der passenden Stelle einfügen. Am restlichen Programm ändert sich überhaupt rein gar nichts und sofort sind alle komplizierten Bewegungen (schiefe, waagrechte und senkrechte Würfe) komplett enthalten.

Ich sehe da schon Probleme bei der Übersicht.

Ich nicht.

Fehlt Dir wirklich der Durchblick ?

Ähm … nur zur Logik: Wenn zwei sich unterhalten. Der eine klagt er habe Probleme mit der Übersicht und der andere meint, er habe diese Probleme nicht. Wem fehlt dann der Durchblick?

Also: Haben nun die Formeln, die ich ursprünglich aufgezählt
habe, gereicht oder hattest Du mit Deiner Behauptung recht,
dass man erheblich mehr bräuchte?

Erheblich ?
Man braucht zur Lösung der Aufgabe (nicht des rechtw.Stoßes)
die erweiterte Beschreibung der Bewegung.

Ich habe doch gezeigt, dass man keine „erweiterte Beschreibung“ der Bewegung braucht. Du kannst es gerne weiter behaupten, aber es ist schlicht falsch. (Meine Lösung ist keinesfalls auf den rechtwinkligen Stoß beschränkt).

Michael

PS: Deine persönlichen Bemerkungen ließ ich bewusst unkommentiert. Nur so viel: Derjenige von uns beiden, der zuerst persönlich wurde, warst Du.

1 Like

Hallo,

Die
Vektoralgebra unter Einbeziehung des Skalarproduktes ist mir
bekannt, aber nicht geläufig, weil ich sie so in der Praxis
nicht
angewandt habe (vielleicht mal vor 50 Jahren)
Sie ist zur anschaulichen Darstellung von Bewegung teils
ungeeignet
und nicht immer variabel genug.

Ich kenne nichts variableres. Sie kommt ohne
Fallunterscheidungen und ohne Winkelfunktionen aus. Insofern
ist sie einfacher und anschaulicher als alles andere, was es
gibt.

die von mir beschriebene Lösung braucht auch keine Winkelfunktionen.
(außer bei der Stoßberechnung)

Und - das ist der Hauptpunkt: Sie stellt eine Lösung für das
Problem dar. Du hast noch keine eigenständige Lösung
vorgestellt. That’s it.

Doch, ich habe nur keinen Code dazu aufgeschrieben.Er ist ja ähnlich
Deinem, ebenso die Programmstruktur.

sondern jede analytische Beschreibung der Bewegung eines
Punktes

Das ist Deine private, aber keinesfalls die allgemein
anerkannte Definition.

Nein.Die Bewegungsgleichung ist nicht nur die Grundgleichung, also
die Ableitung von v und a aus der Bahnkurve.
Benenne mir dann doch die oben definierte Gleichungsbeschreibung ?

http://de.wikipedia.org/wiki/Kinematik#Grundgleichungen

Wo genau in diesem von Dir verlinkten Text steht das Wort
„Bewegungsgleichung“?

Es geht hier nicht um das Wort.
Am Anfang steht:
_Die Kinematik (gr.: kinema, Bewegung) ist die Lehre der Bewegung von Punkten und Körpern im Raum, beschrieben durch die Größen Weg s (Änderung der Ortskoordinate), Geschwindigkeit v und Beschleunigung a, ohne die Ursachen der Bewegung (Kräfte) zu betrachten.

_

Wenn eine Gleichung s,v und a im Raum beschreibt, dann beschreibt
sie eine Bewegung - was sonst.Da ist es egal, ob sie dies nur in einem interativen Schritt tut oder über eine größere Zeitspanne.

Ich kann nichts dafür, wenn Du die Fachbegriffe falsch
verwendest und dann missverstanden wirst.

Wo steht, daß eine Bewegungsgleichung nur die Grundgleichung darstellt ?

Du schreibst:

Die iterative Lösung eines Teilproblems erfolgt ja nur, weil
die Gleichung nicht explizit Lösbar ist, oder dies zu
aufwändig
wäre.

In diesem wesentlichen Punkt scheinen wir uns also einig zu
sein.

Das hier von Dir in Deinem Programm:
Pos1 := Pos1 + v1*DeltaT
Irgendeine Formel ? Nein, eine Bewegungsgleichung welche die
Bewegung fortschreibt. Daß Du DeltaT (Zeitstückelung) statt
t (Gesamtzeit ab Start) ansetzt ändert garnichts.

*räusper* … Dass da ein Zeitinervall DeltaT steht statt der
fortlaufenden Zeit t ist der wahre Unterschied zwischen einer
numerischen Simulation und einer analytischen Lösung.

Genau

Wenn Du
sagst, es würde gar nichts ändern, dann ist Dir der
Unterschied der beiden Lösungsstrategien überhaupt nicht
bewusst.

Die von mir verwendeten Bewegungsgleichungen nochmal:
Die Bewegungsgleichung ist wie folgt für alle Mittel-Punkte
x=X+vx*t+ax*t^2/2
y=Y+vy*t+ay*t^2/2
Was ändert dies zu Deiner Berechnung ?
t wird natürlich wie bei Dir in der „Schleife“ t=t+d_t
fortgeschrieben.Der Berechnungsgang ist hier nur weniger anfällig
für Additionsfehler aus Rundung - ich habe dies in meinem früheren
Beitrag schon erläutert.Außerdem ist die Einbindung der
Beschleunigung einfach.

v1(2) = v1(2) - g*DeltaT
v2(2) = v2(2) - g*DeltaT

Vorstehendes von Dir hier geht auch,ist aber eventuell anfällig
für die Aufsummierung von Additionsfehlern.
Genau genommen ist im Intervallbereich zu Fortschreibung x oder y
die mittlere Geschwindigkeit aus g*DeltaT einzusetzten.Der Fehler
ist aber nur einmal präsent und gleicht sich sonst aus.
Außerdem mußt Du v ständig fortschreiben.Ich brauche v nur bei der
Stoßposition einmal neu berechnen.Andererseits kann die
Fortschreibung von v bei anderen Aufgaben auch von Vorteil sein.
Ich würde v=v+a*d_t auch als „Bewegungsgleichung“ einstufen.
Was beschreibe ich damit sonst mit dieser Formel?
Gib einfach mal bei Google „Bewegungsgleichung aufstellen“ ein.
Über 10000 Treffer.
Nur wegen dem von Dir oben:

Das ist Deine private, aber keinesfalls die allgemein
anerkannte Definition.

Gruß VIKTOR

Morgen!

Und - das ist der Hauptpunkt: Sie stellt eine Lösung für das
Problem dar. Du hast noch keine eigenständige Lösung
vorgestellt. That’s it.

Doch, ich habe nur keinen Code dazu aufgeschrieben.Er ist ja
ähnlich
Deinem, ebenso die Programmstruktur.

Vielleicht habe ich es ja übersehen, aber wo genau in Deiner „Lösung“ finde ich die Auswirkung des Zusammenstoßes? Darum ging es ja …

sondern jede analytische Beschreibung der Bewegung eines
Punktes

Das ist Deine private, aber keinesfalls die allgemein
anerkannte Definition.

Nein.Die Bewegungsgleichung ist nicht nur die Grundgleichung,
also
die Ableitung von v und a aus der Bahnkurve.
Benenne mir dann doch die oben definierte
Gleichungsbeschreibung ?

Die Gleichungen, die Du meinst, heißen Weg-Zeit-Gesetz und Geschwindigkeits-Zeit-Gesetz.

Es geht hier nicht um das Wort.

Doch, es geht um ein Wort! Wenn Du behauptest, man bräuchte die Bewegungsgleichungen und ich sage, man bräuchte sie nicht, dann liegt es daran, dass wir unter dem Wort „Bewegungsgleichung“ verschiedene Dinge verstehen. Ich habe versucht das zu klären. Aber Dein (Entschuldigung) Dickkopf verbietet es Dir, einfach zu sagen: „Ja, stimmt, ich habe den falschen Begriff verwendet. Gemeint habe ich …“

Ich kann nichts dafür, wenn Du die Fachbegriffe falsch
verwendest und dann missverstanden wirst.

Wo steht, daß eine Bewegungsgleichung nur die Grundgleichung
darstellt ?

Viktor, das ist jetzt echt lächerlich. Du hast keinen einzigen belastbaren Beleg dafür, dass Deine Verwendung des Begriffs „Bewegungsgleichung“ richtig ist. Was soll das also?

Wenn Du
sagst, es würde gar nichts ändern, dann ist Dir der
Unterschied der beiden Lösungsstrategien überhaupt nicht
bewusst.

Die von mir verwendeten Bewegungsgleichungen nochmal:
Die Bewegungsgleichung ist wie folgt für alle Mittel-Punkte
x=X+vx*t+ax*t^2/2
y=Y+vy*t+ay*t^2/2
Was ändert dies zu Deiner Berechnung ?
t wird natürlich wie bei Dir in der „Schleife“ t=t+d_t
fortgeschrieben.Der Berechnungsgang ist hier nur weniger
anfällig
für Additionsfehler aus Rundung - ich habe dies in meinem
früheren
Beitrag schon erläutert.

Was die Genauigkeit anbetrifft hast Du vollkommen recht: Das ist der große Nachteil von Schritt-für-Schritt-Simulationen. Man versucht die Genauigkeit dadurch zu erhöhen, dass man das Zeitintervall DeltaT immer kleiner macht. Dadurch wird das Problem als solches aber nicht beseitigt.

Ihr großer Vorteil ist aber der, dass man die Bewegung beschreiben kann, selbst wenn man die Gleichung für den Ort in Abhängigkeit von der Zeit in ihrer expliziten Form gar nicht kennt. Dass Du also die Bewegungen mit den beiden Gleichungen weiter oben angeben kannst, liegt nur daran, dass sich die Kugeln gleichförmig bewegen und dass Du das weißt. In jedem anderen Fall ginge das nicht.

Gib einfach mal bei Google „Bewegungsgleichung aufstellen“
ein.
Über 10000 Treffer.
Nur wegen dem von Dir oben:

Das ist Deine private, aber keinesfalls die allgemein
anerkannte Definition.

Dann schau mal nach, was bei diesen 10.000 Treffern so geschrieben wird! Ich schließe nicht aus, dass es Menschen gibt, die den gleichen Fehler machen wie Du, aber diejenigen, die sich damit auskennen, verstehen unter einer Bewegungsgleichung F = ma (bzw. diese Gleichung für ein konkretes Problem umformuliert).

Aber ist ja auch egal, wie wir das Kind nennen: Die Gleichungen, die ich ursprünglich aufgestellt habe sind (in Verbindung mit dem Posting von IGnow) vollkommen ausreichend für die numerische Lösung des Problems - und damit ist dieser Einwurf von Dir:

Das war schon alles, was man braucht.

Schön wär’s.

fehl am Platze. Darum ging’s, um nichts anderes. Also entweder gibst Du zu, dass Du Dich geirrt hast und die Gleichungen sind tatsächlich ausreichend, oder Du lieferst endlich den Beweis, dass man das Problem mit den von mir formulierten Gleichungen nicht lösen kann. Alles andere sind Nebenkriegsschauplätze.

Frohe Weihnachten,
Michael

Hallo,

Und - das ist der Hauptpunkt: Sie stellt eine Lösung für das
Problem dar. Du hast noch keine eigenständige Lösung
vorgestellt. That’s it.

Doch, ich habe nur keinen Code dazu aufgeschrieben.Er ist ja
ähnlich
Deinem, ebenso die Programmstruktur.

Vielleicht habe ich es ja übersehen, aber wo genau in Deiner
„Lösung“ finde ich die Auswirkung des Zusammenstoßes? Darum
ging es ja …

nein, es ging um die Stoßposition - bei uns.
(wo es beim Fragesteller genau gehakt hat ist unbekannt)
Die Auswirkungen des Stoßes in achsialer Richtung, die
Zusammensetzung mit den „tangentialen“ Geschwindigkeiten und die
Neubestimmung der Richtungsvektoren der Objekte sind Standard-
berechnungen.Die brauchen ich hier programmiertechnisch wohl nicht
vorstellen.Wenn Du Hilfe brauchst kann ich mich ja darauf einlassen.

sondern jede analytische Beschreibung der Bewegung eines
Punktes

Das ist Deine private, aber keinesfalls die allgemein
anerkannte Definition.

Nein.Die Bewegungsgleichung ist nicht nur die Grundgleichung,
also
die Ableitung von v und a aus der Bahnkurve.
Benenne mir dann doch die oben definierte
Gleichungsbeschreibung ?

Die Gleichungen, die Du meinst, heißen Weg-Zeit-Gesetz und
Geschwindigkeits-Zeit-Gesetz.

Und wenn es Dir nicht passt - es sind Gleichungen welche den Weg,
beschreiben, es sind keine „Gesetze“.
Jeder versteht diesen Oberbegriff. Nur Du willst hier wieder ein
Problem daraus machen.Wenn Du dies nicht gleich verstanden hast war
es Dein - und nur Dein - Problem. Das willst Du hier mit auftrumpfen
kaschieren .Glaubst Du wirklich Du kannst mich damit beeindrucken ?
Alle anderen, welche genauso damit umgehen wie ich, sind natürlich
Idioten, weil sie angebliche den „wissenschaftlichen“ Terminus
nicht kennen - den es garnicht gibt.
Du hast mir jedenfalls nicht gesagt, wo dies verbindlich stehen
soll, es gibt ihn nicht.

Es geht hier nicht um das Wort.

Doch, es geht um ein Wort! Wenn Du behauptest, man bräuchte
die Bewegungsgleichungen und ich sage, man bräuchte sie nicht,
dann liegt es daran, dass wir unter dem Wort
„Bewegungsgleichung“ verschiedene Dinge verstehen.

Das ist Deine Privatsache.Andere wissen sofort was darunter zu
verstehen ist - genau meine Definition. Es ist einfach die
Deutsche Sprache.

Ich habe
versucht das zu klären. Aber Dein (Entschuldigung) Dickkopf
verbietet es Dir, einfach zu sagen: „Ja, stimmt, ich habe den
falschen Begriff verwendet. Gemeint habe ich …“

Ich kann nichts dafür, wenn Du die Fachbegriffe falsch
verwendest und dann missverstanden wirst.

Wo steht, daß eine Bewegungsgleichung nur die Grundgleichung
darstellt ?

Viktor, das ist jetzt echt lächerlich. Du hast keinen einzigen
belastbaren Beleg dafür, dass Deine Verwendung des Begriffs
„Bewegungsgleichung“ richtig ist. Was soll das also?

Du hast keine Beleg für Deinen Standpunkt.

Wenn Du
sagst, es würde gar nichts ändern, dann ist Dir der
Unterschied der beiden Lösungsstrategien überhaupt nicht
bewusst.

Die von mir verwendeten Bewegungsgleichungen nochmal:
Die Bewegungsgleichung ist wie folgt für alle Mittel-Punkte
x=X+vx*t+ax*t^2/2
y=Y+vy*t+ay*t^2/2
Was ändert dies zu Deiner Berechnung ?
t wird natürlich wie bei Dir in der „Schleife“ t=t+d_t
fortgeschrieben.Der Berechnungsgang ist hier nur weniger
anfällig
für Additionsfehler aus Rundung - ich habe dies in meinem
früheren
Beitrag schon erläutert.

Was die Genauigkeit anbetrifft hast Du vollkommen recht: Das
ist der große Nachteil von Schritt-für-Schritt-Simulationen.
Man versucht die Genauigkeit dadurch zu erhöhen, dass man das
Zeitintervall DeltaT immer kleiner macht. Dadurch wird das
Problem als solches aber nicht beseitigt.

Man kann es aber verringern. Mein Vorgehen tut dies schon mal
vorab. Ich wurde schon öfter mit solchen Problemen konfrontiert.
Vor allem wenn man Vergleiche durchführen muß, welche haargenau
gleich sein müssen.Es gibt programmiertechnische Trixs um solche
Probleme anzugehen - doch dies ist ja nicht unser Thema.

Ihr großer Vorteil ist aber der, dass man die Bewegung
beschreiben kann, selbst wenn man die Gleichung für den Ort in
Abhängigkeit von der Zeit in ihrer expliziten Form gar nicht
kennt.

Das stimmt nicht. Hast noch nicht begriffen, daß prinzipiell
die Berechnung mit der Bewegungsformel die gleiche ist ob die
Distanz nun groß ist oder eine kleine „differentiale“ Größe hat ?
Unser Vorgehen hier ist nur ein Hilfsmittel, weil wir uns nicht
anders helfen können.

Dass Du also die Bewegungen mit den beiden Gleichungen
weiter oben angeben kannst, liegt nur daran, dass sich die
Kugeln gleichförmig bewegen…

Brauchen sie nicht, Beschleunigung ist eingearbeitet - bist Du blind
oder schaust Dir dies nicht genau an ?
Unsere Aufgabe hier ist nur eine „Gleichzeitigkeitsproblem“ -
zur gleicher Zeit am gleichen (unbekannten) Ort.

Gib einfach mal bei Google „Bewegungsgleichung aufstellen“
ein.
Über 10000 Treffer.
Nur wegen dem von Dir oben:

Das ist Deine private, aber keinesfalls die allgemein
anerkannte Definition.

Dann schau mal nach, was bei diesen 10.000 Treffern so
geschrieben wird! Ich schließe nicht aus, dass es Menschen
gibt, die den gleichen Fehler machen wie Du, aber diejenigen,
die sich damit auskennen, verstehen unter einer
Bewegungsgleichung F = ma (bzw. diese Gleichung für ein
konkretes Problem umformuliert).

Nein Deine Formel ist hier grundsätzlich falsch. Wir haben es hier
mit kinematischen Formeln zu tun und nicht mit dynamischen,
obwohl ich bei der Einbeziehung der Beschleunigung in der Kinematik
auch eine Kraftwirkung sehe, eine formale Trennung also nicht
brauche - natürlich meine Privatansicht.
Auch die Umformulierung oder Erweiterung Deiner dynamischen
Grundgleichung ergibt weitere Bewegungsgleichungen.
Deine Haarspalterei, welche jeder „wissenschaftlichen“ Grundlage
entbehrt ist richtig lächerlich.

Aber ist ja auch egal, wie wir das Kind nennen

Ja, Du bist doch in die für Dich peinliche Diskussion eingestiegen.

Die
Gleichungen, die ich ursprünglich aufgestellt habe sind (in
Verbindung mit dem Posting von IGnow) vollkommen ausreichend
für die numerische Lösung des Problems

Ich will mich nicht wiederholen. Ich habe schon ausgesagt was an
Deiner Präsentation unvollständig war.

Ebenfalls frohe Weihnachten
Gruß VIKTOR

(wo es beim Fragesteller genau gehakt hat ist unbekannt)

Es geht mir darum:

Ich möchte etwas programmieren, man kann es sich vorstellen wie beim Billard. Eine Kugel rollt auf eine andere Kugel, beide Kugeln bewegen sich. Jede Kugel hat eine Position (x und y), eine bestimmte Geschwindigkeit und einen Winkel, in welchem sie rollt, zum Beispiel könnte Kugel 1 folgende Werte haben:

x:100, //Position
y:100, //Position
angle: 90, //90° Rollrichtung, also hier nach unten. 0° wäre rechts
speed: 1.5 //Pro Funktionsaufruf wird die Kugel um 1,5 Pixel bewegt

Jede Kugel ist auch noch gleich groß und hat die gleiche Masse wie die anderen.

Es gibt also eine Funktion, die zum Beispiel alle 20ms aufgerufen wird. Diese Funktion verschiebt jeweils die Kugeln und prüft danach, ob es eine Kollision zwischen zwei Kugeln gibt. Das zu überprüfen ist kein Problem (wenn Distanz der Mittelpunkte kleiner oder gleich radius*2). Wenn dies der Fall ist, dann sollen jeweils die Geschwindigkeiten und Winkel dieser beiden Kugeln entsprechen geändert werden.

Ich brauche also nur Formeln dafür, in welchem Winkel die Kugeln nach der Kollision rollen und wie schnell sie jeweils sind.

Ich hoffe, ich habe es verständlich ausgedrückt.

David

Hallo,

Vorschlag: Einfach anfangen und dann Schritt für Schritt die schwierigeren Sachen angehen. Das einfachste Problem dieser Art ist die Simulation einer einzigen Kugel in einem Gravitationsfeld (Feld natürlich homogen und zeitlich konstant, keine Reibung, Kugel mit konstanter Masse). Bekommst Du das hin? Sobald Du mit der Kugel schöne schiefe Würfe produzieren kannst, versuche die Reflexion an einer vertikalen Wand zu programmieren, anschließend die an einer horizontalen Wand. Danach bereitet es Dir keine Mühe, die Kugel in einen rechteckigen Kasten einzusperren. Wie sie darin umherhüpft ist dann auch schon ganz hübsch anzuschauen.

Die nächste Aufgabe ist etwas anspruchsvoller: Reflexion der Kugel an einer schrägen Wand. Das ist eine prima Vorübung für die Kollision zweier Kugeln untereinander. Nachdem das funzt, erweitere das Programm auf zwei oder drei Kugeln (die sich erstmal ungestört durchdringen dürfen). Das ist im Grund trivial. Danach bist Du für das Problem der Inter-Kugel-Kollision bereit. Du wirst sehen, dass das mit dem bei der Reflexion an einer schrägen Wand gewonnene Know-How dann gar nicht mal so wild ist.

Gruß
Martin