My understanding of your question is that you want to sample a point uniformly (i.e. Lebesgue measure) from the ball $$\left\{ x \in \mathbb{R}^d : \|x\|_2 = \sqrt{\sum_{i=1}^d x_i^2} \leq r \right\}.$$ I will give two algorithms for this. For simplicity, I assume $r=1$, as you can always scale up. --- <blockquote> <b>Algorithm 1: Rejection Sampling</b> <ol> <li>Sample $U_1, \cdots, U_d \in [-1,1]$ independently and uniformly at random.</li> <li>Let $x = (U_1, \cdots, U_d)$.</li> <li>If $\|x\|_2 \leq 1$, return $x$; else GOTO 1.</li> </ol> </blockquote> This algorithm is simple. We just use the fact that it is easy to sample from the "box" $[-1,1]^d$ that contains the unit ball. And, by rejecting samples that fall outside the ball, we are able to sample from the desired conditional distribution. The downside of this algorithm is that it takes time exponential in $d$, as the probability of a random point from the box being in the ball is decaying exponentially with $d$. --- <blockquote> <b>Algorithm 2: Scaled Spherical Sample</b> <ol> <li>Sample $G_1, \cdots, G_d \in \mathbb{R}$ independently from a standard Gaussian distribution ($\mathcal{N}(0,1)$).</li> <li>Let $x = (G_1, \cdots, G_d)$ and $y=x/\|x\|_2$.</li> <li>Sample $U \in [0,1]$ uniformly at random.</li> <li>Return $z=y \cdot U^{1/d}$.</li> </ol> </blockquote> Since the Gaussian distribution is spherically symmetric, $y$ is a uniformly random unit vector. Now we scale down $y$ by $U^{1/d}$ so that, instead of uniformly sampling from the sphere, we uniformly sample from the ball. To show that this is the right scaling, we just need to show that $$\mathbb{P}\left[\|z\|_2 \leq t\right] = \frac{\text{Volume of $d$-ball of radius $t$}}{\text{Volume of $d$-ball of radius $1$}}.$$ <a href="https://en.wikipedia.org/wiki/Volume_of_an_n-ball">We have</a> $$\frac{\text{Volume of $d$-ball of radius $t$}}{\text{Volume of $d$-ball of radius $1$}} = \frac{\frac{\pi^{d/2}}{\Gamma(d/2+1)} t^{d}}{\frac{\pi^{d/2}}{\Gamma(d/2+1)} 1^{d}} = t^{d}$$ and $$\mathbb{P}\left[\|z\|_2 \leq t\right] = \mathbb{P}\left[U^{1/d} \leq t\right] = \mathbb{P}\left[U \leq t^d\right] = t^d,$$ as required. Finally note that we can efficiently sample standard Gaussians using the <a href="https://en.wikipedia.org/wiki/Box%E2%80%93Muller_transform">Box-Muller transform</a>.