How many spheres are needed to shield a point source of light?
I read this from a mathematical puzzle book. And book says the answer is six without explanation.
From the geometric point of view, I'm thinking of a tetrahedron where the point source is located at the center. Then we can decompose 4 sectors, thus it seems to me 4 spheres is enough to shield the light. So I'm confused with the answer given in the book. If someone understands this problem, can you explain it to me?

The minimal number of spheres required to shield the origin is $4$.
4 spheres is sufficient.
Consider following $4$ points on unit sphere $S^2$, $$ v_0 = \frac{1}{\sqrt{3}}( -1,-1, -1), v_1 = \frac{1}{\sqrt{3}}( -1, 1, 1), v_2 = \frac{1}{\sqrt{3}}( 1,-1, 1), v_3 = \frac{1}{\sqrt{3}}( 1, 1, -1) $$ they are forming the vertices of a regular tetrahedron. It is easy to check every point on $S^2$ is at an angular distance no more than $\cos^{-1}\frac13$ from one of these vertices.
For each $k = 0,1,2,3$, place a sphere of radius $( \frac{\sqrt{8}}{3} + \epsilon)\rho_k$ at $\rho_k v_k$. These 4 spheres will block every ray start at origin. In order for them not to overlap, a sufficient condition is $$\max\left(\frac{\rho_i}{\rho_j},\frac{\rho_j}{\rho_i}\right) > 5+2\sqrt{6} \approx 9.899$$ for every $i \ne j$. By setting $(\rho_0,\rho_1,\rho_2,\rho_3)$ to $(1,10,100,1000)$, we obtain $4$ non-overlapping spheres which completely shield the origin.
4 spheres is necessary.
Given any $3$ spheres $S_1, S_2, S_3$. Let $c_1, c_2, c_3$ be unit vectors pointing towards their centers. Given any ray pointing at direction $n$, if sphere $S_i$ block it, we have $n \cdot c_i > 0$. Given $c_1, c_2$, it is easy to find a unit vector $u$ such that $u \cdot c_1 = u \cdot c_2 = 0$, this means neither $S_1$ nor $S_2$ is blocking the two rays pointing at direction $\pm u$. Since $S_3$ can block at most one of these rays, $3$ spheres is not enough to shield the origin.