i think it's important to note that the equation:

only is a line in a space of two dimensions. in more dimensions, say n, what you get is an affine hyperplane (with n-1 dimensions).

let's look at this from a "high-school perspective".

say we have a line given by:

ax + by = c. because of the peculiarities of x as a "preferred independent variable", we have two cases to consider:

case 1) b = 0.

here, our line is: ax + c = 0. again, we have two cases to consider:

case 1a) a = 0.

in this case, c must be 0, as well, and any (x,y) will suffice (0x + 0y + 0 = 0 is true for any point in the plane). so our "line" is actually the entire plane! however, this case is actually ruled out by taking N to be non-zero (if N = 0 were allowed, then every vector in the plane is indeed orthogonal to the origin. strange, but true).

case 1b) a ≠ 0 (which must be true if b = 0).

here, x = c/a, which is a vertical line. so a tangent vector is (x,0) (for any x) and a normal vector is (0,y) for any y. it is perfectly acceptable to choose x = y = a.

case 2a) a = 0, b ≠ 0. this is similar to case 1b) and you can work out the details yourself. (0,b) is a tangent vector, and (-b,0) is a normal vector (you could use (b,0) as well...at every point on a line, there are "two" normals. usually we pick an orientation of the plane, to choose a "positive" one (the one at 90 degrees, instead of -90 degrees)).

case 2b) a ≠ 0, b ≠ 0. this is the "interesting one".

typically, we define two lines:

y = m

_{1}x + b

_{1}
y = m

_{2}x + b

_{2}
to be perpendicular if m

_{1}m

_{2} = -1.

so suppose we have our lines as:

a

_{1}x + b

_{1}y = c

_{1}
a

_{2}x + b

_{2}y = c

_{2}, what does perpendicularity mean in terms of the a's,b's and c's?

putting the two lines in slope-intercept form we have:

y = (-a

_{1}/b

_{1})x + c

_{1}/b

_{1} and

y = (-a

_{2}/b

_{2})x + c

_{2}/b

_{2}
hmm...note that the slopes don't involve "c's" at all, just a's and b's.

thus m

_{1}m

_{2} = -1 becomes:

(-a

_{1}/b

_{1})(-a

_{2}/b

_{2}) = -1 that is:

a

_{1}a

_{2} = -b

_{1}b

_{2} or:

a

_{1}a

_{2} + b

_{1}b

_{2} = 0.

one often identifies the direction of a line with its slope: so a "parallel" vector to the first line going through the origin lies on the line:

y = m

_{1}x = (-a

_{1}/b

_{1})x. we can choose any x we please, so let's choose x = -b

_{1}.

this gives us a parallel vector (x,y) = (-b

_{1},a

_{1}).

now all we need to do is verify that N = (a

_{1},b

_{1}) lies on "the perpendicular line":

y = m

_{2}x. so we plug in the value x = a

_{1} into this formula:

y = m

_{2}a

_{1} = (-a

_{2}/b

_{2})a

_{1} = (-a

_{1}/b

_{1})(-a

_{2}/b

_{2})(-b

_{1})

= (-1)(-b

_{1}) = b

_{1}.

one caveat: these vectors, T and N actually lie in the "tangent space at the point P on the line L" (which is where the "c" comes in). so technically, we should write:

N = (a,b)

_{P}, T = (-b,a)

_{P} to indicate the "tails" of the vectors (arrows) start at the point P, rather than at the origin. geometrically, this means translating the origin to the point P on the line.