Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!cs.utexas.edu!uunet!mcsun!ukc!mucs!m1!toby From: toby@cs.man.ac.uk (toby) Newsgroups: comp.graphics Subject: A Practical Introduction to PHIGS and PHIGS PLUS Message-ID: Date: 25 Apr 91 16:20:46 GMT Sender: news@cs.man.ac.uk Organization: Department of Computer Science, University of Manchester Lines: 126 As the authors of 'A Practical Introduction to PHIGS and PHIGS PLUS', we feel that it is only fair for us to have the opportunity to respond to two recent reviews of our book, posted on comp.graphics, by Ron Levine. We are all experienced authors, and are accustomed to the usual processes of peer review, and public comment on publicly available material. Normally we would not feel the necessity to respond to reviews which are expressed in conventionally professional terms, but we feel that the content and tone of Mr Levine's reviews merit a special reaction, especially his statements that we present technical information which is inaccurate. We feel that Mr Levine's review contains a number of unreasonable criticisms which might give his readers a quite incorrect view of our book. While Mr Levine's and our opinions of PHIGS and PHIGS PLUS may quite naturally differ, we cannot accept his criticisms that the information contained in the book is inaccurate or erroneous. Mr Levine's reviews have used somewhat emotive language not usually found in the context of serious, professionally written articles, such as 'ludicrous', 'duped', 'mysterious', 'offended', and 'befuddled'. It is certainly not our intention to call Mr Levine's literary style into question, but rather to try to comment as honestly as we can on what we believe are quite unreasonable, and misleading, criticisms. We should point out that the book has now been in the public arena in Europe and the USA for some months, and Mr Levine's comments are very far from typical of the professional opinions we have so far encountered. We would like to state at the outset that we are familiar with the protocols and conventions of USENET, and we are posting this article purely as a critical response. It is not our intention to exploit USENET for commercial gain. In that spirit we shall not comment on what we believe are the merits of the book, nor provide publication details and order information for the benefit of those who have not been following the thread of the articles on comp.graphics. To begin, we agree with Mr Levine's comments that for many workstations, the default deferral mode is not ASAP. We decided to base our examples on the assumption that it was ASAP in order to make our description clearer. We are attempting to present an introduction to PHIGS concepts, not implementation details. Mr Levine takes us to task for our definition of implicit regeneration, which he states is 'just wrong'. On the contrary, we believe it is entirely correct. He also states that the PHIGS Standard Document does not define the term. This is incorrect (it is definition 3.89 in the Standard). Moving to POLYLINE SET WITH DATA, Mr Levine states that 'the explanation ignores the primary rationale for aggregating a number of individual polylines ito a single primitive: namely, that it may frequently result in important performace gains, by reducing the overhead of function calls, bus transactions, etc'. One of the authors is Issues Editor on the ISO PHIGS PLUS committee. There are several reasons for the adoption of this primitive, of which efficiency was not the major consideration. One reason was to cope with the effect of clipping -- if a single polyline is clipped, it can result in multiple polylines internally. POLYLINE SET WITH DATA was felt by the ISO Committee to be the most appropriate primitive to enable a uniform representation. We regard efficiency as an implementation issue, and offering advice on this basis seems inappropriate to us, given the degree to which different implementations vary. Mr Levine states 'I was particularly offended by the discussion of SET OF FILL AREA SET WITH DATA'. We stand behind our comment that 'this degree of complexity is not something which an everyday application programmer wishes to grapple with'. Of course, this is a value judgement on our part, and we feel it to be entirely justified. One of the ideas embodied in the PHIGS Standard is that of 'application layers' which exist to shield applications from many of the tedious nitty gritty and awkward function definitions which PHIGS provides. In his remarks he omits the final part of the 'offending' paragraph: 'SET OF FILL AREA SET 3 WITH DATA would normally be used to write higher-level utility functions - one to display a cube, another to display a tetrahedron, and so on.' We believe this makes the context of the discussion clear. Mr Levine is unhappy about our treatment of NURBs. Early on in the preparation of the book we made a conscious decision not to cover NURBs in all their mathematical glory. Instead, we decided to explain the ways in which NURBs appear as primitives in PHIGS PLUS. No, we do not discuss their invariance under affine transformations, nor convex hull properties and so on. This would take us into an area far from PHIGS and PHIGS PLUS, and this is not our intention. Yes, we make the distinction between rational and non-rational B-splines, because this is precisely the distinction made in PHIGS PLUS. We would not agree that 'the discussion peters out with a weak reference to the books written by Farin and the Killer Bees'. Our text states 'The non-uniform B-Spline formulation is very powerful, and space does not permit a more detailed treatment. For thorough coverage of B-spline curves and surfaces the reader is referred to [Bartels et al] and [Farin, 1990].' Mr Levine states 'So I hope it is understandable that my hackles are raised when I see such an incomplete job rushed into print to take advantage of a market opportunity'. We take exception with this statement, which we find extremely offensive. It would come as a great surprise to us if Mr Levine has any information whatsoever about the history of our book, its development, or market planning. If so, we would wonder how he came by such information. If not, is he really in a position to comment accurately? We doubt it! Mr Levine says 'in general, NO workstations have the ability to modify parts of a displayed picture selectively, if not correctly'. To this, we would reply not true. We have for years used displays which have precisely this capability. We note that Spencer Thomas has commented on this point. Mr Levine states 'The definition of "right-handed coordinate system" in Sec. 3.1 is just ludicrous and has no practical value'. It may appear trivial, but we included it because many books and papers on computer graphics use a left-handed coordinate system. In fact, at one stage in the development of PHIGS, both left- and right-handed systems were proposed! In conclusion we note that Mr Levine's final comment (in his second posting) is as follows: 'But anyone who buys [the book] on the strength of the title's claim that it is a "practical introduction" to PHIGS PLUS is being duped'. This is a rather unpleasant allegation. On the first text page of the book we make it QUITE CLEAR that the book does not cover PHIGS PLUS in anything like the detail we cover PHIGS: 'As this book goes to press (January 1991), the technical specification of PHIGS PLUS is not yet finalized, and it is therefore not possible for us to give a complete description. However, although the details are subject to change, the underlying philosophy is not, and it is from this point of view that we approach PHIGS PLUS in Chapters 13 and 14'. Toby Howard Terry Hewitt Roger Hubbold -- -------------------------------------------------------------------------- Toby Howard Computer Science Department, University of Manchester, Lecturer Oxford Road, Manchester, M13 9PL, U.K. janet: toby@uk.ac.man.cs.p1 internet: toby%p1.cs.man.ac.uk@nsfnet-relay.ac.uk earn/bitnet: toby%uk.ac.man.cs.p1@UKACRL uucp: ...!ukc!mup1!toby voice: +44 61-275-6274 --------------------------------------------------------------------------