Archive for Robustness

Floating-point tolerances revisited

For several years now I’ve participated in the physics tutorial session at GDC (along with Jim Van Verth, Gino van den Bergen, Erin Catto, Brian ‘Squirrel’ Eiserloh, and Marq Singer). One section I’ve covered in some detail is robustness and within this area I’ve stressed (amongst other things) the importance of distinguishing between absolute and relative tolerances when performing comparisons of floating-point numbers.

I won’t go into details about why you would want to care about how your floating-point numbers are compared. (Detailed information can be found in part in my GDC presentation slides and in much more depth in my book.) Here I will assume you already know why you care, and I will just note that absolute and relative tolerances are tested as Read the rest of this entry »

Comments (5)

Robustly computing the centroid for a point set

We ran into an interesting problem at work the other day, where we had some geometry partitioning code that gave vastly different results on the same tessellated plane, depending on the scale factor that was applied to the plane. That would be fine, of course, if the code was taking size into consideration when partitioning, but this code wasn’t! Read the rest of this entry »

Comments (5)

Coplanarity is teH eVil!!!11!1!!

I sort of implied this in passing in my triangle-triangle tests post, but let’s state it officially: coplanarity (or collinearity) in your inputs will almost always screw you over in one way or another! Here’s another example of what can go wrong: this time performing continuous collision detection between a moving point and a moving triangle. (In case this looks familiar it’s probably because you’ve seen me mention it before in other forums, but hey, self-plagiarization is OK as long as you’re not trying to publish!) Read the rest of this entry »

Comments (9)

Triangle-triangle tests, plus the art of benchmarking

Over the years, several methods have been suggested for testing the intersection status of two triangles. Perhaps the most well-known presentations are by [Möller97] and [Held97]. Other presentations include [Roy98], [Shen03], and [Guigue03].

Last year yet another triangle-triangle method was suggested by [Tropp06]. Read the rest of this entry »

Comments (1)

Now blogging!

Welcome to my new blog. Some may have noticed that updates to the website were very infrequent, to say the least. By installing a standard solution for blogging (WordPress) my hope is that I will be better able to share some (hopefully) interesting comments with the world.

Of interest in this update is that I’ve added an article that revisits the topic of combining absolute and relative tolerance comparisons into a single test. This article expands on the coverage in both my book as well as my coverage in the GDC presentations on numerical robustness.

Read the article here: Combined absolute and relative tolerances revisited.

Comments (4)