162
Views
4
CrossRef citations to date
0
Altmetric
Original Articles

A chronological and mathematical overview of digital circle generation algorithms – introducing efficient 4- and 8-connected circles

, &
Pages 1241-1253 | Received 14 Jan 2015, Accepted 29 Apr 2015, Published online: 24 Jun 2015
 

Abstract

Circles are one of the basic drawing primitives for computers and while the naive way of setting up an equation for drawing circles is simple, implementing it in an efficient way using integer arithmetic has resulted in quite a few different algorithms. We present a short chronological overview of the most important publications of such digital circle generation algorithms. Bresenham is often assumed to have invented the first all integer circle algorithm. However, there were other algorithms published before his first official publication, which did not use floating point operations. Furthermore, we present both a 4- and an 8-connected all integer algorithm. Both of them proceed without any multiplication, using just one addition per iteration to compute the decision variable, which makes them more efficient than previously published algorithms.

2010 AMS Subject Classifications:

Disclosure statement

No potential conflict of interest was reported by the authors.

Notes

1. This information was obtained through a private communication with James C. Michener through Ingrid B. Carlbom.

Reprints and Corporate Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

To request a reprint or corporate permissions for this article, please click on the relevant link below:

Academic Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

Obtain permissions instantly via Rightslink by clicking on the button below:

If you are unable to obtain permissions via Rightslink, please complete and submit this Permissions form. For more information, please visit our Permissions help page.