Thinking: Can Two Elliptical Sheets Be Glued Together to Form a Solid?

By 苏剑林 | July 21, 2019

Two weeks ago, I saw a rather interesting question in a group chat: Can two identical elliptical sheets be curved along their major axes and glued together along their edges to perfectly form a closed solid? The question originated from Zhihu: "Can two elliptical sheets be perfectly joined at their edges by cylindrical bending?"

Illustration of gluing two elliptical sheets (extracted from the Zhihu question)
Illustration of gluing two elliptical sheets (extracted from the Zhihu question)

The problem can be expressed in just a few words, and even general readers can understand it. However, the problem itself possesses a certain level of difficulty, which satisfies the conditions for a "beautiful problem." Consequently, it attracted my attention, and I spent several days thinking about it. Finally, yesterday, I formulated a general equation-based approach and a numerical solution scheme for such problems. Today, I completed the theoretical proof, confirming that two identical elliptical sheets can always be perfectly joined.

Arc Length Parametric Equation

As preparation, we first find the arc length parametric equation of an ellipse. As shown in the figure below, when an elliptical arc starts from $(a, 0)$ and has an arc length $s$, what is the corresponding $y=h(s)$?

Arc length parametric equation of an ellipse
Arc length parametric equation of an ellipse

In theory, this problem is not difficult to solve. Since the standard equation of an ellipse is: \begin{equation}\frac{x^2}{a^2}+\frac{y^2}{b^2}=1\end{equation} which is $x=a\sqrt{1-y^2/b^2}$, the arc length of the ellipse can be expressed as: \begin{equation}s=\int_0^y \sqrt{1+\left(\frac{dx}{dy}\right)^2}dy=\int_0^y \sqrt{\frac{a^2 y^2}{b^4-b^2 y^2}+1}dy\label{eq:bs}\end{equation} This integral can be represented using the "Incomplete Elliptic Integral of the Second Kind." Within the interval $[0, b]$, $s$ is monotonically increasing with respect to $y$, so the inverse function must exist. For numerical computation, we do not need to know the explicit inverse function; we only need to calculate a series of $(y, s)$ mappings through numerical integration of $\eqref{eq:bs}$. By swapping the positions of $y$ and $s$, we effectively obtain the relationship $y=h(s)$ (defining a function point-by-point).

Gluing Edge Equations

Now consider the original problem: If gluing is possible, what is the equation for the edge curve? We establish the coordinate system as shown in the figure below (left):

Edge curve of glued elliptical sheets (blue line) and arc length parametric equation
Left: Gluing edge curve (blue line). Right: Arc length parametric equation

In the figure above, considering only the first octant, the blue line is the curve for which we wish to find the parametric equation. The relationship between the spatial curve and the original elliptical plane curve is indicated by matching colors with the previous figure. Let $P=(x(s),y(s),z(s))$ be a point on the curve. Suppose the arc length $OP$ is $s$; this arc length is actually the same as the original arc length on the ellipse. As discussed, from the arc length, we can determine the $y$-coordinate: \begin{equation}y=h(s)\end{equation} Then, due to symmetry (complementary relationship), the $z$-coordinate is actually the $y$-coordinate corresponding to an arc length of $l-s$: \begin{equation}z=h(l-s)\end{equation} where $l$ is $1/4$ of the total circumference of the ellipse, representing the total length of the blue curve.

Now that we have $y$ and $z$, we need $x$. Since $s$ is the arc length parameter, it must satisfy $dx^2+dy^2+dz^2=ds^2$, i.e.: \begin{equation}\left(\frac{dx(s)}{ds}\right)^2+\left(\frac{dh(s)}{ds}\right)^2+\left(\frac{dh(l-s)}{ds}\right)^2=1\end{equation} Thus, $x(s)$ can be integrated: \begin{equation}x(s) = \int_0^s \sqrt{1-\left(\frac{dh(s)}{ds}\right)^2-\left(\frac{dh(l-s)}{ds}\right)^2}ds\label{eq:f}\end{equation} Whether the condition \begin{equation}1-\left(\frac{dh(s)}{ds}\right)^2-\left(\frac{dh(l-s)}{ds}\right)^2 \geq 0\label{eq:c}\end{equation} holds throughout is the criterion for whether gluability is possible.

