2017-04-15 4 views
0

Ich versuche herauszufinden, wie man richtig auf einem Körper mit einem Massenmittelpunkt body.applytorque(float torque, boolean wake) Methode verwenden, um seine Winkelgeschwindigkeit zu beschleunigen. Ich möchte eine Winkelbeschleunigung in Grad pro Quadratsekunde anwenden.
Gemäß dem Dokument libGDX verwendet torque Parameter Newton-Meter. So legen Sie es, werde ich die Formel:Verwenden Sie applyTorque() in Grad/sec² - Box2D

= I α 
where :torque[N-m], I:mass moment of inertia, α:acceleration 

auf den Körper:

// java 
float acceleration = 120f; // deg/s² 
float inertia = body.getInertia(); 
body.applyTorque(inertia * (float)Math.toRadians(acceleration), true); 

aber dies führt zu falschen Beschleunigung, die gleiche Sache mit der Masse.

Was ist die richtige Verwendung dieser Methode in Grad/s²?

+0

Grad pro Sekunde ist eine Winkelgeschwindigkeit, keine Winkelkraft (Drehmoment). Versuchen Sie, die Masse mit konstanter Winkelgeschwindigkeit rotieren zu lassen? Wie schnell willst du es auf diese Winkelgeschwindigkeit beschleunigen? –

+0

@DavidJeske [editiert: "in Grad pro Quadratsekunde"] Die Masse sollte sich mit konstanter Beschleunigung drehen. Die Rate beträgt 120deg/s². (Es ist keine endgültige konstante Winkelgeschwindigkeit erforderlich). – Dave

+0

Bitte klären Sie, was Sie zu lösen versuchen. Versuchen Sie, den Körper zu drehen, indem Sie ihn drehen, um eine neue Winkelposition zu haben? Oder versuchen Sie, die Rotationsgeschwindigkeit des Körpers zu ändern? Dein Titel schlägt mir Letzteres vor, während dein erster Satz Ersteres nahelegt. –

Antwort

0

Auflösung: Das Problem kam aus dem UI-Welt-Editor ich war mit - Overlap2D.

Korrektur: Multiplizieren Sie das Drehmoment mit 2 im Anzugsdrehmoment (...).

Die Methode, die ich erwähnt habe, wurde korrekt in meinem obigen Beispiel verwendet, und so war die Formel.
Mit der Overlap2D-Software kann ich alle gewünschten Körper in eine Szene einfügen. Wenn ich dann die Körper und Assets in mein Programm lade, lade ich direkt die Welt mit. Ich verwende einige von Ashley bereitgestellte Bequemlichkeitsklassen, z. B. IteratingSystem, um das Verhalten jeder Entität bei jedem Rendering direkt zu berechnen. Diese Verarbeitung beeinflusst die Kräfte oder zumindest die Drehmomente. Allerdings hatte ich keine Probleme mit Winkelimpulsen.

Danke an David Jeske und Louis Langholtz dafür, dass sie mich geführt haben.