Suppose you have a pair of handcuffs linked together. Can you pull them apart without unlocking or breaking them, or letting them pass through themselves? With real handcuffs, definitely not! But if they're made of stretchy rubber, it turns out to be possible—as shown here. 1/9
This motion provides a surprising example of what is known in mathematics as an "ambient isotopy" of two surfaces: a continuous motion where the surface is not ripped, cut, pinched, or allowed to pass through itself. 2/9
A more classic example is the "unknot problem": given a loop of string, can it be untangled into a circle without cutting? Even this simple question turns out to be very hard to answer in general. And only gets harder when you start thinking about surfaces rather than curves. 3/9
So how do you find an isotopy that unlinks the handcuffs? Over the years, people have made all sorts of drawings of this transformation—but they can be pretty hard to follow unless you already have a pretty good geometric imagination! 4/9 Image
The unlinking motion in the video above was computed in a particularly remarkable way: it was not keyframed or manipulated by a human animator, but computed automatically by a program that does not do any high-level reasoning (or machine learning!). 5/9
Instead, it minimizes an energy that knows only about the shape of the surface at the current moment in time. Just like gravity makes a ball fall to the ground, this so-called tangent-point energy makes a surface "fall" into the configuration that maximizes self-separation. 6/9 Image
To make the movie, we minimize the energy from both the "linked" and "unlinked" starting points. Then we reverse the second movie, and join them together. 7/9 Image
By the way, this idea of connecting two surfaces—or other objects—through a canonical object is a powerful idea in mathematics, and also the starting point for a lot of computational algorithms (such as shape correspondence): 8/9
In this case, the algorithm used to minimize energy comes from the paper

Yu, Brakensiek, Schumacher, and Crane
"Repulsive Surfaces"
SIGGRAPH Asia (2021)

For more information, see cs.cmu.edu/~kmcrane/Proje…
and


9/9
You can also find a looping video of the handcuff unlinking here:



I'll be posting some more fun examples of "mathematical magic" throughout the week, so stay tuned!

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Keenan Crane

Keenan Crane Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @keenanisalive

9 Dec
What's the nicest way to draw a shape with many "holes"?

We can use the principle of repulsion to explore this question: each point of the shape behaves like a charged particle, trying to repel all others. Surface tension prevents everything from shooting off to infinity. 1/n
For millennia people have been drawn to the question: what are the "nicest" possible shapes that exist?

This is really a basic question about nature: these shapes exist outside space and time; the same shapes can be discovered by civilizations anywhere in the universe. 2/n Image
"Nicest" could mean the most symmetric—for instance, the ancient Greeks discovered there were five so-called Platonic solids where every face and every vertex looks the same: the tetrahedron, cube, octahedron, dodecahedron, and icosahedron. 3/n Image
Read 13 tweets
7 Dec
Excited to share *two* papers appearing at #SIGGRAPHAsia2021, on "Repulsive Curves" and "Repulsive Surfaces."

Tons of graphics algorithms find nice distributions of points by minimizing a "repulsive" energy.

But what if you need to nicely distribute curves or surfaces? (1/14)
We take a deep dive into this question, building fast algorithms for optimizing the recently developed "tangent-point energy" from surface theory.

Talk video:

Repulsive Curves: cs.cmu.edu/~kmcrane/Proje…
Repulsive Surfaces: cs.cmu.edu/~kmcrane/Proje…

(2/14)
The basic problem? Given a collection of points, curves, or surfaces in space, find a well-distributed arrangement that avoids (self-)intersection.

To make things interesting, you also usually have some constraints—like: the geometry is contained inside a bunny!
(3/14)
Read 14 tweets
2 Aug
Think knots are easy to untangle?

As a companion to our recent paper on "Repulsive Curves," we're releasing a dataset of hundreds of *extremely* difficult knots: cs.cmu.edu/~kmcrane/Proje…

In each case, a knotted & canonical embedding is given. Can you recover the right knot? 1/5
We've already tried a few dozen methods—from classics like "KnotPlot", to baselines like L-BFGS, to bleeding-edge algorithms like AQP, BCQN, etc.

For many knots, most these methods get "stuck," and don't reach a nice embedding.

Even our method doesn't hit 100%—but is close! 2/5
But this is a pretty unique problem relative to "standard" energies in geometry processing

For one thing, it considers all O(n²) pairs of points rather than just neighbors in a mesh

For another, you can't just *avoid* collisions—you have to maximize your distance from them. 3/5
Read 6 tweets
2 Aug
New paper with Chris Yu & Henrik Schumacher: cs.cmu.edu/~kmcrane/Proje…

We model 2D & 3D curves while avoiding self-intersection—a natural requirement in graphics, simulation & visualization.

Our scheme also does an *amazingly* good job of unknotting highly-tangled curves!

[1/n]
[2/n] Here's a short movie that summarizes some of what we do:

And if you don't care *how* it works, here's the code!
github.com/icethrush/repu…

Otherwise, read on to find out more!
[3/n] A classic problem is deciding if a curve is an "unknot": can it be untangled into a circle, without passing through itself?

We don't solve this problem conclusively—but can use untangling as a stress test for our method

Typically, we can untangle crazy knots, crazy fast!
Read 43 tweets
28 Jul
A powerful idea in math (that nobody teaches you directly…):

If you don't know how to map between two "things," you can often map each of them to the same "canonical thing."

Then you can just go from the 1st thing to the canonical thing, and back to the 2nd thing. [1/n] Image
This idea shows up all over the place.

I'll give a few examples—but would love to hear about more of them, that show up your neck of the woods.
🌴🌳🌲🐇

[2/n]
One basic question is: how do I express a change of basis between two arbitrary bases (u1,u2) and (v1,v2)?

Answer: the matrix U with columns u1, u2 takes you from the standard basis e1=(1,0), e2=(0,1) to the basis u1,u2. (Just try hitting e1 and e2 with U!)

Then compose…[3/n] Image
Read 6 tweets
14 Jun
Uniform edge lengths are a reasonable proxy for mesh quality, since equilateral triangles have good angles. But if you have more specific criteria, you can usually do better. "Hodge-Optimized Triangulations" provides a nice discussion of this perspective: geometry.caltech.edu/pubs/MMdGD11.p…
A popular approach in graphics is something like Botsch & Kobbelt, "Remeshing for Multiresolution Modeling" (Sec. 4): graphics.rwth-aachen.de/media/papers/r…

Basic idea: iteratively move vertices to equalize areas, split long edges, collapse short edges, & flip edges to improve vertex valence.
In this class of algorithms, I really like Chen & Holst, "Efficient mesh optimization schemes based on Optimal Delaunay Triangulations": math.uci.edu/~chenlong/Pape…

Here there's a clear notion of optimality, & an efficient preconditioner. For surfaces: restrict to tangential motions
Read 12 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(