Book Review

2
I57 Book Review Martin Oliver’ Microcomputer Graphics by Roy E. Myers, Addison-Wesley Publishing Co, 1983, pp282, ISBN There are many elementarylintroductory Com- puter Graphics texts on the market, a few good, some average and a great deal rather below acceptable standards. In this personal computer era, when Computer Graphics has become all but common-place and is arousing interest within some never before thought of areas of human activity and knowledge, a really good micro- computer oriented graphics book is truly needed and should be warmly welcomed. But how good should the book be to be considered really good? No one can please everyone, nobody can avoid being biased, no author can cover everything, no book can be definitive. Recalling the assertion “it is easier to criticise and put down than to pinpoint merits and discover the highlights”, I should begin by saying that this is certainly an ‘in-betweener’, i.e., a good book, right in the middle between the average and the yet-to-appear really good one. Part of the Addison-Wesley microbooks technical series, Microcomputer Graphics does not seem to fool the reader, to start with, for it prob- ably covers more topics than most similar texts and provides many useful tools for the true beginner. The back cover warns the prospective buyer that it is “written for the programmer with moderate BASIC skills”, being a “comprehensive look at computer graphics specifically for micro- computers”, while the author, in the preface, states that “no attempt has been made to teach program- ming in BASIC” and that the “examples are writ- ten to illustrate graphics techniques, not program- ming” ones, which is fair enough. If we skip the 0-201-05092-7, 9.95 big claim “AT LAST, SOPHISTICATED COM- PUTER GRAPHICS FOR BASIC PROGRAM- MERS!”, or take ‘sophisticated‘ lightly (let us put ourselves in a lay user’s shoes), practically no not- able disappointment will arise, not even the fact that the book could just as well be titled “Apple Book Reviews Editor Computer Laboratory University of Kent, Canterbury CT2 7NF England Microcomputer Graphics”. Indeed, all example programs (77) are in Applesoft and some special Apple I1 features are focused on. But here again there is no cheating: the front cover’s upper-right corner carries a white strip announcing “With Apple I1 Examples”. The author had to make a choice and I have to agree that the restriction is not exactly restrictive: even the moderate BASIC- skilled programmer is expected to be able to adapt the examples to other microcomputers. Anyway, an appendix, presenting the main differences between Applesoft and other widely used BASIC versions, would surely increase the number of potential readers. I take for granted the author’s assurance that all programs “perform as described”, and the availability of a diskette with them all, along with documented machine level routines, may represent an added benefit to many. The book is divided in seven parts (includ- ing the appendices), the first one, “Introduction”, intending to lead the reader to the “World of Microcomputer Graphics”. Well, yes, that is quite an overstatement and, actually, this part only introduces some simple techniques, through a few programs (a bouncing ball, moire patterns, a circle, ‘paintbrush’ by keyboard), but earlier than it really should. In my opinion Part I should give a com- patible broader overview of computer graphics and microcomputers instead, to motivate and capture the novice, including a review of peripherals, which is the subject of part IV. Part I1 is exclusively an introduction to the Apple 11. It is well written, exploring some tricks hard to draw from the manuals. Part I should have appeared right after this, I think. Part 111 is the standard 2D graphics primer. The topics of this Part’s two chapters, “Software Tools for Computer Graphics” and “Analytic Geometry and Computer Graphics” are fairly predictable. It is apparent that the author (profes- sor of mathematics) handles the problem of “being concise but precise’’ well, considering the public the text is aimed at. Three debatably weak points stand out here though. Firstly, the treatment of geometric transformations is needlessly too short for an introductory book. I think it would be worth North-Holland Computer Graphics Forum, 4 ( 1985) 157- I58

Transcript of Book Review

I57

Book Review

Martin Oliver’

Microcomputer Graphics by Roy E. Myers, Addison-Wesley Publishing Co, 1983, pp282, ISBN

There are many elementarylintroductory Com- puter Graphics texts on the market, a few good, some average and a great deal rather below acceptable standards. In this personal computer era, when Computer Graphics has become all but common-place and is arousing interest within some never before thought of areas of human activity and knowledge, a really good micro- computer oriented graphics book is truly needed and should be warmly welcomed. But how good should the book be to be considered really good? No one can please everyone, nobody can avoid being biased, no author can cover everything, no book can be definitive. Recalling the assertion “it is easier to criticise and put down than to pinpoint merits and discover the highlights”, I should begin by saying that this is certainly an ‘in-betweener’, i.e., a good book, right in the middle between the average and the yet-to-appear really good one.

Part of the Addison-Wesley microbooks technical series, Microcomputer Graphics does not seem to fool the reader, to start with, for it prob- ably covers more topics than most similar texts and provides many useful tools for the true beginner. The back cover warns the prospective buyer that it is “written for the programmer with moderate BASIC skills”, being a “comprehensive look at computer graphics specifically for micro- computers”, while the author, in the preface, states that “no attempt has been made to teach program- ming in BASIC” and that the “examples are writ- ten to illustrate graphics techniques, not program- ming” ones, which is fair enough. If we skip the

0-201-05092-7, 9.95

big claim “AT LAST, SOPHISTICATED COM- PUTER GRAPHICS FOR BASIC PROGRAM- MERS!”, or take ‘sophisticated‘ lightly (let us put ourselves in a lay user’s shoes), practically no not- able disappointment will arise, not even the fact that the book could just as well be titled “Apple

Book Reviews Editor Computer Laboratory University of Kent, Canterbury CT2 7NF England

