【发布时间】:2012-08-30 11:35:12
【问题描述】:
我正在寻找一种方法来通过 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 个点绘制无限线的更好方法?
【问题讨论】:
-
乘以100,你想要做的是“延长线的长度”?
-
确实,我只是找不到合适的词来表达我想做的事情。 “扩展”是正确的词!
标签: java line graphics2d java-2d