| Mariani/Silver Algorithm |
Robert P. Munafo, 2004 Feb 21.
See Adjacency Optimization for descriptions of other similar algorithms.
The algorithm starts with a rectangular grid of pixels. The pixels on the boundary of the grid are evaluated, and if they all evaluate to the same result the rectangle is filled in with a solid color; otherwise the rectangle is divided in half and the algorithm is applied again to each half. An additional speed savings results from evaluating the halves right away, in recursive fashion, because three of the four edges of each subrectangle will have already been evaluated. Otherwise you should store them in a Dwell Array and use that array to test the points again later when it is time to scan the subrectangle.
Mariani/Silver will occasionally miss features if the maximum Dwell is too low, and often misses parts of cusps narrower than one pixel.
This work is licensed under a
Creative Commons Attribution 2.5 License
.