如何在java中使用y = mx + b绘制一条线?

时间:2011-09-14 02:24:15

标签: java algebra graphics2d

所以我有一个解决线性方程组的程序,但这不相关。那么我的程序会以下列形式传递两个线性方程:y = mx + b。我不知道如何使用Graphics2D绘制图形,我在解决它时遇到了一些麻烦。现在我不知道所以我没有可以告诉你的代码,但我可以告诉你:

  • 我的程序正确地将Ax + By = C转换为y = mx + B
  • 在某些代码中使用drawLine()方法显示示例会很有帮助

3 个答案:

答案 0 :(得分:3)

在代码中绘制线条时,需要从点A绘制到点B。 (一行

选择一个点A来开始该行,然后从A绘制到(A.X + dx, A.Y + m * dx),其中dx是所需的行宽。

例如,您可能希望A成为您所在区域的一角,而dx则是该区域的宽度。

答案 1 :(得分:1)

您还需要考虑如何从物理(x,y)坐标到屏幕(u,v)坐标进行映射。

从Ax + By = C转换仅仅是高中代数:

  1. 从两侧减去Ax:By = C - Ax
  2. 将两边除以B:y =(C / B) - (A / B)x
  3. 通过检查,m = - (A / B)和b =(C / B)。显然,B!= 0。

答案 2 :(得分:0)

drawLine在两点之间画一条线。所以你需要做的就是从等式中得到两点并将它们传递给drawLine

示例:

x1 = 0
x2 = 10
y1 = m*x1 + b
y2 = m*x2 + b;
g2d.drawLine(x1, y1, x2, y2);

当然,这将在两点之间绘制一条线段。因此,您需要确定您对实际绘图感兴趣的线段,并相应地选择x值。