For example, let’s consider a line on the floor.  We describe the floor with an equation like: y = -1.  A line on the floor is the intersection of that equation with x = az + b.  Or, we can describe a line on the floor as: (a, -1, b) + t(c, 0, d)  (Why is this correct, and why does it have more parameters than the first way?)
As a line gets far away, z -> infinity.  If (x,-1,z) is a point on this line, its image is f(x/z,-1/z).  As z -> infinity, -1/z -> 0.  What about x/z?  x/z = (az+b)/z = a + b/z -> a.  So a point on the line appears at: (a,0).  Notice this only depends on the slope of the line x = az + b, not on b.  So two lines with the same slope have images that meet at the same point, (a,0), which is on the horizon.