How to predict the gradient of $r=\sqrt{x^2 + y^2 + z^2}$ by geometric reasoning? Given:


*

*$\vec{r}(x, y, z) = (x,y,z)$

*$r(x,y,z) = ||\vec{r}|| = \sqrt{x^2 + y^2 + z^2}$
Through a set of computations, it can be shown that:
$$\nabla{r}=\frac{\vec{r}}{r}=\hat{{\mathbf{r}}}$$
How can I predict $\nabla{r}=\hat{{\mathbf{r}}}$ by only geometric reasoning, without any computation? 
The hint tells me to consider the level sets of $r$ (which, I assume, would be a bunch of circles) and use symmetry, but I haven't been able to figure how to use this hint. 
 A: If you inflate a bubble, all points move away from the center, in a direction normal to the surface.
If the increment in the radius is constant, the new surface is one step away from the previous, hence the gradient has a constant length.
So we can conclude that the gradient is proportional to the unit normal. The proportionality constant ($1$) is harder to figure out.
A: Yeah you can use symmetry. For example if $y = z = 0$ and $x > 0$ then you have $r = x$ and $\nabla r = (1, 0, 0),$ so you can infer from symmetry that it must have magnitude $1$ everywhere and must point radially away from the center and that is just the definition of $\hat r.$
More generally that proves that any function of $x,y,z$ which works out to be a function of radius $f(\sqrt{x^2 + y^2 + z^2}) = f(r)$ must have a gradient $\nabla f = f'(r)~\hat r,$ because it must be spherically symmetric and on the $+x$-axis it must have the form $\big(f'(x), 0, 0\big)$. 
A: Let's think about directional derivatives.
Let $v$ be any direction perpendicular to $r$, and consider variations of $r$ in the $v$ direction. Adding a small multiple of $v$, either positive or negative, increases the length of $r$, by the Pythagorean theorem: in other words
$$f(t) = \|r + t v\|$$
has a minimum at $t=0$. Therefore the directional derivative of $\|r\|$ in the $v$ direction is zero: $\nabla \|r\| \cdot v = 0$ for all $v$ perpendicular to $r$.
Therefore $\nabla \|r\|$ must lie in the $r$ direction: $\nabla \|r\| = \alpha \hat r$ for some unknown $\alpha$. Well, we can now probe the directional derivative of $\|r\|$ in the $\hat r$ direction: $\|r\|$ increases at unit speed in the $\hat r$ direction, so $\nabla \|r\| \cdot\hat{r} = 1$ and $\nabla \|r\| = \hat{r}.$
A: The gradient is always perpendicular to the level sets. For this function, the level sets are spheres centered at the origin. The vectors perpendicular to those spheres point outwards or inwards radially, i.e. $\nabla = k\hat r$ for some constant $k$.
Now we use symmetry to compute $k$. The (signed) norm of the gradient is the directional derivative in the direction it points. Since spheres are symmetric, we can just look at one direction, say, the positive x-axis. On that axis, the function is just $r(x,0,0) = x$, and the directional derivative is just the partial derivative $k = \frac{\partial r}{\partial x}(x,0,0) = 1.$
