Open navigation menu
Close suggestions
Search
Search
en
Change Language
Upload
Sign in
Sign in
Download free for days
0 ratings
0% found this document useful (0 votes)
61 views
727 pages
Graphics Book
Great
Uploaded by
Vicky Sharma
AI-enhanced title
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF or read online on Scribd
Download
Save
Save Graphics book For Later
0%
0% found this document useful, undefined
0%
, undefined
Embed
Share
Print
Report
0 ratings
0% found this document useful (0 votes)
61 views
727 pages
Graphics Book
Great
Uploaded by
Vicky Sharma
AI-enhanced title
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF or read online on Scribd
Carousel Previous
Carousel Next
Download
Save
Save Graphics book For Later
0%
0% found this document useful, undefined
0%
, undefined
Embed
Share
Print
Report
Download now
Download
You are on page 1
/ 727
Search
Fullscreen
PROCEDURAL ELEMENTS FOR COMPUTER GRAPHICS Second Edition David F. Rogers Professor of Aerospace Engineering United States Naval Academy, Annapolis, Ma. WCB raw) " fia McGraw-Hill Boston, Massachusetts Burr Ridge, Illinois Dubuque, Iowa Madison, Wisconsin New York, New York San Francisco California St. Louis, MissouriWCB/McGraw-Hill A Division of The McGraw Fill Companies Copyright © 1998 by The McGraw-Hill Companies, Inc. All rights reserved. Previous edition(s) © 1985. Printed in the United States of America. Except as permitted under the United States Copyright Act of 1976, no part of this publication may be reproduced or distributed in any form or by any means, or stored in a data base or retrieval system, without the prior written permission of the publisher. ‘This book is printed on acid-free paper. 23456789 BKMBKM 909876549210 ISBN 0-07-053548-5 Editorial director: Kevin Kane Publisher: Tom Casson Executive editor: Elizabeth A. Jones Senior developmental editor: Kelley Butcher Marketing manager: John Wannemacher Project manager: Kari Geltemeyer Production supervisor: Heather D. Burbridge Senior designer: Laurie J. Entringer Compositor: NAR Associates Cover illustration credits: Front Cover: Image created by Peter Kipfer and Francois Sillion using a hierarchical radiosity lighting simulation developed in the iMAGIS project GRAVIR/IMAG-INRIA (Grenoble, France) in consultation with the author (Annapolis, MD). The entire project ‘was accomplished electronically from initial concept to final images. ‘The image incor- porates the simple block structure from the first edition to illustrate the vast improve- ments in rendering capability. ‘There are 287 initial surfaces in 157 clusters. Adaptive subdivision resulted in 1,861,974 links. Image Copyright © 1997 Frangois Sillion, Peter Kipfer and David F. Rogers. All rights reserved. Back cover: The image shows an adaptively subdivided coarse mesh, created with a factor of 30 increase in the error metric, superimposed over the front cover image. Image Copyright © 1997 Francois Sillion, Peter Kipfer and David F. Rogers. All rights reserved. Library of Congress Cataloging-in-Publication Data Rogers, David F. Procedural elements for computer graphics / David F. Rogers - - 2nd ed. Poem. Includes bibliographical references and index. ISBN 0-07-053548-5, 1, Computer graphics. I. Title. T385.R63- 1998 006.6 ~~ de21 97-13301 http://www mbhe.comThis one is for my wife and best friend Nancy A. (Nuttall) Rogers without whom this book ‘and all the others ould not have been possible.CONTENTS Chapter 1 1-1 12 14 15 1-6 Tt Preface Preface to the First Edition Introduction To Computer Graphics Overview of Computer Graphics Representing Pictures Preparing Pictures for Presentation Presenting Previously Prepared Pictures Raster Refresh Graphics Displays Frame Buffers Cathode Ray Tube Basics Color CRT Raster Scan Monitors Video Basics American Standard Video High Definition Television Flat Panel Displays Flat CRT Plasma Di lay Blectroluminescent Display Liquid Crystal Display Hardcopy Output Devices Electrostatic Plotters Ink Jet Plotters ‘Thermal Plotters Dye Sublimation Printers Pen and Ink Plotters Laser Printers Color Film Cameras Logical Interactive Devices ‘The Locator Function viiviii Contents 18 19 1-10 Chapter 2 ‘The Valuator Function ‘The Buttom or Choice Function The Pick Function Physical Interactive Devices ‘Tablets ‘Touch Panels Control Dials Joystick ‘Trackball Mouse Function Switches Light Pen Spaceball Data Glove Simulation of Alternate Devices Data Generation Devices Scanners ‘Three-dimensional Digitizers Motion Capture Graphical User Interfaces Cursors Radio Buttons Valuators Scroll Bars Grids Dialog Boxes Menus Teons Sketching 3D Interaction Summary Raster Scan Graphics Line Drawing Algorithms Digital Differential Analyzer Bresenham’s Algorithm Integer Bresenham’s Algorithm General Bresenham’s Algorithm Faster Line Rasterization Algorithms Circle Generation—Bresenham’s Algorithm Ellipse Generation General Function Rasterization Scan Conversion—Generation of the Display Real-time Scan Conversion A Simple Active Edge List Using Pointers 39 39 39 39 40 41 41 42 42 44 44 45 46 46 47 49 49 50 51 52 54 55 58 56 56 87 58 60 63 64 65. 65 66 70 74 7 8 79 88 95 97 97 992-8 2-9 2-16 Chapter 3 3-1 ‘A Sorted Active Edge List ‘An Active Edge List Using a Linked List Updating the Linked List Image Compression Run-length Encoding ‘Area Image Compression Displaying Lines, Characters and Polygons Line Display Character Display Solid Area Scan Conversion Polygon Filling ‘Scan-converting Polygons A Simple Parity Scan Conversion Algorithm Ordered Edge List Polygon Scan Conversion A Simple Ordered Edge List Algorithm More Efficient Ordered Edge List Algorithms ‘The Edge Fill Algorithm ‘The Edge Flag Algorithm Seed Fill Algorithms A Simple Seed Fill Algorithm ‘A Scan Line Seed Fill Algorithm Fundamentals of Antialiasing Supersampling Straight Lines Polygon Interiors Simple Area Antialiasing ‘The Convolution Integral and Antialiasing Filter Functions Halftoning Patterning ‘Thresholding and Error Distribution Ordered dither Clipping ‘Two-dimensional Clipping A Simple Visibility Algorithm End Point Codes Cohen-Sutherland Subdivision Line Clipping Algorithm Midpoint Subdivision Algorithm Two-dimensional Line Clipping for Convex Boundaries Partially Visible Lines Cyrus-Beck Algorithm Partially Visible Lines Contents ix 99 101 102 104 104 107 ut ul 113 14 115 115 118, 121 122 123 126 131 133 134 137 142 143, 144 151 152 156 159 161 161 165 169 175 175 176 17 181 187 192 193 196 199x Contents 3-20 3-21 3-22 Chapter 4 41 42 ‘Totally Visible Lines ‘Totally Invisible Lines Formal Statement of Cyrus-Beck Algorithm Irregular Windows Liang-Barsky Two-dimensional Clipping Comparison with the Cyrus-Beck Algorithm Nicholl-Lee-Nicholl Two-dimensional Clipping Interior and Exterior Clipping Identifying Convex Polygons and Determining the Inward Normal Splitting Concave Polygons ‘Three-dimensional Clipping Three-dimensional Midpoint Subdivision Algorithm ‘Three-dimensional Cyrus-Beck Algorithm Liang-Barsky Three-dimensional Clipping Clipping in Homogeneous Coordinates The Cyrus-Beck Algorithm ‘The Liang-Barsky Algorithm Determining the Inward Normal and ‘Three-dimensional Convex Sets Splitting Concave Volumes Polygon Clipping Reentrant Polygon Clipping— Sutherland-Hodgman Algorithm Determining the Visibility of a Point Line Intersections The Algorithm Liang-Barsky Polygon Clipping Entering and Leaving Vertices Turning Vertices Development of the Algorithm Horizontal and Vertical Bdges ‘The Algorithm Concave Clipping Regions— Weiler—Atherton Algorithm Special Cases Character Clipping Visible Lines and Visible Surfaces Introduction Floating Horizon Algorithm Upper Horizon Lower Horizon Function Interpolation Aliasing 201 201 203 207 208 212 27 221 222 225 228 231 233 239 243 243 245 248 250 253 253 355 237 258 265 265 267 268 271 272 276 282 236 287 287 289 290 290 291 295beiudd 4-10 4-11 412 413, 414 445 416 417 Contents xi ‘The Algorithm Crocs-hatching Roberts Algorithm Volume Matrices Plane Equations Viewing Transformations and Volume Matrices Self-hidden Planes Lines Hidden by Other Volumes Penetrating Volumes Totally Visible Lines The Algorithm Warnock Algorithm Quadtree Data Structure Subdivision Criteria The Relationship of a Polygon to a Window Hierarchical Application of Polygon-Window Relations Finding Surrounder Polygons The Basic Algorithm Appel’s Algorithm The Haloed Line Algorithm Weiler-Atherton Algorithm A Subdivision Algorithm for Curved Surfaces Z-Buffer Algorithm Incrementally Calculating the Depth Hierarchical Z-Buffer ‘The A-Buffer Algorithm List Priority Algorithms ‘The Newell-Newell-Sancha Algorithm Implementing the Tests Binary Space Partitioning ‘The Schumaker Algorithm Binary Space Partition Trees Constructing the BSP Tree BSP Tree Traversal Culling Summary Scan Line Algorithms Scan Line Z-Buffer Algorithm A Spanning Scan Line Algorithm Invisible Coherence ‘An Object Space Scan Line Algorithm Scan Line Algorithms for Curved Surfaces Octirees Octree Display 295 303 303 306 308 3iL 314 318 327 327 330 343 345 347 349 354 385 387 363 366 370 374 375 378 383 384 387 389 390 393, 393 395, 395 398 400 400 401 402 406 415 416 a7 421 424,xii Contents 419 4-20 4-21 Chapter 5 sl 2 3 LELT 5-10 S- Linear Octrees Manipulation of Octrees Boolean Operations Finding Neighboring Voxels Marching Cubes Ambiguous faces A Visible Surface Ray Tracing Algorithm Bounding Volumes Clusters Constructing the Cluster Tree Priority Sort Spatial Subdivision Uniform Spatial Subdivision Nonuniformn Spatial Subdivision Ray-Object Intersections Opaque Visible Surface Algorithm. Summary Rendering Introduction Mlumination Models A Simple Mlumination Model Specular Reflection ‘The Halfway Vector Determining the Surface Normal Determining the Reflection Vector Gouraud Shading Phong Shading Fast Phong Shading A Simple Tlumination Model with Special Effects A Physically Based Dumination Model Energy and Intensity Physically Based Tlumination Models The Torrance-Sparrow Surface Mode! Wavelength Dependence—the Fresnel Term Color Shift Physical Characteristics of Light Sources ‘Transparency Refraction Effects in Transparent Materials Simple Transparency Models ZBuffer Transparency Pseudotransparency Shadows ‘The Scan Conversion Shadow Algorithms Multiple-pass Visible Surface 426 426 426 427 427 429 432 435 439 440 440 441 442 445 447 451 456 457 457 460 461 462 465 468 470 474 476 482 483 484 485 487 488 491 492 494. 496 497 498 500 501 502 5065-12 5-13 5-16 5-17 5-18, 5-19 Contents Shadow Algorithms The Shadow Volume Algorithms Penumbra Shadows Ray Tracing Shadow Algorithms Texture Mapping Functions ‘Two-part Texture Mapping Environment Mapping Bump Mapping Procedural Textures ‘Texture Antialiasing Mipmapping (Image Pyramids) Summed Area Tables Stochastic Models A Global Illumination Model Using Ray Tracing A More Complete Global Illumination Model Using Ray Tracing Advances in Ray Tracing Cone ‘Tracing Beam Tracing Peneil Tracing Stochastic Sampling Ray Tracing from the Light Source Radiosity Enclosures Form Factors ‘The Hemicube Rendering Substructuring Progressive Refinement Sorting The Ambient Contribution Adaptive Subdivision Hemicube Inaccuracies Alternatives to the Hemicube Hierarchical Radiosity and Clustering Radiosity for Specular Environments ‘The Rendering Equation Combined Ray Tracing and Radiosity ‘The Extended Two-pass Algorithm Color ‘Chromaticity ‘Tristimulus Theory of Color Color Primary Systems Color Matching Experiment xiii 508 509 514 517 BIT 525 528 531 534 536 539 542 544 545 548 563 565 565 566 567 567 570 871 573 575 8q7 582 584 585 586 586 587 589 592 594 596 597 598 602 602 603 605 606 606xiv Contents 5-20 B2L 5-22 Appendix References Index Chromaticity Diagrams ‘The 1931 CIE Chromaticity Diagram Uniform Color Spaces Gamut Limitations ‘Transformations Between Color Systems NTSC Color System Color Cubes ‘The CMYK Color System ‘The Ostwald Color System The HSV Color System ‘The HLS Color System ‘The Munsell Color System ‘The Pantone® System Gamma Correction Color Image Quantization ‘The Bit Cutting Algorithm. ‘The Popularity Algorithm ‘The Median Cut Algorithm Octree Quantization Sequential Scalar Quantization Other Quantization Algorithms Color Reproduction Offset Printing Color Separation ‘Tone Reproduction Gray Balance ‘The Black Separation Quantization Effects Calibration Gamut Mapping Specialty Rendering Techniques Duotone Printing Rendering Natural Objects Particle Systems Problems and Projects 609 61L 615 616 618 621 622 623 623 624 627 630 631 631 633 634 635 637 640 644 647 648 649 649 649 650 650 650 650 651 654 654 656 656 657 665 695,PREFACE In the preface to the first edition I wrote “Computer graphics is now a mature dis- cipline.” Little did I or anyone else anticipate the developments of the last dozen years. Then, ray tracing was an active research topic —- now there are freely available programs for personal computers; radiosity was just on the horizon — today commercially rendering systems commonly use this technique; texture was a software application — today hardware texture acceleration is common place; color image quantization algorithms were certainly available in the computer graphics community, but today downloading an image from the World Wide Web depends on color image quantization. The list goes on. Computer graphics is thoroughly integrated into our daily lives, across fields as diverse as advertis- ing, entertainment, medicine, education, science, engineering, navigation, etc. In fact, most computer programs, including the most popular operating systems, have a graphical user interface. The present volume represents a major rewrite of the first edition. As a result, it is nearly twice the size of the original volume. Major new additions include a discussion of graphical user interfaces, an expanded discussion of line, Circle and ellipse drawing and image compression algorithms. New clipping al- gorithms for lines and polygons are presented. In particular, the Liang-Barsky and Nicholl-Lee-Nicholl clipping algorithms are now discussed along with the classical Cohen-Sutherland, midpoint, Cyrus-Beck and Sutherland-Hodgman clipping algorithms. ‘The chapter on visible surface algorithms now includes sections on the Appel, haloed line and A-buffer algorithms, along with discussions of the binary space partitioning (BSP), octree and marching cubes algorithms. The discussion of the visible surface ray tracing algorithm is considerably expanded. The rendering chapter is significantly enhanced. It now includes expanded discussions of physically based illumination models, transparency, shadows and textures, More recent advances in ray tracing, for example, cone, beam, pencil and stochastic ray tracing, are included along with a detailed discussion of the fundamentals of radiosity. The section on color is expanded to include uniform color spaces and a more detailed discussion of gamma correction. Sections on color image quantization and color reproduction for print media are included. xvxvi Procedural Elements for Computer Graphics ‘The book is suitable for use by professional programmers, engineers and scientists. A course in computer graphics at either the senior undergraduate or first year graduate level that emphasizes rendering techniques will benefit from the book. Combining it with its companion volume, Mathematical Elements for Computer Graphics, allows increasing the scope of the course to include manipulative transformations and curves and surfaces. The book retains the detailed worked examples from the first edition as well as presenting new ones —a total of 90 worked examples. An adequate background is provided by college level mathematics and knowledge of a higher-level programming language. No computer graphics book is complete without algorithms. There are three types of algorithms presented in the book. The first is a narrative description often presented in list form; the second is a detailed procedural description of the algorithm, while the third is a more formal presentation using pseudocode. Although many books now present algorithms in C, I resisted this temptation. I believe that actually implementing an algorithm yields better understanding and appreciation of the nuances of the algorithm which no book can cover. Fur- thermore, as the algorithm is implemented additional efficiencies specific to the implementation language frequently suggest themselves. For those algorithms presented in pseudocode, the actual implementation is relatively straightforward. No book is ever written without the assistance of many individuals. Thanks are expressed to my colleagues who read varions parts of the manuscript. John Dill and his students read all of Chapter 3 on clipping and made many valuable comments. Paul Heckbert read both the sections on color image quantization and textures. Both sections are much the better for his comments. Maureen Stone lent her expertise on color reproduction. Eric Haines commented extensively on the ray tracing sections. I particularly enjoyed the ensuing discussions. John Wallace read the section on radiosity and set me straight on one or two key points. However, any errors are mine alone. Special thanks are due my colleagues Frangois Sillion and Peter Kipfer at the iMAGIS project in Grenoble, France, who created the cover image to an impossibly short deadline using hierarchical radiosity software developed under the direction of Frangois Sillion and George Drettakis. You enthusiastically made all the changes that I requested! It was great working with you. My editor of more than two and a half decades, B.J. Clark, has now left for other pastures. Without his initial faith im a young academic who wanted to do a book on computer graphics, and his gentle encouragement over the years, none of this would have happened. Thanks are due Fred Eckardt and his crew at Fine Line Mustrations for their efforts in creating the line art. They even trusted me with the original files. The production crew at McGraw-Hill — Kari Geltemeyer, Laurie Entringer and Heather Burbridge — did an outstanding job. Last, but certainly not least, a very special thanks is due my wife Nancy for not only her long term patience with my need to write, but especially for the outstanding job of copy editing, proof reading and typesetting. I think you now qualify as a TeXpert. David F. RogersPREFACE TO THE FIRST EDITION Computer graphics is now a mature discipline. Both hardware and software are available that facilitate the production of graphical images as diverse as line drawings and realistic renderings of natural objects. A decade ago the hardware and software to generate these graphical images cost hundreds of thousands of dollars. Today, excellent facilities are available for expenditures in the tens of thousands of dollars and lower performance, but in many cases adequate facili- ties are available for tens of hundreds of dollars. The use of computer graphics to enhance information transfer and understanding is endemic in almost all sci- entific and engineering disciplines. Today, no scientist or engineer should be without a basic understanding of the underlying principles of computer graph- ics. Computer graphics is also making deep inroads into the business, medical, advertising, and entertainment industries. The presence in the boardroom of presentation slides prepared using computer graphics facilities as well as more commonplace business applications is considered the norm. ‘Three-dimensional reconstructions using data obtained from CAT scans is becoming commonplace in medical applications. Television as well as other advertising media are now making frequent use of computer graphics and computer animation. The enter- tainment industry has embraced computer graphics with applications as diverse as video games and full-length feature films. Even art is not immune, as evi- denced by some of the photos included in this book. It is almost a decade now since the appearance of the companion volume to this book, Mathematical Elements for Computer Graphics. During that time significant strides in raster scan graphics have been made. The present volume concentrates on these aspects of computer graphics. The book starts with an introduction to computer graphics hardware with an emphasis on the concep- tual understanding of cathode ray tube displays and of interactive devices. The following chapters look at raster scan graphics including line and circle drawing, polygon filling, and antialiasing algorithms; two- and three-dimensional clipping including clipping to arbitrary convex volumes; hidden-line and hidden-surface xviixviii Procedural Elements for Computer Graphics algorithms including ray tracing; and finally, rendering, the art of making real- istic pictures, including local and global illumination models, texture, shadows, transparency, and color effects. The book continues the presentation technique of its predecessor. Each thorough topic discussion is followed by presentation of a detailed algorithm or a worked example, and where appropriate both. ‘The material in the book can be used in its entirety for a semester-long first formal course in computer graphics at either the senior undergraduate or graduate level with an emphasis on raster scan graphics. If first course in com- puter graphics based on the material in the companion volume Mathematical Elements for Computer Graphics is presented, then the material in this book is ideal for a second course. This is the way it is used by the author. If broader material coverage in a single-semester course is desired, then the two volumes can be used together. Suggested topic coverage is: Chapter 1 of both volumes, followed by Chapters 2 and 3 with selected topies from Chapter 4 of Mathe- matical Elements for Computer Graphics, then selected topics from Chapter 2 (eg., 21 to 2-5, 2-7, 215 to 2-19, 2-22, 2-23, 2-28), Chapter 3 (e.g., 3-1, 3-2, 3-4 to 3-6, 3.9, 3-11, 3-15, 3-16), Chapter 4 (e.g., 4-1, part of 4-2 for backplane culling, 4-3, 4-4, 4-7, 4-9, 4-11, 4-18), and Chapter 5 (e.g., 5-1 to 5-3, 5-5, 5-6, 5-14) of the present volume. The book is also designed to be useful to profes- sional programmers, engineers, and scientists. Further, the detailed algorithms and worked examples make it particularly suitable for self-study at any level. Sufficient background is provided by college level mathematics and a knowledge of a higher-level programming language. Some knowledge of data structures is useful but not necessary. There are two types of algorithms presented in the book. The first is a detailed procedural description of the algorithm, presented in narrative style. The second is more formal and uses an algorithmic ‘language’ for presentation. Because of the wide appeal of computer graphics, the choice of an algorithmic presentation language was especially difficult. A number of colleagues were ques- tioned as to their preference. No consensus developed. Computer science faculty generally preferred PASCAL but with a strong sprinkling of C. Industrial col- leagues generally preferred FORTRAN for compatibility with existing software. ‘The author personally prefers BASIC because of its ease of use. Consequently, detailed algorithms are presented in pseudocode. The pseudocode used is based on extensive experience teaching computer graphics to classes that do not en- Joy knowledge of a common programming language. The pseudocode is easily converted to any of the common computer languages. An appendix discusses the pseudocode used. The pseudocode algorithms presented in the book have all been either directly implemented from the pseudocode or the pseudocode has been derived from an operating program in one or more of the common program- ming languages. Implementations range from BASIC on an Apple Ie to PL1 on an IBM 4300 with a number of variations in between. A suit of demonstration programs in available from the author. ‘A word about the production of the book may be of interest. The book was computer typeset using the TEX typesetting system at TYX CorporationPREFACE TO THE FIRST EDITION xix of Reston, Virginia. The manuscript was coded directly from handwritten copy. Galleys and two sets of page proofs were produced on a laser printer for editing and page makeup. Final reproduction copy ready for art insertion was pro- duced on a phototypesetter. The patience and assistance of Jim Gauthier and Mark Hoffman at TYX while the limits of the system were explored and solu- tions to all the myriad small problems found is gratefully acknowledged. The outstanding job done by Louise Bohrer and Beth Lessels in coding the hand- written manuscript is gratefully acknowledged. The usually fine McGraw-Hill copyediting was supervised by David Damstra and Sylvia Warren. No book is ever written without the assistance of many individuals. The book is based on material prepared for use in a graduate level course given at the Johns Hopkins University Applied Physics Laboratory Center beginning in 1978. Thanks are due the many students in this and other courses from whom T have learned so much. Thanks are due Turner Whitted who read the original outline and made valuable suggestions. Thanks are expressed to my colleagues Pete Atherton, Brian Barsky, Ed Catmull, Rob Cook, John Dill, Steve Hansen, Bob Lewand, Gary Meyer, Alvy Ray Smith, Dave Warn, and Kevin Weiler, all of whom read one or more chapters or sections, usually in handwritten manuscript form, red pencil in hand. Their many suggestions and comments served to make this a better book. Thanks are extended to my colleagues Linda Rybak and Linda Adlum who read the entire manuscript and checked the examples. ‘Thanks are due three of my students: Bill Meier who implemented the Roberts algorithm, Gary Boughan who originally suggested the test for convexity discussed in Sec. 3- 7, and Norman Schmidt who originally suggested the polygon splitting technique discussed in Sec. 3-8. Thanks are due Mark Meyerson who implemented the splitting algorithms and assured that the technique was mathematically well founded. The work of Lee Billow and John Metcalf who prepared all the line drawings is especially appreciated. Special thanks are due Steve Satterfield who read and commented on all 800 handwritten manuscript pages. Need more be said! Special thanks are also due my eldest son Stephen who implemented all of the hidden surface algorithms in Chapter 4 as well as a number of other algorithms throughout the book. Our many vigorous discussions served to clarify a number of key points. Finally, a very special note of appreciation is extended to my wife Nancy and to my other two children, Karen and Ransom, who watched their husband and father disappear into his office almost every weeknight and every weekend for a year and a half with never a protest. That is support! Thanks. . David F. RogersCHAPTER ONE INTRODUCTION TO COMPUTER GRAPHICS Today computers and computer graphics are an integral part of daily life for many people. Computer graphics is in daily use in the fields of science, engineer- ing, medicine, entertainment, advertising, the graphic arts, the fine arts, busi- ness, education and training to mention only a few. Today, learning to program involves at least an exposure to two- and in most cases three-dimensional com- puter graphics. Even the way we access our computer systems is in most cases now graphically based. As an illustration of the growth in computer graphics, consider that in the early 1970s SIGGRAPH, the annual conference of the Asso- ciation of Computing Machinery’s (ACM) Special Interest Group on GRAPHics, involved a few hundred people. Today, the annual conference draws tens of thou- sands of participants. 1-1 Overview of Computer Graphics ‘Computer graphics is a complex and diversified technology. To begin to under- stand the technology, it is necessary to subdivide it into manageable parts. This can be accomplished by considering that the end product of computer graphics is a picture. The picture may, of course, be used for a large variety of purposes; eg., it may be an engineering drawing, an exploded parts illustration for a service manual, business graph, an architectural rendering for a proposed construction or design project, an advertising illustration, an image for a medical procedure or a single frame for an animated movie. The picture is the fundamental cohesive concept in computer graphics, We must therefore consider how: Pictures are represented in computer graphics Pictures are prepared for presentation Previously prepared pictures are presented2 Procedural Elements for Computer Graphics Interaction with the picture is accomplished Here ‘picture’ is used in its broadest sense, to mean any collection of lines, points, text, etc. displayed on a graphics device. Representing Pictures Although many algorithms accept picture data as polygons or edges, each poly- gon or edge can in turn be represented by points. Points, then, are the fundamen- tal building blocks of picture representation, Of equal fundamental importance is the algorithm, which explains how to organize these points. To illustrate this, consider a unit square in the first quadrant. The unit square can be represented by its four comer points (see Fig. 1-1): P,(0,0) P2(1,0) Ps(1,1) P,{0,1) An associated algorithmic description might be Connect P:P:PsPsP; in sequence ‘The unit square can also be described by its four edges ELS PP, Ep =P2Py Ey = PsPy By = PsPy Here, the algorithmic description is Connect £1 E2E3B, in sequence Finally, either the points or edges can be used to describe the unit square as a single polygon, e.. Si=PiPpPsPsP) or Sy = EyEn Eg Eq The fundamental building blocks, i.e., points, can be represented as either pairs or triplets of numbers, depending on whether the data are two- or three-dimen- sional. Thus, (1,y:) or (#1, 91,21) represent a point in either two- or three- dimensional space. Two points represent a line or edge, and a collection of three or more points a polygon. The representation of curved lines is usually accomplished by approximating them by connected short straight line sezments. ‘The representation of textual material is quite complex, involving in many cases curved lines or dot matrices. Fundamentally, textual material is again represented by collections of lines and points and an organizing algorithm. Unless the user is concerned with pattern recognition, the design of special character fonts or the design of graphic hardware, he or she need not be concerned with these details. Preparing Pictures for Presentation Pictures ultimately consist of points and a drawing algorithm to display them. This information is generally stored in a file before it is used to present theOverview of Computer Graphics 3 Figure 1-1 Picture data descriptions picture; this file is called a data base. Very complex pictures require very complex: data bases, which require a complex algorithm to access them. These complex data bases contain data organized in various ways, eg., ring structures, B-tree structures, quadtree structures, etc., generally referred to as a data structure. ‘The data base itself may contain pointers, substructures and other nongraphic data. The design of these data bases and the algorithms which access them is an ongoing topic of research, a topic which is clearly beyond the scope of this text. However, many computer graphics applications involve much simpler pictures, for which the user can readily invent simple data structures which can be easily accessed. The simplest is, of course, a lineal list. Surprisingly, this simplest of data structures is quite adequate for many reasonably complex pictures. Because points are the basic building blocks of a graphic data base, the fundamental operations for manipulating these points are of interest. There are three fundamental operations when treating a point as a (geometric) graphic entity: move the beam, pen, cursor, plotting head (hereafter called the cursor) invisibly to the point; draw a visible line to a point from an initial point; or display a dot at that point. Fundamentally there are two ways to specify the position of a point: absolute coordinates, or relative (incremental) coordinates. In relative, or incremental, coordinates, the position of a point is defined by giving the displacement of the point with respect to the previous point. All computer graphics software is based on these fundamental operations. Presenting Previously Prepared Pictures ‘The data used to prepare the picture for presentation is rarely the same as that used to present the picture. The data used to present the picture is frequently called a display file. The display file represents some portion, view or scene of the picture represented by the total data base. The displayed picture is usu- ally formed by rotating, translating, scaling and performing various projections ‘on the data. These basic orientation or viewing preparations are generally per- formed using a 4 x 4 transformation matrix, operating on the data represented in homogeneous coordinates (see [Roge90a)).4 Procedural Elements for Computer Graphics Hidden line or hidden surface removal (see Chapter 4), shading, transpar- ency, texture or color effects (see Chapter 5) may be added before final presen- tation of the picture. If the picture represented by the entire data base is not to be presented, the appropriate portion must be selected. This is a process called clipping. Clipping may be two- or three-dimensional, as appropriate. In some cases, the clipping window, or volume, may have holes in it or may be irregularly shaped. Clipping to standard two- and three-dimensional regions is frequently implemented in hardware. A complete discussion of these effects is given in Chapter 3 ‘Two important concepts associated with presenting a picture are windows and viewports. Windowing is the process of extracting a portion of a data base by clipping the data base to the boundaries of the window. For large data bases, per- formance of the windowing or the clipping operation in software generally is sulli- ciently time consuming that real-time interactive graphics is not possible. Again, sophisticated graphics devices perform this function in special-purpose hardware or microcode. Clipping involves determining which lines or portions of lines in the picture lie outside the window. Those lines or portions of lines are then discarded and not displayed; i.e., they are not passed on to the display device. In two dimensions, a window is specified by values for the left, right, bottom: and top edges of a rectangle. ‘The window edge vahies are specified in user or world coordinates, i.e., the coordinates in which the data base is specified. Floating point numbers are usually used. Clipping is easiest if the edges of the rectangle are parallel to the coordinate axes. Such a window is called a regular clipping window. Irregular windows are Line partially within window: 6 @ part froma ~b displayed: part from b ~ not displayed Line entirely | within | window | entire line g| displayed Line entirely outside of window: not displayed Line partially within ‘window: par from b— displayed; pars a ~b,e-d not displayed Figure 1-2 Two-dimensional windowing (clipping)Overview of Computer Graphics 5 also of interest for many applications (see Chapter 3). ‘Two-dimensional clip- ping is represented in Fig, 1-2. Lines are retained, deleted or partially deleted, depending on whether they are completely or partially within or without the window. In three dimensions, a regular window or clipping volume consists of rectangular parallelepiped (a box) or, for perspective views, a frustum of vision. ‘A typical frustum of vision is shown in Fig 1-3. In Fig. 1-3 the near (hither) boundary is at N, the far (yon) boundary at F and the sides at SL, SR, ST and SB. A viewport is an area of the display device on which the window data is presented. A two-dimensional regular viewport is specified by giving the left, right, bottom and top edges of a rectangle. Viewport values may be given in actual physical device coordinates. When specified in actual physical device co- ordinates, they are frequently given using integers. Viewport coordinates may be normalized to some arbitrary range, e.g.,0 < x < 1.0,0 < y < 1.0, and specified by floating point numbers. The contents of a single window may be displayed in multiple viewports on a single display device, as shown in Fig. 1-4. Keeping the proportions of the window and viewport(s) the same prevents distortion. The mapping of windowed (clipped) data onto a viewport involves translation and scaling (see [Roge90a}). ‘An additional requirement for most pictures is the presentation of alphanu- meric or character data. There are, in general, two methods of generating char- acters — software and hardware. If characters are generated in software using lines, they are treated in the same manner as any other picture element. In fact, this is necessary if they are to be clipped and then transformed along with other picture elements. However, many graphics devices have hardware character gen- erators. When hardware character generators are used, the actual characters are generated just prior to being drawn. Up until this point they are treated SL SR SB Figure 1-3. Three-dimensional frustum of vision.6 Procedural Elements for Computer Graphics Display device Viewport A © World coordinate data base Window | +t p & Figure 1-4 Multiple viewports displaying a single window. as character codes. Hardware character generation yields significant efficiencies However, it is less flexible than software character generation, because it does not allow for clipping or general transformation; e.g., usually only limited rotations and sizes are possible. Before discussing how we interact with the picture, we first look at some fun- damentals of cathode ray tubes and how they are used in computer graphics, and discuss some of the physical output devices that are used in computer graphics, 1-2 Raster Refresh Graphics Displays Although storage tube and calligraphic line drawing refresh graphics displays, sometimes called random line sean displays, are still occasionally used in com- puter graphics,’ the raster refresh graphics display is the predominant graphics display. On both the storage tube and the calligraphic line drawing refresh dis- play, a straight line can be drawn directly from any addressable point to any other addressable point. In contrast, the raster CRT graphics display is a point plotting device. A raster graphics device can be considered a matrix of discrete cells, each of which can be made bright. It is not possible, except in special cases, to directly draw a straight line from one addressable point, or pixel, in the matrix to another.t ‘The line can only be approximated by a series of dots (pixels) close to the path of the line (see Chapter 2). Figure 1-5a illustrates the basic concept. Only in the special cases of completely horizontal, vertical or for square pixels 45° lines, does a straight line of dots or pixels result. This is shown in Fig. 1-db. All other lines appear as a series of stair steps; this is called aliasing, or the ‘jaggies’ (see Chapter 2). See [Roge90a) for a description. 4when a pixel is addressed or identified by its lower left corer, it occupies a finite area to the right and above this point. Addressing starts at 0,0. This means that the pixels in an n x n raster are addressed in the range 0 ton ~ 1. For example, the top and right-most lines in Fig. 1-6 do not represent addressable pizel locations.Raster Refresh Graphics Displays 7 ct tp Picture element or pixel Addressable point |— Rasterized approximation toline AB (@) ow Figure 1-5 Rasterization. (a) General line; (b) special cases. Frame Buffers ‘The most common method of implementing a raster CRT graphics device uses a frame buffer. A frame buffer is a large, contiguous piece of computer memory At a minimum, there is one memory bit for each pixel (picture element) in the raster; this amount of memory is called a bit plane. A 1024 x 1024 element square raster requires 2°° (2° = 1024; 20 = 1024 x 1024) or 1,048,576 memory bits in a single bit plane. The picture is built up in the frame buffer one bit at atime. Because a memory bit has only two states (binary 0 or 1), a single bit plane yields a black-and-white (monochrome) display. Because the frame buffer is a digital device, while the raster CRT is an analog device, conversion from a digital representation to an analog signal must take place when information is read from the frame buffer and displayed on the raster CRT graphics device. This is accomplished by a digital-to-analog converter (DAC). Each pixel in the frame buffer must be accessed and converted before it is visible on the raster CRT. A schematic diagram of a single-bit-plane, black-and-white frame buffer, raster ORT graphics device is shown in Fig. 1-6. Frame buffer Figure 1-6 A singlebit-plane black-and-white frame buffer raster CRT graphics device.8 Procedural Elements for Computer Graphics Color or gray levels are incorporated into a frame buffer raster graphics device by using additional bit planes. Figure 1-7 schematically shows an N- bit- plane gray level frame buffer. The intensity of each pixel on the CRT is controlled by a corresponding pixel location in each of the NV bit planes. The binary value (0 or 1) from each of the N bit planes is loaded into corresponding positions in a register. The resulting binary number is interpreted as an intensity level between 0 (dark) and 2” ~ 1 (full intensity). This is converted into an analog voltage between 0 and the maximum voltage of the electron gun by the DAC. A total of 2 intensity levels are possible. Figure 1-7 illustrates a system with 3 Dit planes for a total of 8 (2%) intensity levels. Each bit plane requires the full complement of memory for a given raster resolution; e.g., a 3-bit-plane frame buffer for a 1024 x 1024 raster requires 3,145,728 (3 x 1024 x 1024) memory bits, An increase in the number of available intensity levels is achieved for a mod- est increase in required memory by using a lookup table; this is shown schemat- ically in Fig. 1-8. Upon reading the bit planes in the frame buffer, the resulting number is used as an index into the lookup table. The lookup table must contain 2N entries, Each entry in the lookup table is W bits wide. W may be greater than N. When this occurs, 2” intensities are available; but only 2 different intensities are available at one time. To get additional intensities, the lookup table must be changed (reloaded) Because there are three primary colors, a simple color frame buffer is imple mented with three bit planes, one for each primary color. Each bit plane drives an individual color gun for each of the three primary colors used in color video. ‘These three primaries (red, green and blue) are combined at the CRT to yield Register DAC on Electron gun Frame buffer” =* Level Figure 1-7 An N-bit-plane gray level frame buffer.Raster Refresh Graphics Displays 9 Look-up tables 2" Intensity levels Ww 2” Ata time 10 2" DAC 7 Electron gua Frame buffer CRT Raster Figure 1-8 An N-bit-plane gray level frame buffer, with a W-bit-wide lookup table. eight colors, as shown in Table 1-1. A simple color raster frame buffer is shown schematically in Fig. 1-9. ‘Additional bit planes can be used for each of the three color guns. A schematic of a multiple-bit-plane color frame buffer, with 8 bit planes per color, .e., a 24-bit-plane frame buffer, is shown in Fig. 1-10. Each group of bit planes drives an 8-bit DAC. Each group generates 256 (2°) shades or intensities of red, green or blue, These are combined into 16,777,216 [(28)$ = 24] possible colors. This is a ‘full’ color frame buffer. ‘The full color frame buffer can be further expanded by using the groups of bit planes as indices to color lookup tables. This is shown schematically in Fig. 1-11. Table 1-1 Simple 3-bit plane frame buffer color combinations Red Green Blue Black 0 0 0 Red a 0 0 Green 0 1 0 Blue 0 0 i Yellow 1 1 0 Cyan 0 1 i Magenta 1 0 i White a 1 i10 Procedural Elements for Computer Graphics Registers Color guns a] DAC Be z BAC (Green| al BAC Red Frame buffer Raster Figure 1-9 Simple color frame buffer. For N bit planes/color, with W-bit-wide color lookup tables, (28) colors from a palette of (23) possible colors can be shown at any one time. For example, for a 24-bit-plane (N = 8) frame buffer with three 10-bit-wide (W = 10) color lookup tables, 16,777,216 (24) colors from a palette of 1,073,741,824 (2°) colors, i.e, about 17 million colors from a palette of a little more than 1 billion, can be obtained. Although three separate lookup tables are schematically shown in Fig. 1-11, for small numbers of physical bit planes (up to about 12) it is more advantageous if the lookup tables are implemented contiguously with (2°) table entries. Because of the large number of pixels in a raster scan graphics device, achiev- ing real-time performance and acceptable refresh or frame rates is not straight- forward. For example, if pixels are accessed individually with an average access time of 200 nanoseconds (200 x 10~® second), then it requires 0.0614 second to access all the pixels in a 640 x 480 frame buffer. This is equivalent to a refresh rate of 16 frames (pictures)/second, well below the required minimum refresh rate of 30 frames/second. A 1024 x 1024 frame buffer contains slightly more than 1 million bits (1 megabit) and, at 200 nanoseconds average access time, re quires 0.21 second to access all the pixels. This is 5 frames/second. A 4096 x 4096 frame buffer contains 16.78 million bits per memory plane! At a 200-nanosecond access time per pixel, it requires 0.3 second to access all the pixels. To achieve a refresh rate of 30 frames/second, a 4096 x 4096 raster requires an average effec- tive access rate of 2 nanoseconds/pixel. Recall that light travels two feet in this small time period. Real-time performance with raster scan devices is achieved by accessing pixels in groups of 16, 32, 64 or more simultaneously, as well as other hardware optimizations. One distinct and important advantage of a raster CRT device is solid area representation. This is shown in Fig. 1-12. Here, a representation of the solid figure bounded by the lines L1, L2, L3, L4 is achieved by setting all the pixelsCathode Ray Tube Basics 11 Registers CORECDGIENCONED Blue 75 ERDAC TOT TaTo Green 172 EbN DAC OTOTOTOTTOL To! Red 19 Sn DAC Red Color guns Figure 1-10 A 24-bit-plane color frame buffer. within the bounding polygon to the appropriate code in the frame buffer. This is called solid area scan conversion. Algorithms for scan conversion are discussed in Chapter 2. 1-3 Cathode Ray Tube Basics A frame buffer es described in Sec. 1-2 is not itself a display device; it is simply used to assemble and hold a digital representation of the picture. The most common display device used with a frame buffer is a video monitor. An un- derstanding of raster displays, and to some extent line drawing refresh displays, requires a basic understanding of CRTs and video display techniques. ‘The CRT used in video monitors is shown schematically in Fig. 1-13. A cathode (negatively charged) is heated until electrons ‘boil’ off in a diverging cloud (electrons repel each other because they have the same charge). These electrons are attracted to a highly charged positive anode. This is the phosphor coating on the inside of the face of the large end of the CRT. If allowed to continue uninterrupted, the electrons simply flood the entire face of the CRT with a bright glow. However, the cloud of electrons is focused into a narrow, precisely12 Procedural Elements for Computer Graphics Color Took-up tables WbEDAC Entries Won DAC Red Wbit DAC ‘Red. Cotor guns ‘CRT Raster Figure 1-11 A 24-bit-plane color frame buffer, with 10-bit-wide lookup tables. collimated beam with an electron lens. At this point, the focused electron beam, produces a single bright spot at the center of the ORT. The electron beam is deflected or positioned to the left or right of the center, and/or above or below the center by means of horizontal and vertical deflection amplifiers. It is at this point that line drawing displays, both storage and refresh, and raster scan displays differ. In a line drawing display, the electron beam may beCathode Ray Tube Basics 13 Figure 1-12 Solid figures with a raster graphics de- vice. deflected directly from any arbitrary position to any other arbitrary position on the face of the CRT (anode). A perfectly straight line results. In contrast, in a raster scan display the beam is deflected in a set, rigidly controlled pattern; this pattern comprises the video picture. Color CRT Raster Scan Monitors In a color raster scan CRT or color monitor there are three electron guns, one for each of the three primary colors, red, green and blue (see Sec. 5-19). The electron guns are frequently arranged in a triangular pattern corresponding to a similar triangular pattern of red, green and blue phosphor dots on the face of the CRT (see Fig. 1-14). The electron guns and the corresponding red, green and blue phosphor dots may also be arranged in a line. To ensure that the individual electron guns excite the correct phosphor dots (e.g., the red gun excites only the red phosphor dot), a perforated metal grid is placed between the electron guns and the face of the CRT. This is the shadow mask of the standard shadow mask color CRT. The perforations in the shadow mask are arranged in the same trian- gular or linear pattern as the phosphor dots. The distance between perforations is called the pitch. The color guns are arranged so that the individual beams con- verge and intersect at the shadow mask (see Fig. 1-15). Upon passing through Electron Horizontal, foe deflection lens amplifier | ones | nw > a 7 a x Electron bea Anode (phosphor coating) ~ Cathode Vertical deflection amplifier Figure 1-13 Cathode ray tube.14 Procedural Elements for Computer Graphics the hole in the shadow mask, the red beam, for example, is prevented or masked from intersecting either the green or blue phosphor dot; it can only intersect the red phosphor dot. By varying the strength of the electron beam for each indi- vidual primary color, different shades (intensities) are obtained. ‘These primary color shades are combined into a large number of colors for each pixel. For a high-resolution display, there are usually two to three color triads for each pixel. 1-4 Video Basics The process of converting the rasterized picture stored in a frame buffer to the rigid display pattern of video is called scan conversion (see also Chapter 2, Secs. 2-15 to 2-25). The scanning pattern and the frequency of repetition are based on both visual perception and electronic principles. The human visual perception systern requires a finite amount of time to resolve the elements of a picture. If individual images are presented at a rate greater than the time required for the visual system to resolve individual images, one image persists while the next is being presented. This persistence of vision is used to achieve flicker-fusion. The result is perceived as a continuous presentation. A number of factors affect flicker, including image brightness and the particular CRT screen phosphor used. Experience indicates that a practical minimum picture presen- tation, or update rate, is 25 frames/second, provided the minimum refresh or repetition rate is twice this, i.e., 50 frames/second. This is actually what is done with movie film. With movie film 24 frames/second are presented, but the pre- sentation of each frame is interrupted so that it is presented twice for an effective repetition rate of 48 frames/second. Thus, for film the update rate is 24 and the refresh rate is 48. The same effect is achieved in video using a technique called interlacing. American Standard Video Video is a raster scan technique. The American standard video system uses a total of 525 horizontal lines, with a frame or viewing aspect ratio of 4:3; ie., the viewing area is three-quarters as high as it is wide. The repetition, or frame rate, Figure 1-14 Phosphor dot pattern for a shadow mask CRT.Video Basics 15 Shadow mask CRT face: red, green, blue phosphor dois Green beam Blue beam Red beam Beam convergence Figure 1-15 Color CRT electron gun and shadow mask arrangement. is 30 frames/second. However, each frame is divided into two fields, each con- taining one-half of the picture. The two fields are interlaced or interwoven, and they are presented alternatively every other ¥/e0 second. One field contains all the odd-numbered scan lines (1, 3, 5,... ), and the other has the even-numbered scan lines (2, 4, 6,...). The scanning pattern begins at the upper left corner of the screen, with the odd field. Each line in the field is scanned or presented from the left to the right. As the electron beam moves across the screen from left to right, it also moves vertically downward but at a much slower rate. Thus, the ‘horizontal’ scan line is in fact slightly slanted. When the beam reaches the right edge of the screen, it is made invisible and rapidly returned to the left edge. This is the horizontal retrace, which usually requires approximately 17 percent of the time allowed for one scan line. The process is then repeated with the next odd scan line. Because half of 525 is 2621/2 lines, the beam is at the bottom center of the screen when the odd scan line field is complete (see Figs. 1-16 and 1-17). The beam is then quickly returned to the top center of the screen. This is the odd field vertical retrace. The time required for the vertical retrace is equivalent to that for 21 lines. The even scan line field is then presented. The even scan line field ends in the lower right hand corner. The even field vertical retrace returns the beam to the upper left hand corner, and the entire sequence is repeated. Thus, two fields are presented for each frame, i.e., 60 fields per second. Because the eye perceives the field repetition rate, this technique significantly reduces flicker. Although the American standard video system calls for 525 lines, only 483 lines are actually visible, because a time equivalent to 21 lines is required to accomplish the vertical retrace for each field.t During this time, the electron beam is invisible, or blanked. The time available for each scan line is calculated for a frame repetition rate of 30 as 1/30 second/frame x 1/525 frame/scan line: 63/2 microseconds/scan line Many raster scan graphics devices use this time for processing other information.16 Procedural Elements for Computer Graphics Figure 1-16 Schematic of a seven-line interlaced scan line pattern. The odd field begins with line 1. ‘The horizontal retrace is shown dashed Because approximately 10'/2 microseconds is required for horizontal retrace, the visible portion of each scan line must be completed in 53 microseconds. With a normal video aspect ratio of 4:3, there are 644 pixels on each scan line. The time available to access and display a pixel is thus 53 microseconds/scan line x 1/644 scan line/pixéls = 82 nanoseconds Equivalent results are obtained for the 625-line 25-frame repetition rate used in Great Britain and in most of Europe. ‘The interlaced technique described here is not required when presenting a video picture. However, this noninterlaced (progressive scan) picture is not com- patible with a standard television set. In fact, most high quality raster scan graphics devices present a noninterlaced picture. To prevent flicker, noninter- laced displays require a repetition rate of at least 60 frames/second. This, of course, reduces the available pixel access and display time by a factor of 2 Higher scan line and pixel-per-line resolutions also decrease the available pixel [Comin Tren one Visible odd Odd seanine | Visible even [ven sean tine o> a bon a 241 lines | 2624 lines 525 tines Figure 1-17 A 525-line standard frame schematic.Flat Panel Displays 17 access and display time, e.g., a 1024 x 1024 resolution requires a pixel access and display time @ quarter of that required by a 512 x 512 resolution — ap- proximately 25 nanoseconds. Thus, a very fast frame buffer memory, a very fast frame buffer controller. an equally fast DAC and a very high bandwidth monitor are required. High Definition Television A recent standard for high definition television (HDTV), or the advanced televi- sion system (ATV), bas been approved. The standard supports 60 Hz interlaced and noninterlaced high resolution displays, as shown in Table 1-2. It also changes the standard aspect ratio (width to height) to 16:9, compared with the 4:3 ratio of the current NTSC television standard. The video compression algorithm is based on the Motion Picture Expert Group (MPEG) MPEG-2 Mair: Profile. The standard also incorporates an improved Dolby AC-3 audio compression encoding. 1-5 Flat Panel Displays Although today the CRT is unrivaled as the computer graphics display of choice, it is bulky, heavy, fragile and currently limited in size to about 50 inches diago- nally, although projection systems are considerably larger. For these as well as other reasons, flat panel displays are becoming of increasing importance. All flat panel displays are raster refresh displays. Flat panel displays are broadly divided into those based on active (light- emitting) and passive (light-modulating) technologies. Among the active tech- nologies are flat CRTs, plasma-gas discharge, electroluminescent (IL) and vac- uum fluorescent displays. Liquid crystal (LC) and light-emitting diodes (LED) are representative of the passive technologies Of the active fat panel display technologies, plasma-gas discharge and elec- troluminescent-based displays are currently most suitable for the relatively large sizes and high resolutions required by computer graphics applications. Except for applications with special requirements, e.g., avionics where light emitting diode-based displays have certain advantages, liquid crystal based displays are the most suitable of the passive technologies. Flat CRT As shown in Fig. 1-18, a flat CRT is obtained by initially projecting the elec- tron beam parallel to the screen and then reflecting it through 90°. Reflecting the electron beam significantly reduces the depth of the CRT bottle and, con- sequently, of the display. The flat CRT has all the performance advantages of the conventional CRT. Currently, flat CRTs are only available in relatively small sizes. The length of the ‘neck’ may limit their utility in larger sizes. The utility of vacuum fluorescent displays is also currently size-limited.18 Procedural Elements for Computer Graphics Table 1-2 ATV System Scanning Formats Vertical Horizontal Aspect Ratio Scan Rate 1080 1920 16:9 601, _-30P, 24P 720 1280 16:9 GOP, 30P, 24P 480 704 16:9 601, 60P, 30P, 24P 480 640 43 601, 60P, 30P, 24P Plasma Display Plasma-gas discharge, electroluminescent and liquid crystal displays have several operating characteristics in common. Each consists of a matrix of individual pixel locations on a raster. Each pixel must contain some mechanism, or material, activated by application of either a voltage or a current, that either emits light or modulates incident light. The required voltage or current is supplied to the pixel using an individual electronic switching device, e.g., a thin film transistor, diode or metal-insulator-metal nonlinear resistor, located at each pixel. Displays using this technology are called active matrix displays. ‘An alternate, and more common, technique that significantly reduces the number of switches or drivers uses row-column addressing of the raster. This technique requires that the display material have a switching threshold. Only when the switching threshold is exceeded does emission or modification of light occur. Part of the voltage or current required to activate an individual pixel is applied through the appropriate row, and the other part through the appropriate column. The individual row or column voltage or current supplied is below the switching threshold; together, it is above the switching threshold. Consequently, unwanted pixels along either the row or column are not activated. Only the desired pixel at the intersection of the row and column receives enough voltage or current to exceed the switching threshold and hence is activated. When using row-column addressing, bistable pixel memory is highly de- sirable. With bistable memory, once it is activated a pixel remains activated until explicitly turned off. Bistable pixel memory eliminates the necessity of Optional deflection coils ——_Eectrostatic deflectors Fresnel | Optional éeflectors eo ‘Cathode + Phosphor Figure 1-18 Flat CRT schematic.Flat Panel Displays 19 constantly refreshing pixels. Consequently, no external memory is required to refresh the display. In addition, the display controller is simplified. ‘The basic technology of a plasma or gas discharge display is quite simple. Essentially, the display consists of a matrix of cells (the raster) in a glass enve- lope. Each cell is filled with a gas (usually neon, or a neon/argon mixture) at low pressure (below atmospheric). When a sufficiently high voltage is applied, the gas dissociates, ie, electrons are stripped from the atoms. The dissociated gas is called a plasma, hence the name plasma display. When the electrons recombine, energy is released in the form of photons; and the gas glows with the character- istic bright orange-red hue. A typical color plasma display is shown in Fig. 1-19. Plasma displays can be AC or DC, or combined AC/DC activated. AC, DC and hybrid AC/DC activated plasma displays are shown schematically in Figs. 1-20a, 1-20b and 1-20c, respectively. The DC activated display is simpler than the AC display. It consists of a dielectric spacer plate, which contains the gas cavities sandwiched between plates containing the row-column conductors ‘The electric field is applied directly to the gas. A DC activated plasma display requires continuous refreshing. Tn the AC activated plasma display, a dielectric layer is placed between the conductors and the gas. Thus, the only coupling between the gas and the conductors is capacitive. Hence, an AC voltage is required to dissociate the gas. AC activated plasma displays have bistable memory; thus, the necessity to continuously refresh the display is eliminated. Bistable memory is obtained by using a low AC keep alive voltage. The characteristic capacitive coupling provides enough voltage to maintain the activity in the conducting pixels, but not enough to activate nonconducting pixels. A hybrid AC/DC plasma display (see Fig. 1~-20c) uses DC voltage to ‘prime’ the gas and make it more easily activated by the AC voltage. The principal ad- vantage of the hybrid AC/DC plasma display is reduced driver circuitry. Large size plasma displays are available, as are high resolution (100 pixels/inch) dis- plays. Gray scale and color systems are also available, as illustrated by Fig. 1-19. Figure 1-19 Typical large color plasma display. (Courtesy of Fujitsu Limited).20 Procedural Elements for Computer Graphics Gas cavity @ ) Glass ‘Transparent thin- aoe film conductor kik wht fn deter conductive stipe with thin-film overcoat Priming plate with thin-film overcoat Devitrified glass spacer ‘Scanning anodes ‘Scanning cathodes Giass scanning plate © Figure 1-20 Basic structure of gas discharge-plasma displays. (a) AC activated; (b) DC activated; (c) AC/DC activatedFlat Panel Displays 21 Electroluminescent Display In an electroluminescent display, a phosphorescent material emits light when excited by either an AC or DC electric field. Because the phosphorescent mate- rial is typically zinc sulfide doped with manganese, electroluminescent displays typically have a yellow color. Pixel addressing uses the row-column technique previously discussed for plasma displays. When the applied voltage exceeds the switching threshold, the manganese dopant electrons are excited. When an ex- cited atom returns to a lower energy state, it emits a photon which causes the characteristic yellow color. Good ‘gray’ scale is obtainable, because the lumines- cence varies with the voltage and frequency of the applied electric field. By using alternate dopants, other colors are obtained. Consequently, using multiple phos- phorescent layers yields a color display. The phosphorescent material is deposited macroscopically either as a powder yielding a thick film, or as molecular scale particles yielding a thin film. An AC or DC excited thin film electroluminescent, display is most frequently used in computer graphics applications. The basic structure of an electroluminescent display is shown in Fig. 1-21. Reasonable- sized displays with reasonable resolutions are currently available. Liquid Crystal Display While plasma and electroluminescent displays are examples of active fiat panel technologies, the liquid crystal display is an example of a passive technology. A typical display is shown in Fig. 1-22. A liquid crystal display either trans- mits or reflects incident light. The polarizing characteristics of certain organic compounds are used to modify the characteristics of the incident light. Phosphoric ayer (zine sulfide; manganese) Viewing direction Figure 1-21 Basic structure of an AC excited electroluminescent display.22 Procedural Elements for Computer Graphics Figure 1-22 Color liquid crystal display (LCD) (Courtesy of NEC Technologies, Inc., © 1997 NEC Technologies, Inc., re- produced with permission). ‘The basic principles of polarized light are shown in Fig. 1-23. In Fig. 1-23a, noncoherent light is passed through the first (left) polarizer. The resulting trans- mitted light is polarized in the zy plane. Since the polarizing axis of the second polarizer is also aligned with the cy plane, the light continues through the second polarizer. In Fig. 1-23b, the polarizing axis of the second polarizer is rotated 90° to that of the first. Consequently, the plane polarized light that passed through the first polarizer is absorbed by the second. Certain organic compounds which exist in the mesophase are stable at tem- peratures between the liquid and solid phases, hencé the name liquid crystal. Plane polarized light transmitted Light absorbed Figure 1-23 Polarization of light. (a) Light transmitted; (b) light absorbed.Flat Panel Displays 23 Liquid crystals exhibit three types of mesophase: smectic, nematic and choles- teric. In the nematic phase, the long axis of the liquid crystal molecules align parallel to each other. The alignment direction is sensitive to temperature, sur- face tension, pressure and, most important for display technology, electric and magnetic fields. The optical characteristics of the liquid crystal are also sensitive to these effects. ‘The key to one type of liquid crystal display technology is the creation of ‘a twisted nematic crystal sandwich, in which the alignment axis of the crystals rotates or twists through 90° from one face of the sandwich to the other. The basic structure of a reflective twisted nematic liquid crystal display is shown in Fig. 1-24. The two plates at the top and bottom of the liquid crystal sandwich are grooved. The top plate is grooved in one direction and the bottom at ninety degrees to that direction. The liquid crystals adjacent to the plate surface align with the grooves, as shown in Fig. 1-24. The display contains two plane polarizers, one on each side of the sandwich and aligned at 90° to each other. With a display pixel in its off or twisted state, light entering the display is plane polarized by the first polarizer, passes through ‘Oft” pixel ‘On" pixel Top potarizer Gnss Liquid crystal material Top (column) electrodes oe ligament plate Bottom (ow) electrodes ~ Glass “Bottom polarizer Twisted nematic structure Alignment of liquid of liquid crystal for an exystal molecules off” pixel, of an “on” pixe! Figure 1-24 Basic structure of a twisted nematic liquid crystal display.24 Procedural Elements for Computer Graphics the liquid crystal sandwich (where it is twisted through 90°), passes through the second polarizer and is reflected back out the display. The pixel appears light. ‘Turning the pixel on by applying an electric field to the liquid crystal sand- wich causes the crystal to untwist. Now light entering the display is plane po- larized by the first polarizer, passes through the liquid crystal sandwich where it, is not twisted and hence is absorbed by the second polarizer. The pixel appears dark. Twisted nematic liquid crystal displays require constant refreshing, A bistable liquid crystal display using smectic liquid crystals is also possible. ‘Two stable orientations of the smectic liquid crystal molecules have different opti- cal properties, e.g., absorption. This difference in optical properties produces an optical contrast. A voltage pulse causes the molecules to change state. Bistable liquid crystal displays do not require refreshing. Color liquid crystal displays use colored filters or phosphors with twisted- nematic technology or use guest-host (dye) technology. Guest-host liquid erys- tal displays combine dichroic-dye guest molecules with the host liquid crystal molecules. The spectral characteristics of different guest molecules are used to produce different colors. Here, the application of an electric field realigns the orientation of both the guest and host molecules, to allow transmission of light. Dichroie-dye molecule Liquid-crystal molecule vam 4 a Polarizer (by Figure 1-25 Guest-host liquid crystal display dye and molecules aligned to (a) block transmission and (b) allow transmission.Hardcopy Output Devices 25 [A typical guest-host transmissive liquid crystal display is shown schematically in Fig. 1-26. Note that only a single polarizer is required. Reflective guest-host liquid erystal displays are also possible. Liquid crystal displays are either row- column addressed or contain active matrix elements, e.g., individual transistors or diodes at each pixel. 1-6 Hardcopy Output Devices There is a large selection of hardcopy output devices, for example electrostatic, ink jet, pen and ink, thermal and dye sublimation plotter/printers; laser printers: phototypesetters, ete. Here we discuss only a few of the more common devices. Electrostatic Plotters ‘An electrostatic plotter is a raster scan device (see Sec. 1-2). Basically, it oper- ates by depositing small particles of toner onto electrostatically charged areas of a special paper. Figure 1-26 shows the general scheme employed. In more detail, a specially coated medium that will hold an electrostatic charge is passed over a writing head, which contains one or more rows of small writing nibs or styli. Higher densities require multiple rows of styli. As the medium is passed over the styli, an individual dot of negative electrostatic charge is deposited by each stylus. The medium is then passed over a toner applicator, where positively charged particles of liquid toner are attracted to the negatively Paper Backplate EP ‘Vacuum channel / tee as, eo os ae toner | toner | tet toner Wier fea fouatiin | fosntain | fovmain | fountain igi Liquid agus gia toner topet_ toner. toner applied applied applied applied Figure 1-26 Conceptual description of a multiple-pass color electrostatic plotter.26 Procedural Elements for Computer Graphics charged dots on the medium, making them visible. The carbon toner particles are subsequently dried and fixed to the medium to make them permanent. Available plotting media include opaque and translucent vellum paper, and clear and matte polyester films. Electrostatic plotters are available in large widths, and the length of the plot is limited only by the length of the media roll. The resolution of an electrostatic plotter is given by the number of styli or dots per inch (dpi). Accuracy is defined in a somewhat different way. Assuming that the direction of media movement can be reversed, accuracy is defined as the error that occurs in the position of two dots, made by the same stylus on two successive passes of the medium ‘An electrostatic plotter is a raster device, consequently aliasing occurs (see Sec. 2-16). High resolution devices attempt to minimize the effects of aliasing by overlapping the individual dots. Figure 1-27 shows typical dot patterns. Typical dot overlap is 30 to 50 percent. Since an electrostatic plotter is a raster scan de- vice, picture elements, e.g., lines and polygons, must be rasterized and the picture organized into raster scan order: top to bottom, left to right. Although prepara- tion of the picture in raster format can be accomplished by the host computer, it poses significant computational requirements. Furthermore, communication of the rasterized picture to the plotter at sufficient speed to fully utilize the plot- ter’s capability requires a high speed interface. Consequently, many electrostatic plotters use special purpose controllers to perform these functions [BenD86). A typical electrostatic plotter and output is shown in Fig. 1-28. Color electrostatic plotters are available. The three subtractive primary colors (cyan, magenta and yellow (CMY), see Sec. 5-19) and black are applied to the medium in either a single pass or in four successive passes. If the colors are applied in a single pass, separate rows of nibs are used for each of the colors, If the colors are applied in successive passes, the medium is rewound between application of each color. Color shading of filled polygons is accomplished using dither and patterning (see Sec. 2-17). The number of available colors depends on both the size of the pattern used, e.g., 2 x 2,3 x 3 or 4x 4, and the resolution of the plotter Ink Jet Plotters Ink jet printers are raster scan devices. They are particularly suited for gener- ating low cost. color output. The basic idea is to shoot tiny droplets of ink onto Figure 1-27 Dot patterns. (a) Nonoverlapping; (b) overlapping y only; (¢) overlap ping = and y.Hardcopy Output Devices 27 (b) Figure 1-28 Electrostatic plotter. (Courtesy of Hewlett Packard). Typical output. (a) Plotter; (b) low resolution 100 dpi; (c) high resolution 400 dpi. (Courtesy of Versatec Corp.).28 Procedural Elements for Computer Graphics a medium. ‘There are basically two types of ink jet printers, continuous flow and drop-on-demand. ‘The continuous flow ink jet produces a stream of droplets by spraying ink out of a nozzle. The stream of ink from the nozzle is broken up into droplets by ultrasonic waves. If ink is desired on the medium, selected droplets are electrostatically charged. Deflection plates are used to then direct the droplet onto the medium. If not, the droplet is deflected into a gutter, from which the ink is returned to the reservoir. Paper and transparency film are typical media. This system is shown schematically in Fig. 1-29a. Drop-on-cemand technology, as its name implies, fires ink at the medium only if a dot is required at a particular location. Here, ink from a reservoir is supplied to a nozzle under pressure. The ink is fired on demand by applying an electric voltage to a piezoelectric crystal as the head makes a pass across the medium. When a voltage is applied, the piezoelectric crystal expands, decreasing the volume of the ink chamber. This causes a drop of ink to squirt out of the nozzle. Release of the voltage causes the piezoelectric crystal to contract, decreasing the volume of the reservoir and sucking the ink back into the nozzle. A typical arrangement is shown schematically in Fig. 1-29b. ‘The resolution of ink jet printers is determined by the size of the droplet, and hence by the size of the nozzle. Because of the extremely small nozzle size required, nozzle clogging, ink contamination and air bubbles in the ink can be significant problems. Color ink jet printers typically use four nozzles, three for the subtractive pri- mary colors cyan, magenta and yellow, and one for black. One of the advantages of color ink jet technology is its ability to blend colors. Because liquid droplets of ink are used in a single pass across the medium, the droplets blend together before drying. This gives ink jet colors a depth and vibrancy not found in most other reflective technologies. Again, patterning and dither, including multiply dot size techniques, are used to produce several thousand colors (see Sec. 2-17 and [Kubo84}) Thermal Plotters There are basically two thermal printing or plotting techniques, direct: thermal transfer and indirect thermal transfer. The direct thermal transfer technique uses a temperature sensitive paper that changes color when heated. The image is formed by print head elements that selectively heat dots on the paper as the head moves across it. Either dot matrix print heads or full row nib heads, similar to those in electrostatic plotters, are used. The chief and most serious limitation of the direct thermal transfer technique is the special paper that unfortunately fades with time. ‘The indirect thermal transfer technique uses @ thin film or paper ribbon coated with a wax-based ink. Heating elements which are usually located behind the ribbon melt the wax coating. The pigmented ink is then rolled onto the paper. Either dot matrix print heads that move across the medium or a fullHardcopy Output Devices 29 ee Deflection resenow Nouzle electrode P; a) $a Controt a Control Deflection - } Gutter Unasonie === (a) Piezoelectric crystal Ink supply Discharged To prevent backflow () Figure 1-29 Schematics of various ink jet printer technologies. (a) Continuous; (b) drop-on-demand. row of nib heads are used. Figure 1-30 schematically illustrates this technique. ‘The medium is ordinary paper. Color is obtained by using multicolored ribbons. ‘Typically, seven colors are obtained directly by combining the CMY primaries from the ribbon, plus black. Patterning and dither are used to expand the color palette (see Sec. 2-17 and [Kubo84]). Since the inks are not absorbed by the paper, quite brilliant colors are obtained. Indirect thermal transfer inks have excellent longevity.30 Procedural Elements for Computer Graphics Thermal printhead Ink in Ribbon wax binder Thecmal ansfer | [ ~] medium I Plain paper Transferred ink Figure 1-30 Indirect thermal transfer technique. Dye Sublimation Printers Dye sublimation printers currently provide the highest quality color printer out- put. Dye sublimation is sometimes called dye diffusion, dye transfer or sub- limable dye technology. Dye sublimation printing is continuous tone in contrast to, e.g., thermal wax transfer, which depends upon halftoning to generate large numbers of colors. The plastic dye sublimation transfer ribbon, which contains the three or four color dyes (cyan, magenta, yellow and black, CMYK), lies be- tween the print head containing the heating elements and the paper. Heating the dye on the dye sublimation transfer ribbon to various temperatures causes varying amounts of dye to change from a solid to a gas and diffuse (sublimate) onto the paper or the resin coating of a transparency. Consequently, varying intensity levels are produced. By carefully controlling the temperature, precise amounts of each of the primary colored dyes are transferred. The amount and duration of the heat, and hence the amount of dye transferred and absorbed by the medium, is also used to vary the intensity and saturation of the dot. The dyes combine on a single pixel and diffuse to adjacent pixels to yield the desired con- tinuous tone color, rather than depending upon halftoning and the eyes ability as an integrator to yield the impression of continuous tone. In addition, because halftoning is not required, the apparent resolution of the device is increased in comparison to devices that depend upon halftoning. Dye sublimation yields the best results when used for continuous tone (natural) images. Unless special im- age processing software is used, lines and characters may be fuzzy, have tails or even disappear. In addition, images rendered onto a transparency may appear washed out and undersaturated. Fundamentally, this is because dyes are trans- parent and represent a subtractive color system. As light passes through the dye it absorbs the color of the dye. With an opaque medium there are two chances to absorb the color; once when the light is incident upon the medium and once after it has been reflected from the medium. With transparent media, the color is absorbed only once as the light passes through the medium. The majority of dye sublimation printers are four color printers: cyan, magenta, yellow andHardcopy Output Devices 31 black, Although not a severe limitation, it does somewhat constrain the num- ber of possible colors. Varying the dot size significantly increases the number of possible colors (see Sec. 2-17). Using more colors, e.g., cyan, magenta, yellow, black, light and medium cyan, and light and medium magenta, with a fixed dot size, also significantly increases the number of possible colors. An example of a dye sublimation printer is shown in Fig. 1-31. Pen and Ink Plotters Digital pen and ink plotters are of three basic types, flatbed, drum and pinch roller. The basic mechanisms are shown schematically in Fig. 1-32. In a moving-arm flatbed plotter (see Fig. 1-32a) the medium is fixed in position on the bed of the plotter. Two-dimensional motion of the plotting head is obtained by movement of an arm suspended across the width of the plotter bed. This provides motion in one direction. Motion in the second direction is obtained by moving the plotting head along the suspended arm. ‘A moving head flatbed plotter (see Fig. 1-32b) uses a plotting tool carriage suspended above the bed by magnetic forces that are counterbalanced by an air bearing. This arrangement provides nearly frictionless movement. Movernent of the head in two dimensions is controlled electromagnetically, using the Sawyer motor principle. Large flatbed plotters usually fix the medium to the plotter bed using vac- uum. Large flatbed plotters have resolutions and plotting speeds as high as 0.0004 inch and 3600 inch/minute, respectively. Flatbed plotters are available in sizes from 81/2 x 11 inches up to several tens of feet in length and width. A large variety of plotting media can be used, e.g., paper, vellum, Mylar, photographic Figure 1-31 Dye sublimation printer.(Cour- tesy of Iris Graphics, Inc., ascitex company).32. Procedural Elements for Computer Graphics Granite slab Air bearing a AB sure , Weng sitace Fee moving moor (a) (b) er na ane | een \ [veut VAI \ holes + | | cr eet | Vacuum chamber © @ Figure 1-32 Schematic diagrams of pen and ink plotter types. (a) Flatbed — moving arm; (b) flatbed —- moving head; (c) drum; (4) pinch roller, film, scribe coat, sheet metal and cloth. Combined with this large variety of media is an accompanying variety of plotting tools, including ballpoint, felt tip and wet ink pens; photographic and laser light beams; engraving tools, scribe and cloth cutters and laser cutting beams. As the wide variety of available media, and tools suggests, flatbed plotters are used in a wide variety of applications. In addition to traditional pen and ink plots, large flatbed plotters are used to gen- erate masks for printed circuit boards and integrated circuits. Here, the plotting medium is photographic film, and the plotting tool is a light beam. Adaptations of flatbed plotters are also used to cut out men’s and ladies’ apparel and even sailboat sails. Here, the medium is an appropriate cloth and the plotting tool a knife or laser cutting beam. Smaller, lower cost flatbed plotters are less versatile, have lower resolutions and lower plotting speeds. They also typically use an electrostatic hold-down system for the media, which are generally limited to paper, vellum and trans- parency film. Drum plotters (see Fig, 1-32c) are mechanically more complex than flatbed plotters. Here, the plotting head moves along a fixed arm to provide one dimen- sion. The medium itself is rolled back and forth under the fixed arm to provide the second dimension. ‘The medium is fixed to the drum using either a vacuum or tensioned supply and takeup rollers. Media types are limited to those that are easily rolled.Hardcopy Output Devices 33 ‘Typically, the drum plotter medium is either paper ot vellum. Only the width of the medium is fixed. The length of a plot is limited only by the length of the medium roll. Although resolutions are similar to those for flatbed plotters (0.0005 inch), plotting speeds are typically considerably lower. The pinch roller plotter is a hybrid of the flatbed and drum plotters. The drawing medium is held at each edge between a pinch wheel and the plotting Surface (see Fig. 1-324). The plotting surface is cylindrical. As the pinch wheel rotates, the medium moves back and forth under a fixed arm on which the plotting head moves. These plotters use either cut or roll stock, which is usually limited to paper, vellum or transparency film. A pinch roll plotter is shown in Fig. 1-33. * Most pen and ink plotters operate in an incremental mode driven by stepping motors. The plotting tool moves across the plotting surface in a series of small steps. The number of movement directions is limited to eight, horizontal, vertical and diagonal, as shown in Fig. 1-34. This results in lines other than those in the directions shown in Fig. 1-34, appearing as a series of stair steps. This stair-step, or jaggies, effect is a manifestation of a fundamental phenomenon called aliasing (see Sec. 2-16). The algorithm usually chosen to select the one of eight movernent directions that most nearly approximates the direction of the line is Bresenham’s algorithm (see Sec. 2-3). Although Bresenham’s algorithm is most often associated with raster scan displays, it was originally developed for digital incremental plotters. ‘True motion directions are obtained by using Figure 1-33 Pinch roll plotter. (Courtesy of Hewlett Packard)34 Procedural Elements for Computer Graphics \ Figure 1-34 Bight directions of movement for incremental plotters. servomotors to drive the plotting head. In this case, a feedback servocireuit constantly modulates both drive motors simultaneously to yield smooth lines. Although speed is important in a plotter, the acceleration of the plotting head is generally more important for overall throughput. Fundamentally, this is because the typical drawing is made up of short straight line segments. Conse- quently, the plotter must start and stop between segments. High acceleration allows the plotter to attain full speed more quickly. Many plotter controllers are also equipped with look-ahead software, designed to prevent the plotter from un- necessarily stopping, ¢.g., when a series of short connected straight line segments is used to represent a curve Pen and ink plotters produce the highest quality line drawing output of any graphics device. An example is shown in Fig. 1-35, Laser Printers Although originally designed for printing and typographic applications, laser printers are used extensively for computer graphics output. This is particularly true in publishing, where systems for combining print and graphics on the same output page are important (see for example [Adob85]). These systems are ca- pable of combining near-typeset-quality text, line art and halftone pictures on a single page. Figure 1-36 shows a typical example A laser printer is a raster scan device. The basic process, shown schemat- ically in Fig. 1-37, is similar to xerography. The print engine contains a drum that is coated with a photoconductive material. The drum is scanned by either a gas or semiconductor diode laser. As the drum rotates, the coating is electrically charged. The drum remains charged until struck by the highly coherent light from the laser. The laser light selectively discharges areas (dots) on the drum to form a negative image, i.e., the charge is removed from dots that do not appear in the final image. Positioning of the laser beam on the drum is accomplished ‘This description is for what is called a write-black print engine. Write-white engines reverse the process.
You might also like
Procedural Elements of Computer Graphics PDF by C. Rogers
PDF
73% (22)
Procedural Elements of Computer Graphics PDF by C. Rogers
727 pages
CGR Manual
PDF
No ratings yet
CGR Manual
57 pages
ICG Material
PDF
No ratings yet
ICG Material
10 pages
Computer Graphics A Programming Approach Harrington, Steven 1987
PDF
67% (3)
Computer Graphics A Programming Approach Harrington, Steven 1987
492 pages
David F Rogers J Alan Adams Mathematical Elements For Computer Graphics 1989 Mcgraw Hillpdf PDF Free
PDF
No ratings yet
David F Rogers J Alan Adams Mathematical Elements For Computer Graphics 1989 Mcgraw Hillpdf PDF Free
635 pages
It Iii I CG
PDF
No ratings yet
It Iii I CG
22 pages
David F. Rogers, J.Alan Adams-Mathematical Elements For Computer Graphics (1976) PDF
PDF
No ratings yet
David F. Rogers, J.Alan Adams-Mathematical Elements For Computer Graphics (1976) PDF
260 pages
Mathematical Elements For Computer Graphics by David F. Rogers, J.Alan Adams
PDF
86% (14)
Mathematical Elements For Computer Graphics by David F. Rogers, J.Alan Adams
260 pages
Computer Graphics - Hidden Surface Elimination
PDF
100% (1)
Computer Graphics - Hidden Surface Elimination
68 pages
Computer Graphics Computer Graphics: Visible Surface Detection Methods Visible Surface Detection Methods
PDF
No ratings yet
Computer Graphics Computer Graphics: Visible Surface Detection Methods Visible Surface Detection Methods
38 pages
Angel 6 E25
PDF
No ratings yet
Angel 6 E25
21 pages
Visual Realism
PDF
No ratings yet
Visual Realism
69 pages
BookChapter HiddenLinesandSurfaces
PDF
No ratings yet
BookChapter HiddenLinesandSurfaces
24 pages
Akhilesh CG Notes 4,5
PDF
No ratings yet
Akhilesh CG Notes 4,5
16 pages
5th Sem Syllabus
PDF
No ratings yet
5th Sem Syllabus
3 pages
CG Guidelines
PDF
No ratings yet
CG Guidelines
2 pages
Ivan Sutherland - Characterization of Ten Hidden-Surface Algorithms (1974)
PDF
No ratings yet
Ivan Sutherland - Characterization of Ten Hidden-Surface Algorithms (1974)
55 pages
CG 7
PDF
No ratings yet
CG 7
8 pages
Umich Scanline
PDF
No ratings yet
Umich Scanline
15 pages
Repeat Until X Y: Q-The Midpoint Circle Drawing Algorithm
PDF
No ratings yet
Repeat Until X Y: Q-The Midpoint Circle Drawing Algorithm
35 pages
CG Lab Manual
PDF
No ratings yet
CG Lab Manual
30 pages
Adobe Scan 01 Dec 2023
PDF
No ratings yet
Adobe Scan 01 Dec 2023
6 pages
55577075
PDF
No ratings yet
55577075
7 pages
Computer Graphics Hidden Surfaces
PDF
No ratings yet
Computer Graphics Hidden Surfaces
29 pages
Mathematical Elements For Computer Graphics by David F Rogers J Alan Adams PDF
PDF
No ratings yet
Mathematical Elements For Computer Graphics by David F Rogers J Alan Adams PDF
260 pages
PB Graphics 2018
PDF
No ratings yet
PB Graphics 2018
28 pages
CGR 21212555855
PDF
No ratings yet
CGR 21212555855
12 pages
CGM Que. Bank Sol - 1
PDF
No ratings yet
CGM Que. Bank Sol - 1
23 pages
Ug Bca Computer Applications 10152 Bca Computer Graphics Final 9471
PDF
No ratings yet
Ug Bca Computer Applications 10152 Bca Computer Graphics Final 9471
273 pages
Z-Buffer and Rasterization: Jian Huang
PDF
No ratings yet
Z-Buffer and Rasterization: Jian Huang
38 pages
Mod 2 Lecture 3 CG Hidden Lines
PDF
No ratings yet
Mod 2 Lecture 3 CG Hidden Lines
20 pages
Graphics Display
PDF
No ratings yet
Graphics Display
59 pages
Computer Graphics
PDF
50% (2)
Computer Graphics
325 pages
A Hidden Surface Algorithm For Computer Generated Halftone Pictures
PDF
No ratings yet
A Hidden Surface Algorithm For Computer Generated Halftone Pictures
32 pages
15 Hidden Surface
PDF
No ratings yet
15 Hidden Surface
15 pages
Computer Graphics: Text Books
PDF
No ratings yet
Computer Graphics: Text Books
15 pages
Computer Graphics - Hidden Surface Removal Using Polygon Area Sorting
PDF
No ratings yet
Computer Graphics - Hidden Surface Removal Using Polygon Area Sorting
9 pages
Visibility
PDF
No ratings yet
Visibility
22 pages
Unit Iv: Hidden Surfaces or Lines Determination Algorithms and Curves
PDF
No ratings yet
Unit Iv: Hidden Surfaces or Lines Determination Algorithms and Curves
61 pages
Mod 1 - 3 CG Hidden Lines
PDF
No ratings yet
Mod 1 - 3 CG Hidden Lines
24 pages
CG Sample Notes
PDF
No ratings yet
CG Sample Notes
9 pages
Arya Institute of Engg. Technology & Management, Jaipur
PDF
No ratings yet
Arya Institute of Engg. Technology & Management, Jaipur
4 pages
3d Game Engine Design A Practical Approa
PDF
No ratings yet
3d Game Engine Design A Practical Approa
15 pages
Hidden Surface Removal Algorithms
PDF
No ratings yet
Hidden Surface Removal Algorithms
69 pages
Unit-5 CG
PDF
No ratings yet
Unit-5 CG
9 pages
Computer Graphics Code: CS501 Contact: 3L Credits: 3 Allotted HRS: 36L
PDF
No ratings yet
Computer Graphics Code: CS501 Contact: 3L Credits: 3 Allotted HRS: 36L
2 pages
Hidden Surface Removal (Or, Visibility)
PDF
No ratings yet
Hidden Surface Removal (Or, Visibility)
7 pages
Computer Graphic
PDF
No ratings yet
Computer Graphic
4 pages
CG Syllabus
PDF
No ratings yet
CG Syllabus
6 pages
Computer Graphics: Text Books
PDF
No ratings yet
Computer Graphics: Text Books
15 pages
Visible Surface Detection (V.S.D) : (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker)
PDF
No ratings yet
Visible Surface Detection (V.S.D) : (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker)
29 pages
12454.modified CHO Theory - Doc (CG) CU
PDF
No ratings yet
12454.modified CHO Theory - Doc (CG) CU
3 pages
Survey of Computer Graphics: Preface Xvii
PDF
No ratings yet
Survey of Computer Graphics: Preface Xvii
9 pages
Cad Unit 2
PDF
No ratings yet
Cad Unit 2
73 pages
Important Program in Javascript
PDF
No ratings yet
Important Program in Javascript
4 pages
NFA To DFA
PDF
No ratings yet
NFA To DFA
12 pages
Lecture
PDF
No ratings yet
Lecture
12 pages
Lecture 2: Regular Expressions and Languages: Dr. Mayank Kumar Jain, Associate Professor
PDF
No ratings yet
Lecture 2: Regular Expressions and Languages: Dr. Mayank Kumar Jain, Associate Professor
11 pages
NID - B.design - Important Instructions For Exam 2025
PDF
No ratings yet
NID - B.design - Important Instructions For Exam 2025
7 pages
4 IA Marks
PDF
No ratings yet
4 IA Marks
5 pages
427
PDF
No ratings yet
427
1 page