Мне нужна функция которая возвращает координаты столкновения луча со сферой
Сразу замечание. Давайте перечислим ситуации которые могут быть.
1) Луч пересекает сферу в 1 точке (касательная). Или луч испускается изнутри сферы.
2) Луч пронизывает сферу в 2 точках (наиболе общий кейс)
3) Луч не попал в сферу.
Наша функция (какая-бы она не была) должна возвращать 3 типа этих результатов. Или просто список от 0 до 2х векторов в пространстве (x,y,z). Я-бы предпочел перечисление из 3х типов результатов. Мне кажется что это достаточно важно.