Each year the author has begun an introductory class in computer graphics with the following problem:
Take a piece of graph paper, and select any two squares. Design an algorithm to fill in intervening squares in such a way that the filled squares give the best possible approximation to a straight line joining the two squares.
Rarely do introductory classes begin at such an elementary level -- most classes (and consequently most students) begin with the presumption that the computer "knows" how to draw a straight line, and that the problem in computer graphics is to build up from that point. This paper argues that this elementary problem is very powerful in a variety of ways:
Not surprisingly, students often think of this problem as trivial until they try it. Even when they appreciate the difficulty involved in deriving a good algorithm, they presume it is an "academic" exercise which once they complete they will never use again and which they can replace with canned versions. To emphasize its ongoing utility, the students are then required to use the algorithms to animate objects, to move through RGB color space, to rotate and scale images, and to complete a variety of other operations not generally available in graphics packages.
Architronic: The Electronic Journal of Architecture
Chaikin, G. (1992). How to Draw a Straight Line. Architronic: The Electronic Journal of Architecture. https://oaks.kent.edu/node/16746
Chaikin, George. 1992. “How to Draw a Straight Line”. Architronic: The Electronic Journal of Architecture. https://oaks.kent.edu/node/16746.
Chaikin, G. How to Draw a Straight Line. Architronic: The Electronic Journal of Architecture, Dec. 1992, https://oaks.kent.edu/node/16746.