public static double computeAngle(final long pX1, final long pY1, final long pX2, final long pY2) {
        return Math.atan2(pY2 - pY1, pX2 - pX1);
    }
@Test
    public void testComputeAngle() {
        final double delta = 1E-10;
        final long value = 10;
        Assert.assertEquals(0, MyMath.computeAngle(0, 0, value, 0), delta);
        Assert.assertEquals(Math.PI, MyMath.computeAngle(0, 0, -value, 0), delta);
        Assert.assertEquals(-Math.PI / 2, MyMath.computeAngle(0, 0, 0, -value), delta);
        Assert.assertEquals(Math.PI / 2, MyMath.computeAngle(0, 0, 0, value), delta);
        Assert.assertEquals(-Math.PI / 4, MyMath.computeAngle(0, 0, value, -value), delta);
        Assert.assertEquals(Math.PI / 4, MyMath.computeAngle(0, 0, value, value), delta);
        Assert.assertEquals(-3 * Math.PI / 4, MyMath.computeAngle(0, 0, -value, -value), delta);
        Assert.assertEquals(3 * Math.PI / 4, MyMath.computeAngle(0, 0, -value, value), delta);
    }