Example: Diagonal.new(slope: 4.0 / 3.0, intercept: 0.0)
This line forms a 3-4-5 triangular as illustrated below:
o----3----+------- x
| . |
| . |
| 5 4
| . |
| . |
| . |
+---------+
| .
| .
| angle = clockwise from x-axis = +53.13°, slope = (4 / 3)
|
y
Example: Diagonal.new(slope: -4.0 / 3.0, intercept: 4.0)
This line also forms a 3-4-5 triangular (symmetrically with the previous one):
angle = counter clockwise from x-axis = -53.13°, slope = -(4 / 3)
.
.
o---------+--------- x
| . |
| . |
| 5 |
| . 4
| . |
|. |
+----3----+
|
|
|
y
Distance is the length between lines in the direction perpendicular to the lines.
|
| .
| .
| . (90° - angle)
o------+-------------------------+-------------------+------------------------ x
| . angle . .
| . . .
| . . .
| . +
| . . .
| . distance .
| . . .
| . . .
| + .
| . . .
| . 90° . .
| . . .
| . . .
| perpendicular line line.shift(distance)
|
y
Example: Horizontal.new(4.0)
o----------------- x
|
|
4
|
|
+..................
|
|
y
Example: Vertical.new(3.0)
o----3----+------- x
| .
| .
| .
| .
| .
| .
| .
y