Andrew Delgadillo
Andrew Delgadillo

Reputation: 161

How to draw a line using y = mx +b in java?

So I have a program that solves a system of linear equations, but that is not relevant. So what happens is that my program pass two linear equations in the form of: y = mx +b. I do not know how I would graph this using Graphics2D, I am having some trouble figuring it out. Right now I have no idea so I have no code that I could show you, but I can tell you that:

Upvotes: 0

Views: 6299

Answers (3)

duffymo
duffymo

Reputation: 308908

You also need to consider how to map from physical (x, y) coordinates to screen (u, v) coordinates.

Transforming from Ax + By = C is mere high school algebra:

  1. Subtract Ax from both sides: By = C - Ax
  2. Divide both sides by B: y = (C/B) - (A/B)x
  3. By inspection, m = -(A/B) and b = (C/B). Obviously, B != 0.

Upvotes: 1

Matt Wonlaw
Matt Wonlaw

Reputation: 12443

drawLine draws a line between two points. So all you need to do is get two points from your equation and pass them into drawLine.

Example:

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

Of course this will draw a line segment between the two points. So you need to figure out which segment of the line you are interested in actually drawing and pick you x values accordingly.

Upvotes: 0

SLaks
SLaks

Reputation: 887767

When you draw a line in code, you need to draw from point A to point B. (a line segment)

Pick a point A to start the line from, then draw from A to (A.X + dx, A.Y + m * dx), where dx is the desired width of the line.

For example, you may want A to be one corner of your area, and dx to be the width of the area.

Upvotes: 3

Related Questions