How to use
The line shown in the graph can be specified in any of three ways:

Slope-Intercept: specify the values of m and b

Enter the values into the text input fields marked "m=" and "b=" and click the first button marked "New".

The value of b can also be specified by using the mouse to click and drag the orange point on the graph -- this point is confined to the y-axis, corresponding to the point (0,b).

Point-Slope: specify the value of m and the point (x0,y0)

Enter the values into the text input fields marked "m=", "x0=", and "y0=" and click the second button marked "New".

The point (x0,y0) can also be specified by using the mouse to click and drag the green point on the graph.

Two Points: specify the points (x0,y0) and (x1,y1)

Enter the values into the text input fields marked "x0=", "y0=", "x1=", and "y1=" and click the third button marked "New".

The point (x0,y0) can also be specified by using the mouse to click and drag the green point on the graph.

The point (x1,y1) can also be specified by using the mouse to click and drag the red point on the graph.

To reset the graph and all input fields to default values, click the "Clear" button.


Examples
 Slope and Intercept: m=2, b=-1

 Points: (x0,y0)=(-1,-2), (x1,y1)=(1,1)

 Point and Slope: (x0,y0)=(-1,-2), m=2

 Vertical: (x0,y0)=(-1,-2), (x1,y1)=(-1,2)

Perpendicular Lines:

 First Line: (x0,y0)=(-1,-3), (x1,y1)=(1,1) (two points)

 Second Line: same (x0,y0), slope -1/m (point-slope)


Other Notes:
When a line is specified in slope-intercept form, the current values of x0 and x1 (the x-coordinates of the two points) are preserved -- the values of y0 and y1 are adjusted to fit the new line. Similarly, when a line is specified in point-slope form, the current value of x1 is preserved and the value of y1 is adjusted.