[Math] Define uniform B-spline basis functions via continuous convolution

convolution

I'm looking into different methods for defining uniform B-spline basis functions. One of those methods is using convolution. In the course notes of Dennis Zorin ("Bézier Curves and B-splines, Blossoming") I found this:

$$
\begin{align*}
Box(t) = \begin{cases}1 \qquad 0 \le t \lt 1 \\ 0 \qquad otherwise \end{cases}
\end{align*}
$$

Convolution is defined as

$$
\begin{align*}
(f \star g)(t) = \int_{-\infty}^{\infty}f(s)g(t-s)\;ds
\end{align*}
$$

So in order to define the degree-1 basis function, use

$$
\begin{align*}
(Box \star Box)(t) = \int_{-\infty}^{\infty}Box(s)Box(t-s)\;ds
\end{align*}
$$

But I don't know how to solve this integral. Therefore I searched some more and found Kenneth Joy's lecture notes "The uniform B-spline blending function".

He says that you can split the integral into two pieces (sounds logical because the degree-1 basis function is a "hat" function). But I don't understand where the integration limits (from $0$ to $t$ and from $t-1$ to $1$) are coming from.
There is also a solution for the degree-2 curve, but I think there are some mistakes in this part (regarding the integration limits), because the integrals don't match with my calculations.

I would be very glad if somebody could help me with this (or refer to an article or book where they show the reader how to solve it). Finally, are there (except for convolution, divided differences, and the Cox-DeBoor relation) other methods to deduce these basis functions?

Best Answer

The integral

\begin{align*} (Box \star Box)(t) = \int_{-\infty}^{\infty}Box(s)Box(t-s)\;ds \end{align*}

is equal to the integral

\begin{align*} (Box \star Box)(t) = \int_{0}^{1}Box(s)Box(t-s)\;ds \end{align*}

since $Box(s)$ is only non-zero on the interval $[0,1)$. On the other hand $Box(t-s)$ will be non-zero when $t-s \in [0,1[$ or $s \in ]t-1,t]$ which depends on the value of $t$. If $t>2$ or $t<0$ there is no overlap between the intervals $[0,1[$ and $]t-1,t]$ and therefore the integral is zero. If $t<1$ the overlap will be $[0,t]$, if $t\geq 1$ the overlap will be $(t-1,1)$. In these cases the integral will simply be the length of the overlap.

So,

$$(Box \star Box)(t) = \begin{cases} \int_{0}^{1}Box(s)Box(t-s)\;ds = \int_{0}^{1} 0 \;ds = 0 & \text{ if } t<0 \; , \\ \int_{0}^{t}Box(s)Box(t-s)\;ds = \int_{0}^{t} 1 \;ds = t & \text{ if } 0\leq t<1 \; ,\\ \int_{t-1}^{1}Box(s)Box(t-s)\;ds = \int_{t-1}^{1} 1 \;ds = 2-t & \text{ if } 1\leq t<2 \; , \\ \int_{0}^{1}Box(s)Box(t-s)\;ds = \int_{0}^{1} 0\;ds = 0 & \text{ if } 2\leq t \; . \end{cases} $$

Related Question