Read the paper here.
This is a research project for untangling knots numerically, consisting of an implementation for the Möbius knot energy minimization.
The Möbius energy is defined as such:
where:
-
$\gamma(u):M\to\mathbb{R}^{3}$ is a parameterized curve representing a knot. -
$u$ is the parameter and denotes a length along$\gamma$ -
$d(u,v)$ denotes the shortest distance between$u$ and$v$ along the curve
Roughly, since the curve
Since we are iterating over a discrete set
The gradient of this summation is computed and implemented in mobius.py as the function Mobius_gradient.
Implements a simple forward Euler method with respect to the above system. The scheme includes an dynamic step size which bounds the spatial step size and helps with stability.
The main file is mobius.py which the Mobius energy gradient computation.
The file config.py contains the configuration parameters for the Mobius energy gradient computation such as .obj file and visualization parameters.
The file curve.py contains the geometry manipulation function utility functions such as reading obj files.
Trefoil for reference:




