# How do I calculate a specific variation for a known value of the normal distribution function?

I am writing a Gaussian blur filter in graphics shader code. I want to make the blur parameterized by radius from the users perspective. The best method I can figure to do this is to pick a suitable stopping point for y, say .001, and solve for the variance to plug into the normal distribution function that will achieve that value of y.

Unfortunately I cannot for the life of me solve this equation for v...

$x = 10$ (blur radius)

$$.001 = \frac{1}{2 \pi v^2}e^{-\frac{x^2}{2v^2}}$$.

-
I have tried to convert to latex (which you can do by enclosing in $signs), so if things aren't what you expect, let me know. – Aryabhata Sep 4 '10 at 19:42 It looks like there is a typo here. If this is supposed to be the probability density function for an isotropic binormal distribution in 2d and$x$is the radial coordinate, then it needs to be multiplied by$x$. (This won't change the solution methods already proposed, but it affects the details.) A few Newton-Raphson iterations should suffice to find the solution quickly. – whuber Sep 15 '10 at 3:26 ## 2 Answers To expand on the suggestion to use the Lambert function, I'll show how it arises in your equation of interest. Starting with$y=\frac1{2\pi v^2}\exp\left(-\frac{x^2}{2v^2}\right)$we multiply both sides by$-\pi x^2$to give$-\pi x^2 y=-\frac{x^2}{2v^2}\exp\left(-\frac{x^2}{2v^2}\right)$which can now be inverted to the Lambert function (recall that the Lambert function$W(z)$is the inverse function of$z\exp(z)$,$W(z)\exp(W(z))=z$):$-\frac{x^2}{2v^2}=W(-\pi x^2 y)$which we can now solve for$vv=\frac{x}{\sqrt{-2W(-\pi x^2 y)}}\$

The choice of sign for the square root is motivated by the fact that variances are conventionally taken to be positive.

-
+1. I suggest you add a brief explanation of the Lambert function. I will delete my answer. – Aryabhata Sep 5 '10 at 22:49
Moron: Done, hopefully the one line explanation of the Lambert function is crystal-clear. – J. M. Sep 5 '10 at 23:01
Heh, should've done that to begin with. Thank you Kaestur! – J. M. Sep 5 '10 at 23:30

I don't think the radius has to involve the variance. You could just use the radius to scale the x-axis.

So you could sample the distribution from -1 to 1, always. If the radius is 4, would sample 9 regions. For 10 you sample 21 times between -1 and 1. The variance can stay the same.

You might want to try this question here too http://gamedev.stackexchange.com/.

-