Звучит так, как будто вы хотите использовать плоскость, параллельную плоскости фона и содержащую точку пересечения с объектом. Вы можете использовать эту плоскость, даже когда мышь выходит за пределы реального фона, поскольку это просто математическая концепция, которая простирается до бесконечности.
Я не программист на Java, поэтому не могу дать вам код, но я математик, так что здесь вам нужно уравнение;)
Пусть P обозначает исходную точку пересечения и назовет единицу плоскости фона нормальной n. Эта норма также является нормой нашей плоскости интересов. Пусть R обозначает точку на луче, а l обозначает ее единичный вектор направления.
Тогда уравнение плоскости имеет вид (x-P) .n = 0 для точки x на плоскости (через. Обозначает скалярное произведение двух векторов). Уравнение точки на луче имеет вид x = R + t * l, где t - любое действительное число. Следовательно, луч пересекает плоскость, когда
(т * 1 + R - P) .n = 0
т.е.. когда
t = (P - R) .n / (l.n)
Это дает вам значение t для включения обратно в уравнение луча, чтобы дать точку пересечения.