Microcomputer Graphics”. Indeed, all example programs (77) are in Applesoft and some special Apple I1 features are focused on. But here again there is no cheating: the front cover’s upper-right corner carries a white strip announcing “With Apple I1 Examples”. The author had to make a choice and I have to agree that the restriction is not exactly restrictive: even the moderate BASIC- skilled programmer is expected to be able to adapt the examples to other microcomputers. Anyway, an appendix, presenting the main differences between Applesoft and other widely used BASIC versions, would surely increase the number of potential readers. I take for granted the author’s assurance that all programs “perform as described”, and the availability of a diskette with them all, along with documented machine level routines, may represent an added benefit to many.

The book is divided in seven parts (includ- ing the appendices), the first one, “Introduction”, intending to lead the reader to the “World of Microcomputer Graphics”. Well, yes, that is quite an overstatement and, actually, this part only introduces some simple techniques, through a few programs (a bouncing ball, moire patterns, a circle, ‘paintbrush’ by keyboard), but earlier than it really should. In my opinion Part I should give a com- patible broader overview of computer graphics and microcomputers instead, to motivate and capture the novice, including a review of peripherals, which is the subject of part IV.

Part I1 is exclusively an introduction to the Apple 11. It is well written, exploring some tricks hard to draw from the manuals. Part I should have appeared right after this, I think.

Part 111 is the standard 2D graphics primer. The topics of this Part’s two chapters, “Software Tools for Computer Graphics” and “Analytic Geometry and Computer Graphics” are fairly predictable. It is apparent that the author (profes- sor of mathematics) handles the problem of “being concise but precise’’ well, considering the public the text is aimed at.

Three debatably weak points stand out here though. Firstly, the treatment of geometric transformations is needlessly too short for an introductory book. I think it would be worth

North-Holland Computer Graphics Forum, 4 ( 1985) 157- I58

I58 Book Review

extending the study of transformations to a greater set of selected cases with interest (e.g. proving the non-cornmutatwe order of transformations, show- ing the effect of transformations of figures not standing at the origin, ...). The second aspect, which is extensive in the whole book, is the lack - probably for technical reasons - of interesting actual screen pictures (the only good ones are on the front and back covers). The figures included in this part, illustrating the possibility of a given program assisting the user, show simple transfor- mations of a square placed at the origin, unfor- tunately distorted in all cases. Though the author calls the attention earlier to this fact (i.e. there is no ‘screen scaling’), it would have been better to present manual or plotter drawings to introduce more examples visually, leaving the use of the pro- gram mentioned to the reader’s discretion.

The third point, which also applies to the rest of the book, is the absence of proper credits to various algorithms and techniques, as well as a suitable set of references to aid the dedicated reader (apart from Newman and Sproull and Foley and van Dam books, given without publisher and date, and some in Part 11, related to the Apple). Though it could be argued that the nature and scope of this text dispenses with this preoccupa- tion, it seems a matter of elementary ethics to call the Cohen-Sutherland algorithm by name, for instance.

3D graphics comes next, in the fourth part, which covers, in two chapters, the “Basics” and the “Hidden-Line and Surface Routines”. It is unavoidable to comment on two details. In my opinion, since the author introduces homogeneous coordinates. there is no reason to limit the discus- sion of projections to the perspective case. Not much wouId1;ve been added to, at least, explore parallel projections. On the other hand the some- what confusing, to the inexperienced reader, use of two coordinate systems, could have been avoided. Seeing that 3D transformations were introduced before, it would seem logical to utilise them to derive several types of projections, considering only one coordinate system. From my point of view, this would be a more natural way to approach the subject. The other question is, of course, the hidden-line and surface routines intro- duced in this part. Although this topic is developed here beyond most tutorial books, and basic tools are provided in a didactic fashion, it is

clearly evident that a slightly different choice of steps would lead the reader well to the ‘general’ case, with little additional effort, and without conflicting with the author’s concern to leave the remaining work to the interested person.

Part V of the book is a very brief introduc- tion to animation techniques. The shape-table facility is well covered, though, enabling the user to play around creatively with his Apple.

On the positive side is the inclusion of the programs which draw the images on the cover and one of the figures (nineteen circles that approxi- mate a cardioid). These with the several program- ming aids and tutorial-like programs through-out, emphasise the usefulness of the book.

As for the features missed, (e.g. why shading had not been covered, at least briefly) the reasons are left to the imagination. It would certainly make the book more complete and appealing, par- ticularly if supported by well conceived images. By the way, one of the pictures on the back cover, a pie chart, should have provided the opportunity to develop a rudimentary fill-area algorithm, that would add to the tools furnished and to other approaches to the hidden surface problem. A few more selected exercises (especially if pointing towards complementary topics) would not hurt either.

The overall presentation of the book is good (some hand-written remarks at the side of some listings spoil it a little, however) and I noticed just one typographical error.

In summary, despite the small flaws indi- cated, if you are either a high-school student or university freshman, a lay professional, a hobbyist, ..., who bought, or has access to, a microcomputer (an Apple I1 in particular), and you are getting into BASIC and graphics, and do not want (or have no time) to take courses, etc, taking into account the assumptions and restrictions pointed out, you will find here a nice book to start with. No more, no less.

Microcomputer Graphics surely deserves a place among the texts that attempt to fill a gap that still exists in the Computer Graphics litera- ture. For trying with honesty to reach that goal I do congratulate the author.

Harold P. Santo, Technical University of Lisbon, Portugal