Провести бесконечную линию через 2 точки?

Я ищу способ нарисовать бесконечную линию (линию без конца, также известную как луч) через 2 точки. Я могу нарисовать линию между 2 точками с помощью Line2D, здесь нет проблем.

Затем бесконечной части нужно было посмотреть. Я просто подумал: давайте умножим координаты x и y из второй точки на 100 и перерисоваем линию. Это работает, но только в простых случаях.

Например, вот случай, когда он создает линии с разными углами:

    g.setColor(Color.red);
    g2.setStroke(new BasicStroke(4.0f));
    g2.draw(new Line2D.Double(0, 61.632653061218946, 944, 217.25510204080692));
    g.setColor(Color.blue);
    g2.setStroke(new BasicStroke(1.0f));
    g2.draw(new Line2D.Double(0, 61.632653061218946, 944*10, 217.25510204080692*10));

Сначала он нарисует жирную красную линию, затем нарисует голубую тонкую линию.

Синяя линия имеет другой угол по сравнению с красной линией. Вот'Вот скриншот, чтобы проиллюстрировать этот эффект:

Кто-нибудь знает способ исправить это, или, возможно, лучший способ провести бесконечную линию через 2 точки?

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

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