The ray casting engine and ray representations: a technical summary

Solid modeling is computationally intensive. Thus far its use in industry has been limited mainly to simple parts and simple applications, and this is not likely to change much until 'massive' computing power can be made available at an affordable cost. The RayCasting Engine is one specialized source of 'massive' computing power for solid modeling, and it is but the simplest member of a potentially large family of 'classification computers'. The RayCasting Engine (RCE) is a highly parallel, custom-VLSI computer that classifies grids of parallel lines against solids represented in CSG. The sets of parallel 'in' segments that the RCE produces are called ray representations (ray-reps); they can be thought of as sampled boundary representations. Ray-reps are obviously useful for graphics and mass-property calculation. Less obviously, they are surprisingly versatile if one exploits special properties – for example, boolean combination of solids by interval operations on ray-reps – and the fact that ray-reps are cheap to compute. Overall, the combination of a 'new' representation scheme (ray-reps) and a fast custom processor (the RCE) is changing our approach to solid modeling. We are now seeking 'brute force' solutions to problems, and are finding that some previously intractable problems – for example, spatial sweeping and offsetting – are effectively computable and easy to program. This paper summarizes the genesis and principles of the RCE, some important properties of ray representations, and some exemplary applications of the (ray-rep, RCE) combination.