Always Learning wrote:No it does not assume that. As said by rp0428, it uses a different definition of intersection then yours where the lines like T (and not only like X or +) intersect. The T lines touch, the X lines cross; both intersect.
I believe the reason I had to do this is because Java's intersectsLine(Line2D) method assumes the lines are infinite in length and thus if extending two lines through common endpoints, one can force them to intersect at a common point.