Newell's algorithm
From Wikipedia, the free encyclopedia
Newell's Algorithm is a 3D computer graphics procedure for elimination of polygon cycles in the depth sorting required in hidden surface removal. It was proposed in 1972 by M. E. Newell, R. Newell and T. Sancha.
In the depth sorting phase of hidden surface removal, if two polygons have no overlapping extents or extreme minimum and maximum values in the x, y, and z directions, then they can be easily sorted. If two polygons, Q and P do have overlapping extents in the Z direction then it is possible that cutting is necessary.
In that case Newell's algorithm tests the following :
1. Test for Z overlap; implied in the selection of the face Q from the sort list
2. The extreme coordinate values in X of the two faces do not overlap(minimax test in X)
3. The extreme coordinate values in Y of the two faces do not overlap (minimax test in Y)
4. All vertices of P lie deeper than the plane of Q
5. All vertices of Q lie closer to the viewpoint than the plane of P
6. The rasterisation of P and Q do not overlap
Note that the tests are given in order of increasing computational difficulty.
Note also that the polygons must be planar.
If the tests are all false, then the polygons must be split. Splitting is accomplished by selecting one polygon and cutting it along the line of intersection with the other polygon. The above tests are again performed and the algorithm continues until all polygons pass the above tests.
[edit] References
- Ivan E. Sutherland, Robert F, Sproull, and Robert A, Schumacker, "A Characterization of Ten Hidden-Surface Algorithms", Computing Surveys, Vol 6, No 1, March 1974
- Newell, M. E., Newell R. G., and Sancha, T. L, "A New Approach to the Shaded Picture Problem", Proc ACM National Conf. 1972