From e6672a763f1b636714f3de3750349d85ea1773cd Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Wed, 18 Dec 2019 16:15:21 +0100 Subject: [PATCH] Rearrange math for worldToLocal. --- .../spine-libgdx/src/com/esotericsoftware/spine/Bone.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java index e6ded39db..cb8d33daa 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java @@ -539,10 +539,10 @@ public class Bone implements Updatable { /** Transforms a point from world coordinates to the bone's local coordinates. */ public Vector2 worldToLocal (Vector2 world) { if (world == null) throw new IllegalArgumentException("world cannot be null."); - float invDet = 1 / (a * d - b * c); + float det = a * d - b * c; float x = world.x - worldX, y = world.y - worldY; - world.x = x * d * invDet - y * b * invDet; - world.y = y * a * invDet - x * c * invDet; + world.x = (x * d - y * b) / det; + world.y = (y * a - x * c) / det; return world; }