Pixar and Lucasfilm Favorites 1980-1993

= Available electronically. I am in the process of reentering old ones. See All.

Digital Filtering Tutorial for Computer Graphics

Digital Filtering Tutorial, Part II

Matrix Conventions Revisited

Spline Tutorial Notes  

The Viewing Transformation

Families of Local Matrix Splines (By Tom Duff)

 

Digital Filtering Tutorial for Computer Graphics, Tech Memo 27, 20 Nov 1981 (Revised 3 Mar 1983)

INTRODUCTION. Digital sampling and filtering in both space and time are intrinsic to computer graphics. The pixels of a framebuffer representation of a picture are regularly placed samples in 2-dimensional screen space. Inappropriate application of sampling theory (or no application at all) results in the artifact called "jaggies". The frames of a film representation of a movement are regularly placed samples in time. The artifact here is called "strobing". Spatial filtering, called "antialiasing", is used to soften the jaggies. Temporal filtering, called "motion blur", removes strobing of edges and backward spinning stagecoach wheels.

The purpose of this memo is to review the principles of digital sampling and filtering theory in the context of computer graphics. In particular, it is a rewording of the classical results in terms with which I am comfortable. Hopefully other computer graphicists will also find the restatement helpful.

We will deal here only with the spatial case. The two examples studied are scaling a picture up (magnification) and scaling a picture down (minification). We shall be especially concerned with what happens as magnification becomes minification - as the scale factor passes through 1. We begin with well-known theorems and derive the principal result: four equivalent statements of the minification process and four equivalent statements of the magnification process.

Digital Filtering Tutorial, Part II, Tech Memo 44, 10 May 1982 (Revised 11 May 1983)

INTRODUCTION. This note is to be considered an extension of Digital Filtering Tutorial for Computer Graphics, TM 27. As mentioned in the concluding section, the theory outlined in that memo does not treat the case of variable rate sampling, as occurs, for example, in perspective mappings. The Sampling Theorem assumes samples are taken at a uniform rate. We continue to assume a given input is sampled uniformly - at the pixels - and that the output is sampled uniformly - also at the pixels. So we can still use the Sampling Theorem, for example, to reconstruct the original input from its samples. In case of magnification and minification (scaling the abscissa x by a constant factor), the spacing of the input samples is changed by the scaling but the spacing remains uniform. In this memo, however, a less restricted class of mappings is considered which, in general, does not preserve input sample spacing uniformity. A good illustration of such a mapping is f(x) = (ax+b)/(cx+d) which occurs in perspective.

We shall show in this memo that the simplifications obtained for magnification and minification do not go through for general mappings, including, unfortunately, perspective.

Then we shall discuss some practical filters which are useful for the case where the Sampling Theorem does hold: for scaling, translation, and rotation. The filters include the Catmull-Rom and B-spline cubic spline basis functions and the sinc function made finite with a variety of window functions: Bartlett, Hamming, Hanning, Blackman, Lanczos, Kaiser, etc.

Matrix Conventions Revisited, Tech Memo 64, Revised 24 Jun 1983

INTRODUCTION. Our matrix and transformation conventions need to be restated and backed up with code to encourage their use. Since the modeling and rendering systems are currently being redesigned, it is a good time to ask that they be built according to convention. Some packages to ease this task will be presented here.

An example of what I would like to avoid in the future is the state of affairs currently existing between "med" and "reyes"1. The field of view for "med" is taken to be one-half the total view angle in the vertical direction. For "reyes", it is taken to be the total horizontal viewing angle. In "med" the aspect ratio is the ratio of the Picture System2width to height in the display (non-menu) portion of the screen. For "reyes", the aspect ratio is the aspect ratio of an Ikonas3 framebuffer pixel4 (which is not the aspect ratio of the corresponding video). It is not at all obvious to a user how to get a picture displayed by "med" in the Picture System to appear in the framebuffer with exactly the same relative shape and orientation when rendered there by "reyes".

What we want is a default path from model language through calligraphic display to raster display which is natural and requires no input from the user. And all along the path control would be according to convention.

1 The modeling and rendering programs, respectively, in use at Lucasfilm at the time.

2 A calligraphic line-drawing system by Evans & Sutherland Corp.

3 With a full-color raster scan display device.

4 I would now say "pixel spacing", pixels themselves being point samples without height and width.

 

Spline Tutorial Notes, Tech Memo 77, 8 May 1983

INTRODUCTION. There are many different types of splines, but there are only a few which need be mastered for computer animation. In preparation for these notes, I looked through all the computer graphics texts on my shelf (six of the well-known ones) and found that none of them present splines as simply as I and my colleagues know them. They burden the reader with splines which I believe to be of only historical interest (natural spline) while failing to present one of the most useful splines for computer animation (cardinal spline). In all but one text, the convenient 4´ 4 matrix formulation of cubic splines is not mentioned. So the purpose of these notes is to present two very powerful classes of cubic splines - the cardinal and the beta splines - for computer animation and simple 4´ 4 matrix realizations of them. The Catmull-Rom spline and the B-spline, representing the two classes respectively, will be paid particular attention. The addition of simple parameters to the matrices for these two special cases form the defining matrices for the two general classes.

 

The Viewing Transformation, Tech Memo 84, Jun 24, 1983 (Revised May 4, 1984)

INTRODUCTION. The viewing transformation is the operation that maps a perspective view of an object in world coordinates into a physical device’s display space. In general, this is a complex operation which is best grasped intellectually by the typical computer graphics technique of dividing the operation into a concatenation of simpler operations.

The terms world, model, and eye space will refer to coordinate systems in object space coordinates. World space refers to the 3-D universe in which objects are embedded. Model space refers to a coordinate system embedded in world space but with its origin attached to a particular model. Eye space is similar but has its origin at the eyepoint from which a view is desired. I will tend to use world, model, and object space interchangeably.

The terms device, screen, and display space will be used interchangeably for coordinate systems in image space coordinates. Screen space refers to a coordinate system attached to a display device with the xy plane coincident with the display surface. It can be thought of as a 2-D space with a third dimension carried along for auxiliary purposes (eg, depth cueing).

Orthographic projection will be mentioned from time to time, but the memo concentrates on perspective projection. Other projections such as elevation oblique or plan oblique will not be treated.

The approach here will be to present a convention for specifying a view then follow with a convention for transforming a conventional view. The conventional view specification is the more important as far as conventions are concerned. The other part is a justification for and a guide to the use of the convention.

Families of Local Matrix Splines, by Tom Duff, Tech Memo 104, 21 Dec 1983

ABSTRACT. Jim Clark's Cardinal splines are a family of local interpolating splines with an adjustable tension parameter. The family may be described by a matrix which yields spline coefficients as linear functions of knot values. We characterize the Cardinal spline matrix in a way which suggests a method of adding tension to B-splines, and show that this tension corresponds to the beta2 parameter of Brian Barsky's beta-splines. The similarity between the tension parameters of these two splines suggests looking for an interpolating spline family which incorporates a bias parameter analogous to Barsky's beta1. We demonstrate two such families with different continuity properties (one is G1, the other C1). Finally, we develop a five-parameter characterization of all C0, G1 translation invariant cubic matrix splines and indicate that all the families we have developed are sub-families of it.

Alvy's Full Site