Physiker gefragt: Wie verhält sich ein Rechteck?

Jochen 11

assimiliert
Hi,
Sorry für den komischen Titel erstmal, aber ich weiß gar nicht wie ich es beschreiben soll.
Ich möchte ein Spiel programmieren bei dem Karten auf dem Tisch liegen, die karten soll man dann mit der Maus per Drag n Drob herumschieben können.
Cool wäre es jetzt noch, wenn ich das so hinbekommen würde, dass die Karten sich entsprechend drehen oder halt auch nicht, je nachdem wie und wo man die Karte anfasst und wie man den Mauszeiger bewegt.
Is es möglich, das halbwegs realistisch mit Formeln abzudecken, oder muss ich dafür eine richtige Physikengine Programmieren?
 
Schwerpunkt ist trivial, der liegt bei Rechteck-förmigen Karten genau im Kreuzungspunkt der Diagonalen.

Interesssanter sind die Hebelgesetze. Du müsstest die Geschwindigkeit und den "Angriffspunkt" beim Austeilen der Karten erfassen. Wenn der Angriffspunkt auf der Linie durch den Start- und Endruheschwerpunkt der Karte liegt, fliegt die Karte ohne Drehung, je weiter er davon weg ist, desto schneller und länger dreht sie sich - das war jetzt ganz grob vereinfacht, das soll hier schließlich keine physikalisch korrekte Simulation werden, sondern nur ein optisches Gimmick, oder?

Wenn man es ganz genau machen will, braucht man allerdings Flächenintegrale und Differentialgleichungen und müsste noch festlegen, wie stark der Druck und wie groß die Fläche der "fassenden" Finger ist, ob die Karte horizontal gehalten wird etc. pp. ...

Die Gleitreibung könnte man durch eine steige Funktion simulieren, da würde ich mir nicht so die großen Gedanken machen, kann natürlich sein, dass ich es gerade zu stark vereinfache ...
 
Es sind genau 2 ansetzende Kräfte: Gleitreibung, wirkt dem Finger entgegen und
die Kraft am Finger selbst. Die Schwerpunktberechnung, gut, nicht optimal ausgedrückt,
der Schwerpunkt ist ja gegeben. Wenn man dann den Finger ansetzt und zieht, folgt
der Schwerpunkt in Abhängigkeit der Gleitreibung (siehe oben: 2 Kräfte).
 
Es sind genau 2 ansetzende Kräfte: Gleitreibung, wirkt dem Finger entgegen und
die Kraft am Finger selbst.
Die man proportional zur Geschwindigkeit der Mausbewegung annehmen könnte :)

Da die Verzögerung durch die Gleitreibung auch abhängig von der Geschwindigkeit wäre und man die Gleitreibung selbst als konstant annehmen könnte, sollten die beiden halbwegs zusammenkürz- und vereinfachbar sein ...

OK, dann kommt man dem Planziel schon etwas näher: Als erstes muss Startpunkt, Geschwindigkeit und Richtung der Mausbewegung ermittelt werden, danach kann man sich um die "Karten" kümmern ...
 
Ich würd' mal versuchen eine Kraft an der Position wirken zu lassen und daraus per F=ma bzw. der entsprechenden Gleichung für die Momente und Winkelbeschleunigung eine Bewegung abzuleiten. Reibung würde ich erstmal als einfache Dämpfung der Bewegung einbauen. Aber vielleicht erstmal - soll's den echt physikalisch werden, oder einfach etwas netteres Drag&Drop - also, willst Du die Karten durch die Gegend werfen können, oder sollen die sich einfach beim Drag&Drop noch etwas drehen?
 
werfen ist erstmal 2. erstmal möchte ich nur, dass beim Drag&Drop die Karten darauf reagieren WO man sie anfässt. Dass alles auch in 2D, also eigentlich hoffte ich, dass das nicht so komplex wird. Es muss auch nicht 100% realistisch sein, Hauptsache es läuft flüssig und macht Spass.
Also was ich jetzt schon habe: Wenn man die karte irgendwo anfasst und zieht, dann dreht sie sich so, dass der Mittelpunkt/Schwerpunkt möglichst weit weg vom Anfasspunkt ist, also entgegengesetzt der Zugrichtung strebt. Allerdings müsste da jetzt noch eine gewisse Trägheit mit rein. Und dann müsste man das ganze in Koordinatensystemfähige Formel(n) transformieren.

mh... vielleicht sollte ich einfach anfangen mit Programmieren und mich mit try&error so weit vorarbeiten, bis es nach was aussieht...
 
Oben