Abstract
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 (x c,y c), 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.
Similar content being viewed by others
References
Abrash M (1990) Faster circle for the VGA. Programmer's J 8(2):18–22
Aken JV, Novak M (1985) Curve drawing algorithms for raster displays. ACM Trans Graph 4(2):147–169
Austin JD (1990) Euclidean circles and their modular images. Math Comput Ed 24(1):11–21
Bao PG, Rokne JB (1989) Quadruple-step line generation. Comput Graph (Pergamon) 13(4):323–328
Blinn JF (1987) How many ways can you draw a circle? IEEE CGA 7:39–44
Bresenham JE (1977) A linear algorithm for incremental digital display of circular arcs. Commun ACM 20(2):100–106
Callaway M (1984) Eight circles. Pract Comput 7(12):97–99
Cook R (1990) Full circle. Byte 15:211–214
Danielson E (1970) Incremental curve generation. IEEE Trans Comput C 19(9):783–793
Danielson E (1978) Comments on circle generator for display device. Comput Graph Image Proc 7:300–301
Doros M (1979) Algorithms for generation of discrete circles, rings and disks. Comput Graph Image Proc 10:366–371
Freeman H (1961) Techniques for the digital computer analysis of chain-encoded arbitrary plane curves. Proc Natl Electron Conf 17:421–432
Horn BKP (1976) Circle generators for display devices. Comput Grapb Image Proc 5:280–288
Jordan BW, Lennon WJ, Homm BD (1973) An improved algorithm for the generation of nonparametric curves. IEEE Trans Comput C 22(12):1052–1060
Kim CE (1981) Digital convexity straightness and convex polygons. TR-1055. Computer Science Center, University of Maryland, College Park, MD
Kulpa Z (1979a) A note on the paper by B.K.P. Horn: circle generators for display devices. Comput Graph Image Proc 9(1):102–104
Kulpa Z (1979b) On the properties of discrete circles, rings and disks. Comput Graph Image Proc 10(4):348–365
Kulpa Z, Doros M (1981) Freeman digitization of integer circles minimizes the radial error. Comput Graph Image Proc 17:181–184
Lee D (1983) A fast circle routine. Dr. Dobb's J 8(5):32, 35–37
McIlroy MD (1983) Best approximate circles on integer grids, ACM Trans Graph 2(4):237–263
Nakamura A, Aizawa K (1984) Digital circles. Comput Vision, Graph Image Proc 26(2):242–255
Paterson T (1990) Circles and the differential analyzer. Dr. Dobb's Journal 15(7):30–32, 34–35, 96
Pitteway MLV, Botting JR (1974) Integer circles, etc. Three moves extension of Bresenham's algorithm. Computer Graph Image Proc 3:260–261
Suenaga Y, Kamae T, Kobayashi T (1979) A high-speed algorithm for the generation of straight lines and circular arcs. IEEE Trans Comput C 28(10):728–736
Rao CVK (1975) Comment on a method far computing points of a circle using only integers. Computer Graph Image Proc 4
Zigon R (1990) Parametric circles. Dr. Dobb's J 15(1):60–63
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Pham, S. Digital circles with non-lattice point centers. The Visual Computer 9, 1–24 (1992). https://doi.org/10.1007/BF01901025
Issue Date:
DOI: https://doi.org/10.1007/BF01901025