Several algorithms return lines in the normal form (like The Hough transform) while other algorithms may require these lines in another format (like drawing a line on screen). The slop-intercept form of lines is widely known, and you can easily convert a line in slope-intercept form to other forms. So knowing how to efficiently do the conversion of parameters is a must! Here I'll show you one way to do this. But just in case, here's a brief review of the normal and slope-intercept forms.
The normal form of a line uses two parameters: p and θ to describe the line. Here, p is the length of the perpendicular from the origin to the line. And θ is the angle between this perpendicular and the x-axis.
The line equation with these parameters is:
p = x*cosθ + y*sinθ
This form of the line uses m and c as the parameters. m is the slope of the line (the tan of the angle between the line and the x-axis). And c is the position on the y-axis where the line intersects it.
The line equation with these parameters is:
y = m*x + c
We'll start with the line equation in normal form:
p = x*cosθ + y*sinθ
Rearranging the equation, we get this:
-x*cosθ + p = y*sinθ
and dividing by sinθ we get:
-x*cotθ + p*cosecθ = y
or,
y = -x*cotθ + p*cosecθ
and there you have the line in slope intercept form! Let me make it more explicit:
y = (-cotθ)*x + (p*cosecθ)
-cotθ is the slope of the line, and p*cosecθ is the intercept.
Thus, we can summarize the conversion as:
m = -cotθ c = p*cosecθ
Doing these calculations, you'll have your line in slope-intercept form instead of the normal form! Great!