Proof of Gluability

Now let us prove theoretically: The two elliptical sheets can always be perfectly joined, which means verifying that $\eqref{eq:c}$ holds identifier-wise.

First, we need to prove a lemma:

In an ellipse $x^2/a^2 + y^2/b^2=1 (a \geq b > 0)$: \begin{equation}\left.\left(\frac{dy}{dx}\right)^2\right|_{s=s_0}\leq \left.\left(\frac{dx}{dy}\right)^2\right|_{s=l-s_0}\end{equation} That is, the absolute value of the slope at arc length $s_0$ does not exceed the absolute value of the reciprocal of the slope at arc length $l-s_0$.

The proof process is as follows (it is not difficult; drawing it by hand makes it clear):

Utilize the standard parametric equation of an ellipse: \begin{equation}x=a\cos t,\quad y=b\sin t\end{equation} Note that the direction in which parameter $t$ increases is the same as the direction in which $s$ increases (both counter-clockwise starting from $(a,0)$). Therefore, $s$ and $t$ have a monotonically increasing relationship.

Intuitively, we want to prove that "looking at the arrow on the left from the side" is steeper than "looking at the arrow on the right from the front."

We can obtain: \begin{equation}\left.\left(\frac{dy}{dx}\right)^2\right|_{t=t_0} = \frac{b^2\cos^2 t_0}{a^2\sin^2 t_0}\leq \frac{a^2\sin^2 (\pi/2-t_0)}{b^2\cos^2 (\pi/2-t_0)}=\left.\left(\frac{dx}{dy}\right)^2\right|_{t=\pi/2-t_0}\end{equation} That is, the slope at $t=t_0$ certainly does not exceed the absolute value of the reciprocal of the slope at $t=\pi/2-t_0$, and clearly, the smaller $t_0$ is, the larger $\left.\left(\frac{dx}{dy}\right)^2\right|_{t=\pi/2-t_0}$ becomes.

Next, we consider: \begin{equation}\frac{ds}{dt}=\sqrt{\left(\frac{dx}{dt}\right)^2+\left(\frac{dy}{dt}\right)^2}=\sqrt{a^2\sin^2 t + b^2\cos^2 t} = \sqrt{a^2 - (a^2-b^2)\cos^2 t}\end{equation} Note that this is a monotonically increasing function of $t$ (considering only the interval $t\in[0, \pi/2]$). This means $s$ increases with $t$, and the speed of increase also increases. This implies: \begin{equation}s_{[0,t_0]}\leq s_{[\pi/2-t_0,\pi/2]}\end{equation} That is, the arc length of the interval $[0, t_0]$ does not exceed the arc length of the interval $[\pi/2-t_0, \pi/2]$. This implies that if $s_{[0,t_0]} = s_{[\pi/2-t_1,\pi/2]}$, then $t_1 \leq t_0$. In other words, if $s=s_0$ corresponds to $t=t_0$ and $s=l-s_0$ corresponds to $t=t_1$, then $t_1 \leq t_0$. According to our previous discussion: \begin{equation}\left.\left(\frac{dy}{dx}\right)^2\right|_{s=s_0}=\left.\left(\frac{dy}{dx}\right)^2\right|_{t=t_0} \leq \left.\left(\frac{dx}{dy}\right)^2\right|_{t=\pi/2-t_1}=\left.\left(\frac{dx}{dy}\right)^2\right|_{s=l-s_0}\end{equation}

With this lemma, we go on to prove: \begin{equation}\left(\frac{dh(s)}{ds}\right)^2+\left(\frac{dh(l-s)}{ds}\right)^2\leq 1\end{equation} Here $h(s)$ is the $y$-coordinate of the original ellipse. Assuming the corresponding $x$-coordinate is $g(s)$, then: \begin{equation}\left(\frac{dh(s)}{ds}\right)^2+\left(\frac{dg(s)}{ds}\right)^2 = 1\end{equation} Thus, it is equivalent to proving: \begin{equation}\left(\frac{dh(l-s)}{ds}\right)^2\leq\left(\frac{dg(s)}{ds}\right)^2\end{equation} Take the reciprocal of both sides and use $ds^2=dg^2+dh^2$. We effectively need to prove: \begin{equation}\left.\left(\frac{dg}{dh}\right)^2\right|_{s=l-s_0}\geq\left.\left(\frac{dh}{dg}\right)^2\right|_{s=s_0}\end{equation} This is precisely the lemma we just proved.

