Bentley-Ottmann Algorithm is used to determined the intersection point of a list of lines. However as mentioned here in Wiki, there are a few drawbacks:
The algorithm assumes that line
segments are not vertical, that line
segment endpoints do not lie on other
line segments, that crossings are
formed by only two line segments, and
that no two event points have the same
x-coordinate. However, these general
position assumptions are not
reasonable for most applications of
line segment intersection.
My question is is there a generalization of this algorithm can overcome/overcome the above difficulties?
The Wikipedia article you linked to has a section on handling these special positions, which suggests these modifications to the basic algorithm: