Digitization of a real circle is defined as the set of closest pixels (integer lattice points) to the circle. These pixels form a digital circle. First, this paper defines the term “closest pixels” and provides an algorithm to digitize an arbitrary circle, i.e., one whose radius is not necessarily an integer, and whose center is not necessarily a lattice point. This digitizing algorithm is simplified to the case of integer radius and integer-coordinate center so that it can be compared to two well-known algorithms: the Bresenham algorithm and an algorithm using the Digital Differential Analyzer (DDA) technique. As a result, the new algorithm consumes only 77% and 40% of the time required for Bresenham and DDA algorithms, respectively. Second, we investigate the problem of finding, for a given digital circle and center, the set of possible real radii that generate that digital circle. For some integerr, we look at all digital circles centered at the origin with real radius in the interval [r−0.5,r+0.5) and determine the paritions of this interval into sub-intervals of real radii generating the same digital circles. Third, we study fixing the digital circle and radius, and finding the set of possible centers. For some pixel (xc,yc), we find the partitions of the unit square [x c −0.5,x c +0.5)×[y c −0.5,y c +0.5) such that for each partition each center in that partition generates the same digital circle. The partition boundaries can be constructed by compass and ruler. Finally, the paper uses these results to determine whether or not a given finite set of pixels is a digital circle segment and if so, shows how to construct its region of possible centers by ruler and compass. We also present an algorithm to detect whether a closed digital are is a digital circle.
Read full abstract