Dear Fellow Scholars, this is Two Minute Papers with Dr. Károly Zsolnai-Fehér.
Today, we are going to see a lot of physics simulations with many-many collisions. In
particular, you will see a lot of beautiful footage which contains contact between thin
shells and rigid bodies. In this simulation program, at least one of these objects will
always be represented as a signed distance field. This representation is useful because it helps us
rapidly compute whether something is inside or outside of this object.
However, a collision here takes two objects, of course, so the other object will be represented
as a triangle mesh, which is perhaps the most common way of storing object geometry in
computer graphics. However, with this, we have a problem. Signed distance fields work great,
triangle meshes also work great for a number of applications, however, computing where they
overlap when they collide is still slow and difficult. If that does not sound bad enough,
it gets even worse than that. How so? Let’s have a look together. Experiment number one.
Let’s try to intersect this cone with this rubbery sheet using a traditional technique,
and there is only one rule - no poking through is allowed. Well, guess what just happened. This
earlier technique is called point sampling, and we either have to check too many points
in the two geometries against each other, which takes way too long and still fails, or,
we skimp on some of them, but then, this happens. Important contact points go missing. Not good.
Let’s see how this new method does with this case. Now that’s what I am talking
about! No poking through anywhere to be seen. And, let’s have another look.
Wait a second. Are you seeing what I am seeing? Look at this part…after the first collision,
the contact points are moving ever so slightly, many-many times, and the new method is not missing
any of them. Then, things get a little out of hand, and it still works perfectly. Amazing!
I can only imagine how many of these interactions the previous point sampling
technique would miss, but we won’t know because it has already failed long ago.
Let’s do another one. Experiment number two. Dragon versus cloth sheet. This is the previous
point sampling method. We now see that it can find some of the interactions, but many others
go missing, and due to the anomalies, we can’t continue the animation by pulling the cloth sheet
off of the dragon because it is stuck. Let’s see how the new method fared in this case. Oh yeah!
Nothing pokes through, and therefore, now, we can continue the animation by doing this. Excellent!
Experiment number three! Rope curtain. Point sampling. Oh no! This is a disaster. And now,
hold on to your papers, and marvel at the new proposed method. Just look at how beautifully
we can pull the rope curtain through this fine geometry. Loving it. So, of course, if you are
a seasoned fellow scholar, you probably want to know, how much computation do we have to do
with the old and new methods. How much longer do I have to wait for the new, improved technique?
Let’s have a look together! Each rigid shell here is a mesh that uses a 129 thousand triangles, and
the old point sampling method took 15 milliseconds to compute the collisions, and this time, it has
done reasonably well. What about the new one? How much more computation do we have to perform
to make sure that our simulations are more robust? Please stop the video and make a guess. I’ll wait.
Alright, let’s see…and, the new one does it in half a millisecond. Half a millisecond. It is
not slower at all, quite the opposite - thirty times faster. My goodness! Huge congratulations
on yet another masterpiece from scientists at NVIDIA and the University of Copenhagen.
While we look at some more results, in case you are wondering, the authors used NVIDIA’s
Omniverse platform to create these amazing rendered worlds. And now, with this new method,
we can infuse our physics simulation programs with a robust, and blazing fast collision detector, and
I truly can’t wait to see where talented artists will take these tools. What a time to be alive!
Thanks for watching and for your generous support, and I'll see you next time!