# How to create explicit (parametric) functions in animation node?

I'm trying to understand the math of animation nodes (Omar's helping) to create surfaces, and I was very curious how I could use AN to create parametric functions.I used the _surface_z addon for to create some surfaces. So how do I get parameterized functions in AN? It's possible?  Here's a great example of the "gabriel's horn"http://mathworld.wolfram.com/GabrielsHorn.html and Funnel”http://mathworld.wolfram.com/Funnel.html.

Parametric surfaces are very easy to create. A parametric surface is defined by two parameters—usually denoted by $$u$$ and $$v$$—that have a certain range and a parametric equation that maps those parameters to a 3D vector. To discretize the surface, we let $$u$$ and $$v$$ range in their defined range with a certain uniform step size and apply the parametric equations to get the locations. An implementation of your second example is as follows:  The first example is a subset of what we just created, where it is simply defined to have the X equation to be $$u$$ and the Y equation to be $$v$$. Or more simply, it can be treated as a multi-variable function of the x and y locations of a grid points. In fact, the second example can also be described as a multi-variable function of the x and y locations of a circle mesh of a high inner loop count. You can implement this yourself as a practice.