Numerical Solution Results

From a mathematical perspective, $\eqref{eq:f}$ is already an explicit solution (analytical solution) for the required curve. However, an explicit solution doesn't necessarily mean it is an elementary function solution, nor does it mean it is easy to calculate. Although most results in differential geometry use arc length as a parameter, these are mostly theoretical; in practice, except for circles and lines, very few curves have simple arc length parametric equations.

To numerically verify condition $\eqref{eq:c}$ and solve $\eqref{eq:f}$, I found that common mathematical software (like Mathematica) wasn't particularly convenient. The simplest method (for me) was to write a Python script for simulation. Using $a=2, b=1$ as an example, it passed the numerical verification of $\eqref{eq:c}$ and yielded the following result:

Curved shape of elliptical sheets when glued
Curved shape of elliptical sheets when glued

#! -*- coding: utf-8 -*-

import numpy as np

a = 2
b = 1
h = 1e-6 # Step size

def Int(y, x):
    """Custom numerical integration function
    """
    assert len(y) == len(x)
    dx = np.diff(x)
    _x = (x[:-1] + x[1:]) / 2
    _y = (y[:-1] + y[1:]) / 2
    s = np.cumsum(_y * dx)
    s = np.interp(x, _x, s, left=0)
    return s, x

def D(y, x):
    """Custom numerical derivative function
    """
    assert len(y) == len(x)
    dy = np.diff(y) + 1e-10
    dx = np.diff(x) + 1e-10
    dy_dx = dy / dx
    _x = (x[:-1] + x[1:]) / 2
    dy_dx = np.interp(x, _x, dy_dx)
    return dy_dx, x

def s2y():
    """Mapping from arc length to ellipse y-axis (i.e., h(s))
    """
    y = np.arange(0, b, h)
    ds = np.sqrt(1 + a**2 * y**2 / b**2 / (b**2 - y**2))
    return Int(ds, y)[::-1]

y, s = s2y()
l = s[-1]
z = np.interp(l - s, s, y)
dx2 = 1 - D(y, s)[0]**2 - D(z, s)[0]**2
assert (dx2 > - 10 * h).all() # Check if gluing is possible (within 10x step error)
dx = np.sqrt(np.clip(dx2, 0, a))
x = Int(dx, s)[0]

# Sample 1/10 of the points for plotting
x = x[::10]
y = y[::10]
z = z[::10]

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt

plt.clf()
fig = plt.figure(figsize=(8, 8))
ax = fig.add_subplot(111, projection='3d')
ax.plot(x, y, z, color='blue')
ax.plot(x, - y, z, color='blue')
ax.plot(x, y, - z, color='green')
ax.plot(x, - y, - z, color='green')
ax.plot(x, np.zeros_like(x), z, color='red')
ax.plot(x, np.zeros_like(x), - z, color='red')

for i in range(0, len(x), 2000):
    ax.plot([x[i], x[i]], [y[i], - y[i]], [z[i], z[i]], color='blue')
    ax.plot([x[i], x[i]], [y[i], - y[i]], [- z[i], - z[i]], color='green')

for i in [-1, -1000]:
    ax.plot([x[i], x[i]], [y[i], - y[i]], [z[i], z[i]], color='blue')
    if i != -1:
        ax.plot([x[i], x[i]], [y[i], - y[i]], [- z[i], - z[i]], color='green')

ax.set_xlim(0, a)
ax.set_ylim(-b * 1.2, b * 1.2)
ax.set_zlim(-b * 1.2, b * 1.2)

plt.show()

Summary

This article analyzed the problem of gluing two elliptical sheets. The core idea is to parameterize curve equations using arc length. Although the article uses the ellipse as an example, this approach can obviously be generalized to the curved gluing of any two planar curves. One simply needs to find their respective arc length parametric equations (i.e., replace $h(l-s)$ with the arc length parameterized equation of the other curve) and follow the integral in $\eqref{eq:f}$.

I have finally resolved an interesting problem, proving that my interest and ability in mathematics are still very much alive~