diff options
author | Jesse Morgan <jesse@jesterpm.net> | 2011-02-16 07:24:16 +0000 |
---|---|---|
committer | Jesse Morgan <jesse@jesterpm.net> | 2011-02-16 07:24:16 +0000 |
commit | 5e9f617bdfea01d0bd5e66daf7a5e55f8f94dbf0 (patch) | |
tree | 31fe45fdbe6096a933c905c0a210fb8dcb66f4f1 /src/tesseract/objects | |
parent | 0c31bb464e6a2ebe782b8dd6e18b36b366ee14f8 (diff) |
Started working on some inertia tensors for the chainlink. Made an adjustment to rotations in the ui.
Diffstat (limited to 'src/tesseract/objects')
-rw-r--r-- | src/tesseract/objects/ChainLink2.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/tesseract/objects/ChainLink2.java b/src/tesseract/objects/ChainLink2.java index 0678c69..23a8097 100644 --- a/src/tesseract/objects/ChainLink2.java +++ b/src/tesseract/objects/ChainLink2.java @@ -83,6 +83,14 @@ public class ChainLink2 extends PhysicalObject { setShape(createShape(SLICE_COUNT, SLICE_DIVISIONS, diameter, length, width)); + + if (inverseMass != 0) { + final float radius2 = diameter / 2.0f * diameter / 2.0f; + inverseInertiaTensor.m00 = 1 / (8.0f * inverseMass) * (4 * radius2 + 5 * (length * length + width * width)); + inverseInertiaTensor.m11 = inverseInertiaTensor.m00; + inverseInertiaTensor.m22 = 1 / (inverseMass) * (radius2 + 0.75f * (length * length + width * width)); + inverseInertiaTensor.invert(); + } } /** |