Normalization of a two-dimensional kernel function

360 Views Asked by At

I've got three two-dimensional kernel functions which look like this $$ k(r,h) = n \cdot \begin{cases} \ldots & 0 \le r \le h \\ 0 & otherwise \end{cases} $$ With r being the norm of the input point, s being the support radius of the kernel and n being a normalization factor. Now I want to normalize those kernels such that the integrals of them equal to one.

For two other kernels I've simply looked at the kernel functions as rotation object around the y-axis. So I've inverted the kernel function to get $r(k,h)$ and being able to calculate the volume $$ n = V = \int_0^{k(0,h)} \pi \cdot r(k,h)^2 ~dk $$

But now I've got this kernel left... $$ k(r,h) = n \begin{cases} -\frac{r^3}{2h^3} + \frac{r^2}{h^2} + \frac{h}{2r} - 1 & 0 \le r \le h \\ 0 & otherwise \end{cases} $$

And I can't do the same procedure as before because I'm unable to find the inverse function of it. Can anyone give me a hint? If anything is poorly described just let me know.

1

There are 1 best solutions below

0
On

Seems like I was too much focused on the one way to solve this problem. It's much easier to integrate over r. So if you have a kernel which is symmetric around the y-axis you can do the following:

Circumference at r is just $$ 2 \pi r $$

The area at this r is therefore $$2 \pi r k(r,h)$$

So we can simply integrate over all areas to get the volume $$\int_0^h 2 \pi r k(r,h) ~dr$$

... which is pretty easy to calculate in my case