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?