# Visualizing a function on a sphere

What is the best way to visualize a real function on a sphere as a mountain, using spherical coordinates?

I would like to plot ArcCos[Cos[longitude] * Cos[latitude]] on a sphere in a way that I can see the sphere and the function on it like a mountain above the sea.

So the sphere should have radius 10, show the poles and the equator, and I should be able to the see both the sphere and the function above it. What is the best way? Ideally, I would be able to rotate the result with my mouse ...

I suppose it could be like this. Change the "5" to change the scale of the sphere.

ParametricPlot3D[{5 {Cos[\[Phi]] Cos[\[Theta]],
Sin[\[Phi]] Cos[\[Theta]],
Sin[\[Theta]]}, (5 +
ArcCos[Cos[\[Phi]] Cos[\[Theta]]]) {Cos[\[Phi]] Cos[\[Theta]],
Sin[\[Phi]] Cos[\[Theta]], Sin[\[Theta]]}}, {\[Phi], -Pi,
Pi}, {\[Theta], -Pi/2, Pi/2}, PlotStyle -> Opacity[0.5],
AxesLabel -> {"x", "y", "z"}, ColorFunctionScaling -> False]


Maybe this is waht you look for?

ParametricPlot3D[
(10 + ArcCos[Cos[ϕ] Cos[θ]]) {Cos[ϕ] Cos[θ], Sin[ϕ] Cos[θ], Sin[θ]},
{ϕ, -Pi, Pi}, {θ, -Pi/2, Pi/2},
ColorFunction -> Function[{x, y, z, ϕ, θ}, ColorData["AlpineColors"][Sqrt[x^2 + y^2 + z^2] - 12]],
AxesLabel -> {"x", "y", "z"},
ColorFunctionScaling -> False
]