Как сделать 2D отбрасывание теней в Java?

В настоящее время я пытаюсь реализовать метод двухмерного теневого литья в Java, следуя этому руководству:http://ncase.me/sight-and-light/

Я хочу придерживаться объектов Line2D и Polygon. Вот основная часть моего кода:

 for (Polygon p : Quads.polygons) {
        for (int i = 0; i < p.npoints; i++) {
            osgCtx.setStroke(new BasicStroke(0.1f));
            Line2D line = new Line2D.Double(mousePos.getX(), mousePos.getY(), p.xpoints[i], p.ypoints[i]);
            osgCtx.draw(line);
        }
        osgCtx.setStroke(new BasicStroke(1.0f));
        osgCtx.draw(p);
    }

Который дает результат этого:

Я запутался, когда дело доходит до построения параметрической формы линий. Я не знаю, как реализовать математику с помощью методов Java. Может ли кто-нибудь указать мне правильное направление для реализации кода?

Ответы на вопрос(2)

Ваш ответ на вопрос