LIBRARY OF THE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN bi.Q .^4 aop. 2» Digitized by the Internet Archive in 2013 http://archive.org/details/paganthreedimens464part f) Report No. k6h -^h^j^ zjC coo ii+69-0185 PAGAN, A THREE DIMENSIONAL PATTERN GENERATOR by RICHARD LANE PARTRIDGE August, 1971 MOV 9-^72 DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN URBANA, ILLINOIS Report No. k6k PAGAN, A THREE DIMENSIONAL PATTERN GENERATOR by RICHARD LANE PARTRIDGE August, 1971 Department of Computer Science University of Illinois Urbana, Illinois 6l801 Supported in part by the Department of Computer Science, Department of Electrical Engineering and Contract Number U.S. AEC AT(ll-l) IU69 and submitted in partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering at the University of Illinois, August, 1971. Ill ACKNOWLEDGMENT I wish to thank Professor W. J. Poppelbaum and all the members of the Hardware Systems Research Group for the patience and -understanding they have shown me during the course of this project. And, I especially want to express my gratitude to Professor William Kubitz whose guidance and encouragement truly made this thesis possible. IV PREFACE This thesis describes the PAGAN system, a pattern generator for refreshed display of three dimensional figures. Work on the PAGAN project was conducted in the Hardware Systems Research Group of the Department of Computer Science at the University of Illinois. Advisors to the project were W. J. Poppelbaum, Professor of Electrical Engineering and Computer Science and William J. Kubitz, Assistant Professor of Computer Science. This research was supported in part by the Atomic Energy Commission. TABLE OF CONTENTS 1. INTRODUCTION 1 1.1 Need for a Test Pattern Generator . . . . 1 1.2 Lissajous Patterns as Test Figures 3 1.3 Representation of Figures 5 2. SYSTEM DESIGN 9 2.1 Generation in Cylindrical Coordinates 9 2.2 Digital Synchronization of Subassemblies 11 2.3 Organizational Overview 13 3. TECHNICAL DESIGN 17 3.1 Analog Computation Modules 17 3.2 Creation of the Radius Modifier Waveform 19 3.3 cp Accumulator 21 3.k Creation of Sin 9 and Cos 6 22 3.5 R Dependence on Z 30 3.6 Pattern Selection , 32 k. CONCLUSION 36 BIBLIOGRAPHY „ 38 VI LIST OP FIGURES Figure Page 1. Sample Three Dimensional Figures 2 2. Lines Analogous to Latitude and Longitude 6 3. Representative Pyramids 8 k. Circumscribed Hexagon 10 5. The Radius Modifier Waveform for s = 3 5 k, 6 ..... 12 6. Generation of Regular Polygons Ik 7. Generation of Polyhedral Surfaces 16 8. Analog Divider and Multipliers 18 9. Digital to Analog Conversion 20 10. Four Bit Adder - Subtr actor 23 11. Adding and Subtracting Accumulator 23 12. cp UP / DOWN Control 2k 13. Sinusoidal Waveshaper 28 ik. 9 UP / DOWN Control 29 15. R Dependence on Z 31 16. Pattern Selection 33 17. Programming Matrix Card 35 1. INTRODUCTION 1.1 Need for a Test Pattern Generator A portion of the research conducted by the Hardware Systems Research Group of the Department of Computer Science is concerned with display devices. One of the group's major projects, STEREOMATRIX, is a stereoscopic three dimensional display. When supplied with the X, Y, Z coordinates of a point in three dimensional space, STEREOMATRIX determines and projects a polarized stereo - pair of points on a screen. Polarization analyzing glasses separate the left eye and right eye images for the viewer. While the display is designed to interface with a digital computer, the STEREOMATRIX project involves only the construction of the display hardware. To troubleshoot, calibrate and maintain STEREOMATRIX, a three dimensional test pattern generator is needed. The PAGAN project, the subject of this thesis, is such a pattern generator. This hardware system creates waveforms representing three dimen- sional geometric figures like those shown in Figure 1. While suitable for use with other of the Hardware Systems Research Group's display systems, PAGAN'S first intended use is as a tool for STEREOMATRIX. Since STEREOMATRIX has no refresh memory associated with it, to maintain the output, the input must be continually refreshed. As one solution, a memory could be included in the pattern generator and used to refresh the picture. Then a test pattern could be created once, stored and refreshed from the memory. As an alternative solution, the pattern generator could continually regenerate the test pattern at the required refresh rate. The cost effectiveness of each solution also depends on whether the pattern is generated by digital or analog means. CO 4 7 are the regular cross sections outlined at uniform intervals along the height. To visualize the generation of lines of longitude, imagine that one unique point is displayed on each and every cross section. When the cross sections are closely "stacked", the locus of the points, one per cross section, is a line of longitude. Thus, by outlining the entire cross sec- tion at regular intervals and displaying only a small number of points on the intervening cross sections, we create a net of lines of latitude and longitude. By restricting the number and location of such lines, we can display the chosen class of polyhedral figures by their edges. The pyramids of Figure 3 are displayed by combinations of lines of both types „ The gat- ing of points to the output is synchronized with the cross section generation in order to achieve a stationary repeatable figure. c o O O m w •H 9 2. SYSTEM DESIGN 2.1 Generation in Cylindrical Coordinates It is perhaps easier to think of the previous examples of rota- tionally symetric surfaces as being generated in cylindrical coordinates followed by a conversion to rectangular outputs. The controlled amplitude sine and cosine generators may be considered as performing the coordinate transformations : X = r cos 6 Y = r sin 6 As an illustration, let us return to the example of a cone, like that of Figure 1, whose circular cross sections are outlined at discrete intervals. -Viewed in cylindrical coordinates, the angle 6 would be the independent variable. The staircase waveform generated for the Z axis is dependent on the angle as it increments one step per period of 0. And, the radius r, controlling the size of the circular cross sections, is inversely proportional to Z. Now, let us consider the results if the radius were a function of 6 as well as Z. One possibility that comes to mind is a cross section resembl- ing a petaled flower. But, more useful as a test pattern is the use of an appropriately varying radius to shape a circle into a polygon. Consider the circumscribed hexagon of Figure k. In polar coordinates, the polygon is described as a radius, R, and an angle 6. Note that the radius R is a func- tion of the angle Q and r, the radius of the inscribed circle. •r x -it .^ ^ it R ~ co^ -^ O O cr CL Ik >- A a> "a. en O o r c r, < GO o i— ■♦— CD > o c: ■♦— O en O CD "a. ■o o .2> " ^ .2 ^ O o " ^ o: q: < ^_ c CD E CD O CD u co e o c c ■D Q_ < H -z. CD "U CO -g co CO c o en >» o Q_ 3 CD or o o a$ H >» 3 a CD C5 15 the transformation from Q and R in polar coordinates to X and Y in rectangu- lar coordinate outputs. The extension to three dimensions, including a cross section depen- dent on Z, is indicated in Figure 7. The stacking of cross sections is accomplished by incrementing the Z accumulator between the generation of successive polygons. Conical figures result if r is inversely proportional to Z; if r is constant, cylinders are formed. The proper increments and limits for the polygon generator and the combined Z, r accumulator are derived within the programming module. Selection can be made of one of sixteen internally stored pattern programs. Or, other patterns may be generated by directly entering the appropriate data via front panel switches. i k i L cr cr LU LJ cr _J _j LU Q_ Q. Q >-J !j > tr Z> 3 Q o 2 2 < z: K UJ Q_ cr UJ Q. cr UJ < X o> : r •o Q> < ■6- LU < CO CO CD CO z (/> 8 ! 3 CO w O O UJ 1 * £ £ o D/A CONVERSION Q cr § _j O o < ACCUMULATOR < o z g CO cr UJ > z o o > -J o Q_ M I z oft p 8 r ACCUMULATOR cr o rvj 2 O O < Xfl O CO H o5 fn CD § H O PM tin O O ■H -P ctf ?H cu £ 0) CD ■H IT 3. TECHNICAL DESIGN 3.1 Analog Computation Modules In our closer examination of PAGAN'S component circuitry, let us begin with the analog computation of the X and Y outputs. Figure 8 shows the analog divider and multipliers used in PAGAN. The divider module is actually a multiplier placed in the feedback loop of an operational amplifier circuit. Thus, for feedback stability, the denominator input must be a negative voltage. And, the frequency response and accuracy are inversely proportional to the denominator magnitude. For example, if the divisor is the -5v signal corresponding to -cos—, the accuracy and fre- quency response would be only half that of the values with a -lOv denomina- tor input. The specifications of the divider and multiplier modules were determined after allowing for the range of divisors encountered in PAGAN'S polygon generation. Due to the more stringent requirements necessitated by feedback mode operation, the divider module is significantly more expensive than the multipliers. The performance of these modules and the sinusoidal generators will largely determine PAGAN'S output characteristics. On the other hand, the speed of the r digital to analog converter is not as critical. The inscribed radius determines the size of the cross section being outlined. For cones and pyramids, r is ordinarily updated only once for each period of 9. Furthermore, for a cylinder or prism, the inscribed radius remains constant. Because PAGAN'S response time is less dependent on the r signal than on the 6, cp sinusoid waveforms, a relatively inexpensive D/A converter is used. 18 > o< o< - ±. o X 3 O •» « m 5 "o. T3 c a k- > b a c < 4 t > Hi' > in ± o x (A h. 2* J= H 2 o> t o X 1 4 t o u > m o o > 1ft / ■\ 3 o (A ntronic M502 Divider H X N w ^* I a z UIUHI* £ E N 3 u. £C 3 ra a) •H -P •H Q 00 •H 19 3.2 Creation of the Radius Modifier Waveform The other divider input, cos cp is one of the major internal wave- forms. Its origin may be traced in the Generation of Regular Polygons block diagram, Figure 6. The sinusoidal waveshaping network produces cos cp from the angle cp in less than a microsecond. The waveshaper's major compon- ent is a Jhi lb rick /Nexus straight line approximation diode resistor sinu- soidal trans conductor . Trans conductor inputs from to 9v correspond to the angular range of to 90 . The resultant current, ranging from from .5 to Oma and directed into the trans conductor 's output terminal, is proportional to the cosine of the applied voltage. An operation amplifier transforms the trans conductor 's current into a voltage varying from lOv to Ov. Summarizing, the voltage transfer equation is written: out [ inH iov- = cos ii5v-y A subsequent operational amplifier inverter provides the negative sign necessary for divider stability. In an apparent discrepency, the PAGAN sinusoidal waveshaper is limited to one quadrant operation whereas the angle cp appears to cover both the first and fourth quadrants. But, by utilizing the fact that cos cp = cos(-cp) we can limit the range to one quadrant. So, in reality, the trans conductor input voltage corresponds to * "M -l-f + (e + D modulo §*| For proper synchronization, cp is derived digitally and then converted to an analog signal with the circuitry shown in Figure ^. The amplifier producing the negative output is needed only for the 9 waveforms and is not used on the 20 o o C ol o> Ol Q-l L. .AAAAAAAAA O •H W fH 0) > a o o bD O o -p H aJ -P •H faD •H O ON 0) bO •H 21 cp D/A converter card. The Analog Devices MDA-10H 10 bit digital to analog converter -was obtained without an output amplifier. By adding a fast operational amplifier, a converter is formed with better cost - performance ratio than is otherwise available commercially. And, the external buffer- ing amplifier may be set for any gain. In PAGAN'S application, the gain is set so that a digital input, N, equalling 1510n out of a possible 1777 q produces a 9v output. As the converter is used in conjunction with a sinusoidal waveshaper, a digital input of N is equivalent to an angle of — . Thus a digital input varying between and n = 2N/s and synchronized with the 6 angle generation will ' 2jr create the cp waveform that ranges from to — . To be able to display polygons with s sides, n must be an integer. In order to display polygons of between 3 and 8 sides N was chosen as the least common multiple of: 3, h, 5, 6, 7, and 8 (=8^0 1Q = 1510 Q ). 3.3 cp Accumulator The digital sequence used to produce cos $ can come from a pro- grammable modulus up - down counter that reverses its direction at zero and at n = 2N/s. However, PAGAN needs the capability to advance the up - down counter by a variety of increments. Creation of lines of longitude (few points per cross section) require much larger increments than for lines of latitude (entire cross section outlined). In addition, to reach the vertices of an s sided figure, the increments must be factors of n. An up - down counter may be considered as an accumulator with the ability to add or subtract only the least significant bit. It is thus seen that the variable increment extension to an up - down counter actually results in an adding and subtracting accumulator. PAGAN uses an accumulator 22 that interchanges addition and subtraction at zero and n as a variable increment, programmable modulus, up - down counter. The accumulator has been fabricated with four bits per printed circuit card. As displayed in Figure 10 each card consists of: a four bit flip flop storage register, a four bit full adder, selectable increment inversion for two's complement subtraction, and top and bottom limit detectors. The units are cascaded as in Figure 11. If all bits of the accumulator equal zero, then all of the ZERO DETECT lines are high. Likewise, when the contents of the accumulator match the TOP LIMIT inputs, all the TOP DETECT lines are high. The function of the cp UP/DOWN Control picture in Figure 12 is simply to reverse the incre- menting direction when n, the top limit, or zero, the bottom limit, is reached. Thus, when the accumulator reaches its top limit, the up - down control reverses the direction of the count. The accumulator then decre- ments down towards the bottom limit. When the accumulator reaches that bot- tom limit, zero, the up - down control causes the increments to be added once again. 3.^- Creation of Sin 9 and Cos 6 The other sinusoids, sin 9 and cos 9, are generated by the same scheme used to create cos cp. First, the A0 increment is added to the 9 Up - Down Accumulator. Then, the digital angle is converted to an analog voltage that drives two sinusoidal transconductors, one for sin 9 and the other for cos 9. Although this method does not come to mind as the most direct way of creating sinusoids, it is an appropriate means of achieving synchronization . 1469-484 4 Bit Adder -Subtroctor 23 »>*- Top 18 >-r- Corry ■ > _ In C >— Increment < 5 =)E> -»14 Carry Out Bi Co C 4 I*!" 1 B, I, SN 7483N 4 Bit Bj Full Adder 1 2 A< A 3 A; A t ,h? i >^ Clock Clock C 4tfl_ Clock a D Q Clock Q Clear O 0-r=D?' 3D^ X> O Zero -> 21 -> L 04 ^£ Accumulated Sum Figure 10. Four Bit Adder - Subtracter Incrementin g Accumulotor Clock Figure 11. Adding and Subtracting Accumulator 2k m * in /ts/N/N D E O o < c S o Q v. Q. 3 13 V rV 2 E O W to Q DO A 4^ 4^ <+> ^ ^ uj5 (to Oo 2< Si CO P* o < cr o z cc o o it o o 1351 Icol A S gA^ a. a: i o o < z o Q © H O -P id o o o o CD -3" •H o o o a: a o o UJ O _AR,- • • .R-, lines are all high. With R,Z0 low, the R^ bit would also be high making the radius R = 1-11 q- 0n the other hand, if R,Z0 is high, R is forced to zero and the radius is 077q« Thus, two cross sectional diameters are available for cylinders and prisms. For cones and pyramids, four R,Z dependences are available. When R,Z0, R,Z1, R,Z2 are all low, then R = Z~, Rg = zT . . . R = zT. So, R = 000g when Z - 777 and as Z decreases to OOCu, R increases to 177q. Note that R is derived from Z in such a way that the cross sectional radius is inversely dependent on Z. Now, if R,Z1 goes high, then R ... R are the one ' s compliments of Zn ... Z and the sides of the pyramid are less steep. Again, R is forced to zero when R,Z0 is high, thus forming additional slopes parallel to the two just discussed but with a smaller base. 32 3.6 Pattern Selection As has been discussed, PAGAN uses digital increments, limits and control lines to generate waveforms representing the loci of points in three dimensional space. To specify a particular pattern, the proper digital signals can he input in either of two ways as shown in Figure 16. A switch on PAGAN'S front panel allows the choice of direct access to the control lines or a selection among wired in patterns. In the direct access mode, switches on PAGAN'S front panel are enabled to allow direct control of the cp/0 Increment, cp Top Limit, Z Incre- ment, Z Top Limit, and R,Z Dependence lines. By using these switches full advantage may be taken of PAGAN'S capabilities. The cp Top Limit switches are set to n = 2N/s to determine the number of sides on the polygonal cross section. The cp/0 Increment must be chosen such that the increment is an integral factor of both the cp Top Limit, n, and the 6 Top Limit, N. Similarly, the Z Increment must be an integral factor of the Z Top Limit. As previously discussed, the dependence of the cross sectional radius with height is determined by the R,Z Dependence control lines. Since the cp/0 Increment must be an integral factor of both n and N, the minimum number of steps on a cross section of h N points is the least common multiple of h and 2s. If it is felt necessary to display fewer points per cross section, then PAGAN must increment more than one step per point displayed. Although a general scheme of incrementing any number of steps per point has not been implemented, a switch on PAGAN'S front panel does allow the choice of one or two steps per point „ The stored pattern option is offered for those users of PAGAN who are unwilling to experiment with the direct access switches. The four ■*— o Q. T> o> E £ o k- 0> o c o °l 0- 33 o •H -p o (D H (D CO (D -p -p Ph 3^ remaining switches on PAGAN'S front panel allow the selection of one of sixteen internally stored patterns. Using a two level tree structure, the four input switches decode into the proper increments and limits . The patterns are stored in a manner similar to a diode matrix. As seen in Figure 17, the inputs of TTL gate are used in place of the diodes in a diode matrix. The vertical and horizontal lines on Figure 17 are on opposite sides of the printed circuit card; the open circles indicate locations where holes have been drilled through the circuit board. Note that the holes have not been plated through; electrical connection is made only after a pin has been inserted and soldered to both sides. The programming of the matrix is accomplished by connecting each TTL input either to the SN7^155N decoder driver or to 5v. 1469-491 8X10 Pro gr ammin g Motrix 35 + 5V > 17 « M « N <■ 11 - B 15 >- C 16 >- G 18 >- 9 10 11 12 7 13 3 SN74155 1 Decoder 2 > c > 8 > 4 6D > 3 > 2 Figure 17. Programming Matrix Card 36 h. CONCLUSION The PAGAN pattern generator for refreshed display of three dimen- sional figures has been constructed and is operative. The author feels that PAGAN will prove to be a useful instrument for the Hardware Systems Research Group's display devices. Although considered completed in terms of the scope of this thesis, PAGAN has been designed to allow for future expansion. If PAGAN is to be enlarged at a future date, the author would like to offer a few suggestions for improvements. The addition to PAGAN'S repertoire of spherical and toroidal figures will require only a moderate amount of additional circuitry. These figures are formed by having the cross sectional size, r, an analog signal, being sinusoidally dependent on the digital contents of the Z accumulator. In adding this feature, a future designer should not have to significantly modify PAGAN'S existing circuitry. In the interests of economies of time and resources, much of PAGAN'S circuitry was hand wired on universal circuit boards. Should further work on PAGAN be contemplated, some of the hand wired boards might be con- verted to printed circuit cards. In fabricating new printed circuit cards, investigation should be made of new Medium Scale Integration TTL circuitry and new linear Integrated Circuits that have recently become available. The printed circuit cards that have already been laid out do function properly and do not require updating. However, should a modification be desired, use of newer Integrated Circuits should be contemplated. For example, if a differ- ent operational amplifier is desired on the lk69 - 485 Sinusoidal Transcon- ductor card, then a redesign of the card might also include the addition of Integrated Circuit voltage regulators. The Sinusoidal Transconductors require 37 +15v accurate to .01$. Currently, the sinusoidal waveforms are tuned up only by adjusting the system's +15v supplies. As another illustration, back panel wiring could be simplified by using newer MSI on redesigned boards. Should the operational amplifier of the 1^69 -^75 D/A Converter require offset nulling circuitry, the new version of that card could include the digital D/A Buffer. Also, digital comparators logically belong on the IU69 - ^-8U Four Bit Adder card but were not available when that card was laid out. A repartitioning of the MSI comparators would decongest the back panel of at least forty wires. 38 BIBLIOGRAPHY Hewlett-Packard Company. Electronics for Measurement, Analysis, and Computation . Palo Alto, California: Hewlett Packard, 1970 Korn, G. A. and T. M. Korn. Electronic Analog and Hybrid Computers . New York: McGraw-Hill Book Company, 196^ Partridge, R. L. "Quarterly Technical Progress Report". Urbana, Illinois: Department of Computer Science, University of Illinois, July-September 1970 Partridge, R. L. "Quarterly Technical Progress Report". Urbana, Illinois: Department of Computer Science, University of Illinois, October - December 1970 Partridge, R. L. "Quarterly Technical Progress Report". Urbana, Illinois: Department of Computer Science, University of Illinois, January - March 1971 Strauss, Leonard. Wave Generation and Shaping . New York: McGraw-Hill Book Company, I97O Texas Instruments Inc. TTL Integrated Circuits Catalog , Dallas: Texas Instruments, 19&9 >rm (6/«?r 427 US - AT0MIC ENERGY COMMISSION AECM3201 UNIVERSITY-TYPE CONTRACTOR'S RECOMMENDATION FOR DISPOSITION OF SCIENTIFX AND TECHNICAL DOCUMENT ( See Instructions on Reverse Side ) AEC REPORT NO. U69-0185 TYPE OF DOCUMENT (Check one): 2. TITLE PAGAN, A THREE DIMENSIONAL PATTERN GENERATOR E a. Scientific and technical report LJ b. Conference paper not to be published in a journal: Title of conference Date of conference Exact location of conference Sponsoring organization Qc. Other (Specify) RECOMMENDED ANNOUNCEMENT AND DISTRIBUTION (Check one): El a. AEC's normal announcement and distribution procedures may be followed. D b. Make available only within AEC and to AEC contractors and other U.S. Government agencies and their contractors. |_J c Make no announcement or distribution. REASON FOR RECOMMENDED RESTRICTIONS: SUBMITTED BY: NAME AND POSITION (Please print or type) *. L. Partridge (esearch Assistant Organization lepartment of Computer Science diversity of Illinois rbana, Illinois 6l8m Signature .v a f ^ ■ /-^XKZUo/Qf/ £^ Date July 7, 1971 FOR AEC USE ONLY ^r TRA ° T ADM,N,STRATOR ' S COMMENTS. IF ANY. ON ABOVE ANNOUNCEMENT AND DISTRIBUTION RECOMMENDATION: ATENT CLEARANCE: □ a. AEC patent clearance has been granted by responsible AEC patent group. U b. Report has been sent to responsible AEC patent group for clearance. U c. Patent clearance not required. *tt> \9,ll