For studying a spin model on a lattice, I have to generate a random unit vector starting from a pre-exstisting one. There are multiple ways to do it, but the book I use suggests generating a random displacement vector $\Delta\boldsymbol{S}=\Delta S_{max}(p_1,p_2,p_3)$ with $p_i$ three random numbers in $[-1,1]$ and $\Delta S_{max}$ a parameter, then adding the displacement to the original vector and normalizing the sum. What I don't understand is the following. The authors say to check if $|\Delta\boldsymbol{S}|>\Delta S_{max}$ and generate another displacement if this condition is verified. They say that:
This latter step is necessary to insure that the change in a spin direction is symmetrically distributed around the current spin direction.
Here, the current spin is the pre-existing unit vector. I don't see what they mean with the sentence quoted basically. Why do I need to do that check?
The book is "Introduction to Computer Simulation Methods" by Harvey Gould, Jan Tobochnik, and Wolfgang Christian.