Introduction
This page discusses three AAC-related historical documents. The first document shows AAC [360: 0 0 0 0 0 9] generated by an Apple II computer in the late 1970’s. The second document shows the same AAC generated by a Macintosh computer in the mid-1980’s. The third document is an excerpt from a Macintosh AAC generation source code listing from 1986. This page concludes with a look at AAC [360: 0 0 0 0 0 9] generated by a Macintosh computer in 2017. Unfortunately, no AAC-related source code from the Apple II era has survived.
Document #1: AAC [360: 0 0 0 0 0 9] from circa 1978
This document highlights several differences between the Apple II-based AAC generation software (circa 1978) and modern AAC generation software (2017):
- The earliest version of the Apple II-based AAC curve generation software had base angle a[0] hard-coded to 0. Back then, I considered a[0] a trivial AAC curve generation parameter because changing a[0] merely rotates the AAC around its centroid in the xy plane. This explains why the computer-generated angles shown in the document are 0 0 0 0 9, when in fact this is an order 5 AAC with signature [360: 0 0 0 0 0 9]. At some point in the distant past, I realized that a[0] should be treated as a bona-fide parameter like any other, and scratched out the computer-generated angles and scribbled all of the angles on the document: 0 0 0 0 0 9. A later version of the Apple II software added a[0] as a user-specified parameter.
- The number of slices per circle, A, does not appear anywhere in the document. This is because in the Apple II era all angles were degrees. The idea that the angle measure could be generalized from degrees to slices did not occur to me until 2016.
- The Apple II software lacked the ability to automatically detect when a curve closed. Instead, the user interacted dynamically with the software to construct the curve, repeatedly requesting the generation of a user-specified number of new lines or terminating curve generation. It was up to the user to detect by visual inspection when the curve closed. I scribbled on the document my guess that the closed AAC has 800 lines, which is correct.
Document #2: AAC [360: 0 0 0 0 0 9] from circa 1986
This document was generated by an early Macintosh circa 1986. The improvement in image quality as compared to the Apple II document is apparent, thanks to the Macintosh’s bit-mapped graphics. In the distant past I scribbled the meaning of the parameters given in the header box on the document: the base and difference angles, line segment length, line segment 0 start point, and the number of iterations (line segments) generated so far. Since the closed AAC has 800 line segments, when I generated this curve I accidentally or intentionally generated an additional 9 line segments that merely retraced the curve already generated. The mid-1980s Macintosh software, like the Apple II software, did not have the ability to automatically detect when a curve closed.
Document #3: AAC generation source code from 1986
This document is an excerpt from a BASIC software listing from 1986. The core features of AAC line segment generation can be seen in the document:
- iterate angular backward differences:
FOR n = D-1 to 1 STEP -1 : A(n) = (A(n) + A(n + 1)) mod 360
In the AAC book, the angles are iterated as forward differences, which would be written in BASIC as:
FOR n = 1 to D-1 STEP 1 : A(n) = (A(n) + A(n + 1)) mod 360
- line segment s end point generation:
x2 = x1 + L * cos(A(1) * Cdtr); y2 = y1 + L * sin(A(1) * Cdtr)
Cdtr = constant, degrees to radians conversion factor
- draw the new line segment s:
LINE(x1,y1) – (x2,y2)
- convert the line segment s end point into the line segment s+1 start point to prepare for the next iteration:
x1 = x2; y1 = y2
Microsoft’s implementation of BASIC on the early Macintosh may have been the first personal computer-based software development environment to feature source code syntax highlighting to aid readability.
A modern view
For the purpose of comparison, here is AAC [360: 0 0 0 0 0 9] from 2017 as it appears in the AAC book. The image quality appears higher than the 1978 and 1986 versions in part because this is not a scan of a paper document but the direct import of a PDF file.
Copyright 2017 Stephen P. Hershey
All Rights Reserved