The Ray casting engine and Ray representatives

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 described in this paper 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’ for solid modeling. The Ray Casting 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, those involving 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.

[1]  Gershon Kedem,et al.  Breaking barriers in solid modeling , 1991 .

[2]  A.A.G. Requicha,et al.  Boolean operations in solid modeling: Boundary evaluation and merging algorithms , 1985, Proceedings of the IEEE.

[3]  Robert B. Tilove,et al.  Set Membership Classification: A Unified Approach to Geometric Intersection Problems , 1980, IEEE Transactions on Computers.

[4]  Renato Perucchio,et al.  Toward automatic finite element analysis , 1987 .

[5]  Henry Fuchs,et al.  Quadratic Surface Rendering on a Logic-Enhanced Frame-Buffer Memory , 1986, IEEE Computer Graphics and Applications.

[6]  Henry Fuchs,et al.  Near real-time CSG rendering using tree normalization and geometric pruning , 1989, IEEE Computer Graphics and Applications.

[7]  Tilove Line/Polygon Classification: A Study of the Complexity of Geometric Computation , 1981, IEEE Computer Graphics and Applications.

[8]  Aristides A. G. Requicha,et al.  Offsetting operations in solid modelling , 1986, Comput. Aided Geom. Des..

[9]  Herbert B. Voelcker,et al.  Graphical simulation & automatic verification of NC machining programs , 1986, Proceedings. 1986 IEEE International Conference on Robotics and Automation.

[10]  Aristides A. G. Requicha,et al.  Depth-Buffering Display Techniques for Constructive Solid Geometry , 1986, IEEE Computer Graphics and Applications.

[11]  Jarek Rossignac,et al.  Active zones in CSG for accelerating boundary evaluation, redundancy elimination, interference detection, and shading algorithms , 1988, TOGS.

[12]  ARISTIDES A. G. REQUICHA,et al.  Representations for Rigid Solids: Theory, Methods, and Systems , 1980, CSUR.

[13]  W. Randolph Franklin Rays - New representation for polygons and polyhedra , 1983, Comput. Vis. Graph. Image Process..

[14]  Vadim Shapiro,et al.  Construction and optimization of CSG representations , 1991, Comput. Aided Des..