Dado lo fácil que es generar el normal varia, me gustaría hacer eso, y luego convertir a la forma esférica de las coordenadas directamente.
Si usted necesita $N_p(0,I_p)$ donde $p$ es la dimensión, a continuación, en coordenadas esféricas, $r\sim \chi^2_p = \Gamma(p/2,1/2)$, y los ángulos son todos independientes entre sí y de la longitud, con una distribución uniforme en sus respectivos rangos de $[0,\pi)$ para el primero (el que va con el coseno), $[0,2\pi)$ para las restantes. Si $p$ es incluso, $p=2m$, puede generar $r_p = \sum_{k=1}^{m} (-\frac12) \ln U_k$, $U_k \sim \mbox{i.i.d. } U[0,1]$. Si $p$ es impar, $p=2m+1$, entonces usted necesita para agregar otra plaza de normal a esta (ver más arriba cómo generar ellos), $r_p = r_{p-1} + z^2$, $z\sim N(0,1)$.