[Apologies for multiple postings] Robust Geometric Computations for Neutron Tracking GRAND Seminar <https://cs.gmu.edu/~robotics/pmwiki.php/Main/GrandSeminar> Thursday, Oct 19, 11am, Room 4201 Jack Snoeyink <http://www.cs.unc.edu/~snoeyink/> Professor Department of Computer Science UNC Chapel Hill (on leave at the National Science Foundation, CISE CCF Algorithmic Foundations) *Abstract:* As computer scientists, it is important for us to recognize when our favorite abstractions break and to consider alternatives. In this talk we will look at a particular geometric example exposing that computers actually don't do real number arithmetic, but typically do use fast IEEE 754 floating-point hardware to do arithmetic. The problem is suggested by David Greisheimer of Bettis labs: track neutrons in a CAD model of a nuclear reactor. As I'll describe, his reactor is defined by a hierarchical Constructive Solid Geometry representation, which forms unions and intersections of geometric primitives bounded by quadratic surfaces. A neutron is a point, so the task is to follow a point as it crosses each surface in order. This is easier said than done; analysis of the degrees of the geometric operations used reveals why. A point representing a neutron can actually get stuck in a reactor -- something that makes a nuclear physicist very nervous, since it breaks basic physical laws of conservation. Degree-driven analysis suggests changing the problem to tracking line segments where we apply geometric rounding to the segment endpoints. By doing so, we can continue to use fast floating-point, but can give guarantees on both geometric and topological properties (e.g., every neutron going into a bounded region must come out). This is work with David Millman and Michael Deakin.