По сути, вы хотите построить линию, проходящую через центр сфер и точку. Затем вы пересекаете эту линию со сферой, и у вас есть точка проекции.
Более подробно:
Пусть p
будет точкой, s
центром сферы и r
радиусом, тогда x = s + r*(p-s)/(norm(p-s))
, где x
является точкой, которую вы ищете. Реализация остается за вами.
Я согласен, что сферический координатный подход также будет работать, но в вычислительном отношении более требователен. В приведенной выше формуле единственной нетривиальной операцией является квадратный корень для нормы.