我正在寻找一种方法来通过 2 个点绘制一条无限线(一条没有尽头的线,也称为射线)。我可以用 Line2D 在 2 点之间画一条线,这里没问题。
接下来无限部分需要看看。以我简单的想法,让我们将第二个点的 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 个点画一条无限线?