public static void computeCirclePoint(final long pCenterX, final long pCenterY, final double pRadius,
                                          final double pAngle, final PointL pOutput) {
        pOutput.x = pCenterX + (long) (pRadius * Math.cos(pAngle));
        pOutput.y = pCenterY + (long) (pRadius * Math.sin(pAngle));
    }
@Test
    public void testComputeCirclePoint() {
        final PointL output = new PointL();
        final long radius = 10;

        MyMath.computeCirclePoint(0, 0, radius, Math.PI, output);
        Assert.assertEquals(-radius, output.x);
        Assert.assertEquals(0, output.y);

        MyMath.computeCirclePoint(0, 0, radius, 0, output);
        Assert.assertEquals(radius, output.x);
        Assert.assertEquals(0, output.y);

        MyMath.computeCirclePoint(0, 0, radius, Math.PI / 2, output);
        Assert.assertEquals(0, output.x);
        Assert.assertEquals(-radius, -output.y);

        MyMath.computeCirclePoint(0, 0, radius, -Math.PI / 2, output);
        Assert.assertEquals(0, output.x);
        Assert.assertEquals(radius, -output.y);

        MyMath.computeCirclePoint(0, 0, radius, Math.PI / 4, output);
        Assert.assertEquals((long) (radius * Math.sqrt(2) / 2), output.x);
        Assert.assertEquals((long) (-radius * Math.sqrt(2) / 2), -output.y);
    }