2013-05-01 11 views
5

Wenn in der Bullet Physics-Bibliothek ein starrer Körper konstruiert wird, ist das Standardargument für den Trägheitstensor der Nullvektor.Was hat ein Trägheitstensor von Null in Bullet?

Mein Verständnis von Trägheit ist ziemlich elementar, sondern aus der Gleichung

Drehmoment = Trägheits * angular_velocity

würde ich auf einem Objekt Winkelgeschwindigkeit erwartet mit Null Trägheit nicht definiert werden.

Die documentation for constructing rigid bodies sagt

Bei dynamischen Objekten Sie die Kollisionsform verwenden können die lokale Trägheitstensor anzunähern, andernfalls verwenden Sie den Nullvektor (Standard Argument)

Was passiert also, mit dieser Null Trägheit? Habe ich die Gleichung falsch verstanden? Oder hat er in Bullet keine Massenträgheit, die der Masse Null entspricht, wenn ein Objekt als statisch bezüglich der Orientierung definiert wird?

Antwort

7

Zu Beginn lassen Sie uns Trägheit definieren.

Trägheit ist der Widerstand eines physischen Objekts gegenüber einer Änderung seines Bewegungszustands oder der Tendenz eines Objekts, einer Änderung seiner Bewegung zu widerstehen.

Die aus Diagonalelemente der Trägheitstensor sind die Produkte der Trägheit genannt. Die Trägheitsprodukte sind Null, wenn der Körper symmetrisch um die Drehachsen ist, wie für einen rechteckigen Kasten oder Zylinder, der sich auf seiner Symmetrieachse dreht. Ich würde mir vorstellen, dass der Inertia Tensor, der in der Physik-Engine verwendet wird, immer Diagonale ist, um Komplexität zu vermeiden.

Ich nehme an, im Falle Ihrer ballistischen Physik-Engine, wo dieses Drehmoment ins Spiel kommen könnte, ist für ein Objekt, sagen wir dreht sich um die Z-Achse mit der folgenden Winkelgeschwindigkeit (0, 0, ωr) in Zylinderkoordinaten (r, theta, z)], dann möchten Sie vielleicht das Drehmoment herausfinden, das erforderlich ist, um diese Rotation in einer Zeit t (dh eine Rotationsbeschleunigung der Magnitude -ωr/t) zu stoppen. Hier würden Sie dann die Gleichung verwenden, die Sie oben angegeben haben.

Die Interpretation der Nullmatrix wäre Null 'Trägheit', und Objekt ohne Masse und was ich oben gesagt habe, gilt wieder.

+0

Das macht Sinn - danke für die Klärung. Wie ich verstehe, ist der Trägheitstensor eine 3x3-Matrix, die die Gleichung sinnvoll macht. In Bullet stellen Sie einen 3-Komponenten-Vektor für die Trägheit bereit, von dem ich annahm, dass die 3x3-Matrix abgeleitet ist. –

+1

Es gibt ein bisschen mehr Erklärung hier (nicht die Zeit, um mich im Moment vollständig zu lesen): http://techhouse.brown.edu/~dmorris/projects/tutorials/inertia.tensor.summary.pdf –

+0

Ich kam auch über diesen Link. Und um es klar zu sagen, mit dem Trägheitstensor wird auf das Trägheitsmoment Bezug genommen, das die Winkelbeschleunigung (nicht die Geschwindigkeit) beeinflusst, also: Drehmoment = Moment der Trägheit * Winkelbeschleunigung. Und ich denke, sie initiieren einen Nullvektor für den Fall, dass das Objekt eine Punktmasse ist, in welchem ​​Fall Sie kein Drehmoment darauf anwenden können. – fibonatic

-2

Durch den Aufbau einer Kugel mit null Trägheit oder einem negativen Flusszustand wird die Dynamik eines Geschosses unabhängig vom Drehmoment, Vektor oder Winkel zum Tensorpunkt und zur zugrunde liegenden Rotation nominal. Etwas anderes zu sagen ist dicht oder falsch.

+0

Was meinst du mit "nominal"? Auch die Frage ist nicht unbedingt die Dynamik eines Geschosses, sondern die Physik-Engine namens 'Bullet'. –

+0

Was hat ein Objekt ohne Trägheit mit "Flussmittel" zu tun? Sie antworten, ist Unsinn. – MoonKnight

Verwandte Themen