Desenhe uma linha infinita através de 2 pontos?

Eu estou procurando uma maneira de desenhar uma linha infinita (uma linha sem fim, também conhecida como um raio) através de 2 pontos. Eu posso desenhar uma linha entre 2 pontos com Line2D, não há problema aqui.

Em seguida, a parte infinita precisava de uma olhada. Com minha mente simples, pensei, vamos multiplicar as coordenadas xey do segundo ponto com 100 e redesenhar a linha. Isso funciona, mas apenas em casos simples.

Por exemplo, aqui é um caso em que produz linhas com diferentes ângulos:

    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));

Isso primeiro traçará uma linha vermelha e, em seguida, desenhará uma linha fina azul.

A linha azul tem um ângulo diferente comparado com a linha vermelha. Aqui está uma captura de tela para ilustrar esse efeito:

Alguém sabe uma maneira de consertar isso, ou talvez uma maneira melhor de desenhar uma linha infinita através de 2 pontos?

questionAnswers(2)

yourAnswerToTheQuestion