Run Length Slice Algorithm for Incremental Lines

  • Jack E. Bresenham
Part of the NATO ASI Series book series (volume 17)


Lines displayed on devices such as incremental plotters, raster CRT or plasma panel displays, and matrix printers must be approximated by sequences of discrete axial and diagonal unit steps in which successive incremental movements are constrained to the movement pattern of the king piece in a game of chess. Described is a Freeman/Reggiori-like algorithm for generating directly the run lengths of constant direction movement within the step sequence in contrast to generating the sequence in its basic unit step elements. The repetitive loop for generating lengths of alternating runs of solely axial and solely diagonal steps requires only integer addition/subtraction together with a sign test and will be executed at most only half the number of times as the comparable loop used to generate the single unit move sequence one step at a time. The algorithm also can be used to examine repetitive patterns and cycles which occur in rastered lines.


Line Segment Half Point True Line Rastered Line Incremental Line 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    C. Arcelli, and A. Massarotti, On the parallel generation of straight digital lines. Computer Graphics and Image Processing 7 (No. 1), 67–83 (February 1978).CrossRefGoogle Scholar
  2. 2.
    K. Belser, Comment on ‘An improved algorithm for the generation of non-parametric curves’. IEEE Transactions Computers C-25 1, 103 (January 1976).CrossRefGoogle Scholar
  3. 3.
    J. Boothroyd and P. A. Hamilton, Exactly reversible plotter paths. Australian Computer Journal 2 (No. 1), 20–21 (1970).Google Scholar
  4. 4.
    J. E. Bresenham, An incremental algorithm for digital plotting. ACM National Conference (August 1963).Google Scholar
  5. 5.
    J. E. Bresenham, Algorithm for computer control of a digital plotter. IBM Systems Journal 4 (No. 1), 25–30 (January 1965).CrossRefGoogle Scholar
  6. 6.
    J. E. Bresenham, D. G. Grice and S. C. Pi, Run length slices for incremental lines. IBM Technical Disclosure Bulletin 22–8B, 3744–3747 (January 1980).Google Scholar
  7. 7.
    J. E. Bresenham, Incremental Line Compaction: The Computer Journal 2 (No. 1) 116–120 (February 1982).Google Scholar
  8. 8.
    R. Brons, Linguistic methods for the description of a straight line on a grid. Computer Graphics and Image Processing 3 (No. 1), 48–62 (March 1974).CrossRefMathSciNetGoogle Scholar
  9. 9.
    Roger L. T. Cederberg, A new method for vector generation: Computer Graphics and Image Processing 9 (No. 2), 183–195 (February 1979).Google Scholar
  10. 10.
    Coueignoux and R. Guedj, Computer generation of colored planer patterns on TV-like rasters. Proceedings of the IEEE 68 (No. 7) 909–922 (July 1980).CrossRefGoogle Scholar
  11. 11.
    R. A. Earnshaw, Line tracking for incremental plotters. The Computer Journal 23 (No. 1), 46–52 (February 1980).CrossRefGoogle Scholar
  12. 12.
    R. A. Earnshaw, Line generation for incremental and raster devices. Computer Graphics 11 (No. 2), 199–205 (Summer 1977 — SIGGRAPH ‘77 Proceedings).Google Scholar
  13. 13.
    H. Freeman, Boundary encoding and processing in Picture Processing and Psychopictorics, ed. by B. S. Lipkin and A. Rosenfeld, pp. 241–266. Academic Press, New York (1970).Google Scholar
  14. 14.
    H. Freeman, On the encoding of arbitrary geometric configurations. IRE Trans. EC-102, 260–268 (June 1961).Google Scholar
  15. 15.
    M. D. Gibbs, Angled vector generator program: IBM Technical Disclosure Bulletin 21 (No. 5), 2041–2044 (October 1978).Google Scholar
  16. 16.
    L. Gilman and A. J. Rose, APL An Interactive Approach. John Wiley and Sons, New York (1974).Google Scholar
  17. 17.
    S. K. Hoo, Accelerated Bresenham algorithm. IBM Technical Disclosure Bulletin 18 (No. 4), 1075–1077 (September 1975).Google Scholar
  18. 18.
    K. E. Iverson, A programming language, p. 12. John Wiley & Sons, Inc., New York (1962).MATHGoogle Scholar
  19. 19.
    B. W. Jordan, W. J. Lennon and B. C. Holm, An improved algorithm for the generation of non-parametric curves: IEEE Transactions Computers C-22 (No. 12 ), pp. 1052–1060 (December 1973).Google Scholar
  20. 20.
    M. L. V. Pitteway, Algorithm for drawing elipses or hyperbolae with a digital plotter. The Computer Journal 10 (No. 3), 282–289 (November 1967).CrossRefGoogle Scholar
  21. 21.
    M. L. V. Pitteway, Bresenham’s algorithm with run line coding shortcut. The Computer Journal 25 (No. 1) 1 13–1 15 (February 1982).Google Scholar
  22. 22.
    J. Ramot, Non-parametric curves. IEEE Transactions Computers C-25 (No. 1), 103–104 (January 1976).Google Scholar
  23. 23.
    G. B. Reggiori, Digital computer transformations for irregular line drawings, pp. 46–61. Technical Report 403–22, New York University (April 1972). Available from US Department of Commerce as AD-745–015.Google Scholar
  24. 24.
    A. Rosenfeld, Digital straight line segments. IEEE Transactions Computers C-23 12, 1264–1269 (December 1974).CrossRefMathSciNetGoogle Scholar
  25. 25.
    F. Rubin, Generation of non-parametric curves. IEEE Transactions Computers C-25, 1, 103 (January 1976).CrossRefGoogle Scholar
  26. 26.
    R. F. Sproull, Using program transformations to Derive Line Drawing Algorithms: Transactions on Graphics 1 (No. 4) 259–273 (1982).CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • Jack E. Bresenham
    • 1
  1. 1.IBM Communications Products DivisionUSA

Personalised recommendations