Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In 2D, I use $y=e^{\frac{-0.01}{1-|x|^2}}$ to model a step function and smooth the transition.

Anyone knows is there any good 3D step function and transiting smoothly. From $x-y$ plane, it should look like (1) A rectangular; (2) An elliptic.

enter image description here

share|cite|improve this question
I am just using the region between -1<x<+1. I should say, it is just step-like function, not a perfect alternative for step function though. – Daniel Jun 11 '13 at 18:05
Let $f(x) = \exp\left(\frac{-0.01}{1-x^2}\right)$ be your original 2D function. For a circle, use $z = f\big(\sqrt{x^2+y^2}\big)$ on $x^2+y^2<1$. For a square, use $z = f(x) f(y)$ on $-1<x<1$, $-1<y<1$. – Rahul Jun 11 '13 at 18:05
up vote 7 down vote accepted

Practically, in 2D ideal step function is Heaviside step function. $$ \theta(x) = \left \{ \begin{array}{cc} 0, & x < 0 \\ \frac 12, & x = 0 \\ 1, & x > 0 \end{array} \right . $$

step function

But in many cases for different purposes it needs to be smoothed out. Also, what people practically use as smooth approximation of it is Hyperbolic tangent function as $$ \theta_\delta(x) = \frac 12 \left[1 + \tanh \left ( \frac x \delta \right ) \right ] $$ where $\delta$ is a parameter that roughly controls the thickness of smooth transition zone.


But, sometimes there's a need to change support of the step function to make it more suitable for a particular problem. For example, a function that's significant at $x \in [a,b]$ and vanishes everywhere else. One can use Heaviside step function again, but combination of those now. $$ \theta_{[a,b]} = \theta(x-a)-\theta(x-b) $$


Same trick can be done with smoothed version $$ \theta_{\delta, [a,b]} = \theta_\delta(x-a)- \theta_\delta (x-b) = \frac 12 \left [ \tanh \left (\frac {x-a}\delta \right ) - \tanh \left (\frac {x-b}\delta \right )\right ] $$


In 3D things are more complicated since

  1. Dimension is higher
  2. Support of the function may have some complex shape.

So, let's say one wants to have a function with support $D$, i.e. $$ \theta(\mathbf x) = \left \{ \begin{array}{cl} 1, & \mathbf x \in D \\ 0, & \mathbf x \notin D \end{array} \right . $$

Another practical approach to smooth step function widely used here is via hyperbolic tangent function again but w.r.t. so called distance function. Namely $$ \theta_\delta(\mathbf x) = \frac 12 \left \{ 1 + \tanh \left[ \frac {d(\mathbf x)} \delta \right ] \right \} $$ Distance function $d(\mathbf x)$ here is a function that is closely related to the level set. It can be found as smallest of distances from a given point to the points from a given set. But main property of it is as follows $$ d(x,y) = \left \{ \begin{array}{ll} \text{negative}, & (x,y) \notin D \\ 0, & (x,y) \in \delta D \\ \text{positive}, & (x, y) \in D \end{array}\right . $$ Finding that level set is a big problem itself and there are many methods to do that, mostly numerical, but as soon as it's done, one can immediately use it to find step function.

As an example, let's consider a circle $$ D = \left \{ (x, y) \left |(x-a)^2 + (y-b)^2 = R^2 \right .\right \} $$ as a support, because it's easy to find its distance function, $$ d(x,y) = R - \sqrt{(x-a)^2+(y-b)^2} $$ Smooth Step function is below.

3d step

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.