Why Penguins Hate Least-Squares Solutions

Bouncing Penguins

You’re probably wondering what this gif has to do with least-squares, or CS 322 in general. Well, it is actually a demonstration of some of Dr. James’s research (along with Alec Rivers), into the deformation of objects, and guess what, the underlying algorithm does in fact use a least squares approximation to get those penguins bouncing “realistically.”

The underlying the principle is that of lattice shape matching. Each object (surface mesh) that might be deformed (such as say, a penguin) is broken down into particles, and the particles are arranged in a lattice of overlapping shapes (i.e. cubes). When one of these particles is deflected from its current path (by say, a icicle), linear interpolation is used to track the effect this has on the particles.

Basically, the shapes the lattice forms want to stay in their rigid shape, but can’t because of the displaced particle(s). Instead they form a least squares approximation of that rigid shape, that changes overtime, until the mesh reaches an equilibrium shape. Or, y’know, bounces off the screen.

Of course that is a huge oversimplification, and leaves out the impressive bits of Dr. James’s and Alec River’s work, the fact that this is done in real time allowing for realistic complex interactive simulated environments.

For full the full details of this project you can check out http://www.alecrivers.com/fastlsm/. And if you’ve got the time, look into some of Dr. James’s other projects at http://www.cs.cornell.edu/~djames/research/index.html. They all look really cool. A side effect of working in scientific computation, I suppose.

Disclaimer: No penguins were harmed in the making of either the project or this post.

Posted in Topics: Uncategorized

Jump down to leave a comment.

Leave a Comment

You must be logged in to post a comment.



* You can follow any responses to this entry through the RSS 2.0 feed.