better and correct method for circle-line intersection