sub intersectLines { my( $ax, $ay, $bx, $by, $cx, $cy, $dx, $dy )= @_; my $d= ($ax-$bx)*($cy-$dy) - ($ay-$by)*($cx-$dx); die "Parallel lines" if 0 == $d; my $p = ( (by-dy)*(cx-dx) - (bx-dx)*(cy-dy) ) / $d; my $px= $p*$ax + (1-$p)*$bx; my $py= $p*$ay + (1-$p)*$by; return( $px, $py ); }