From 1de5adf953013be52b8c8d98aedd9132a8ab874b Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Tue, 23 May 2017 18:52:45 +0200 Subject: [PATCH] IK simplification. Just when you thought it couldn't get any simpler. --- .../esotericsoftware/spine/IkConstraint.java | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java index ae51142c6..8c693cd75 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java @@ -231,22 +231,8 @@ public class IkConstraint implements Constraint { break outer; } } - float minAngle = 0, minDist = Float.MAX_VALUE, minX = 0, minY = 0; - float maxAngle = 0, maxDist = 0, maxX = 0, maxY = 0; - x = l1 + a; - d = x * x; - if (d > maxDist) { - maxAngle = 0; - maxDist = d; - maxX = x; - } - x = l1 - a; - d = x * x; - if (d < minDist) { - minAngle = PI; - minDist = d; - minX = x; - } + float minAngle = PI, minX = l1 - a, minDist = minX * minX, minY = 0; + float maxAngle = 0, maxX = l1 + a, maxDist = maxX * maxX, maxY = 0; float angle = (float)Math.acos(-a * l1 / (aa - bb)); x = a * cos(angle) + l1; y = b * sin(angle);