Subject Area: Computer Graphics, Digital Image Processing in CIDEC Library.
INTRODUCTION TO COMPUTER GRAPHICSJames D. FOLEY, 1942- , Georgia Institute of TechnologyAndries van DAM, Brown UniversitySteven K. FEINER, Columbia UniversityJohn F. HUGHES, Brown UniversityRichard L. PHILLIPS, Los Alamos National Laboratory and the University of Michigan.
Publisher : Addison-Wesley Publishing Co. - Reading, Mass.
Bibliographic :
Hardcover
ISBN: 0-201-60921-5
© 1994
xxviii, 559 p., [20] p. of plates : ill. (some col.) ; 24 cm.
Dewey No.: 006.6 20
Computer graphics DESCRIPTION :
This new introductory text to computer graphics is an adaptation of Computer Graphics: Principles and Practice, Second Edition, which remains the most comprehensive and authoritative work in the field. While retaining the currency and accuracy of the larger book, this abbreviated version focuses on topics essential for all beginners in computer graphics and provides expanded explanations for readers with little or no technical background. Worked examples have been added to illustrate important concepts and techniques, and program code has been written in the C language to enhance the book's usefulness. In addition, the book contains an extensive illustration program, with more than 50 full-color images.
Topic coverage includes basic graphics programming, hardware, and applications. Important algorithms are included to facilitate implementation of both 2D and 3D graphics. A separate chapter covers SPHIGS--a simplified dialect of the PHIGS 3D standard--and coincides with the availability of an updated version of the software. Chapter 9 and presents a concise overview of interaction issues and techniques. Advanced material from the larger book has been condensed, and the mathematics needed for it has been explained carefully.
The result is an accessible introduction to computer graphics, crafted to provide a solid foundation for further work in this exciting field.
FEATURES:
Adaptation of the definitive computer graphics book in the field--half the length.
Presents key concepts geared toward students with minimal technical background.
Provides worked examples in C.
Retains the high level of teaching standards of the parent graphics text.
CONTENTS :
PREFACE
1. Introducing: Computer Graphics. A Few Uses of Computer Graphics * A Brief History of Computer Graphics * Output Technology * Input Technology * Software Portability * The Advantages of Interactive Graphics * Conceptual Framework for Interactive Graphics * Application Modeling * Display of the Model * Interaction Handling * Summary * Exercises
2. Programming in the Simple Raster Graphics Package (SRGP). Drawing with SRGP * Specification of Graphics Primitives * Attributes * Filled Primitives and Their Attributes * Saving and Restoring Attributes * Text * Basic Interaction Handling * Human Factors * Logical Input Devices * Sampling Versus Event-Driven Processing * Sample Mode * Event Mode * Pick Correlation for Interaction Handling * Setting Device Measure and Attributes * Raster Graphics Features * Canvases * Clipping Rectangles * The SRGP_copyPixel Operation * Write Mode or RasterOp * Limitation of SRGP * Application Coordinate Systems * Storage of Primitives for Respecification * Summary * Exercises
3. Basic Raster Graphics Algorithms for Drawing 2D Primitives. Overview * Implications of Display-System Architectures * The Output Pipeline in Software * Scan Converting Lines * The Basic Incremental Algorithm * Midpoint Line Algorithm * Additional Issues * Scan Converting Circles * Eight-Way Symmetry * Midpoint Circle Algorithm * Filling Rectangles * Filling Polygons * Horizontal Edges * Slivers * Edge Coherence and the Scan-Line Algorithm * Pattern Filling Using Scan Conversion * Pattern Filling Without Repeated Scan Conversion * Thick Primitives * Replicating Pixels * The Moving Pen * Clipping in a Raster World * Clipping Lines * Clipping Endpoints * Clipping Lines by Solving Simultaneous Equations * The Cohen-Sutherland Line-Clipping Algorithm * A Parametric Line-Clipping Algorithm * Clipping Circles * Clipping Circles * The Sutherland-Hodgman Polygon-Clipping Algorithm * Generating Characters * Defining and Clipping Characters * Implementing a Text Output Primitive * SRGP_copyPixel * Antialiasing * Increasing Resolution * Unweighted Area Sampling * Weighted Area Sampling * Advanced Topics * Summary * Exercises
4. Graphics Hardware. Hardcopy Technologies * Display Technologies * Raster-scan Display Systems * Simple Raster Display System * Raster Display System with Peripheral Display Processor * Additional Display-Processor Functionality * Raster Display System with Integrated Display Processor * The Video Controller * Bitmap Transformations and Windowing * Video Mixing * Input Devices for Operator Interaction * Locator Devices * Keyboard Devices * Valuator Devices * Choice Devices * Image Scanners * Summary * Exercises
5. Geometrical Transformations. Mathematical Preliminaries * Vector Spaces * The Dot Product in R * Properties of the Dot Product * Orthonormal Bases * Matrices * Matrix Multiplication * Determinants * Matrix Transpose * Matrix Inverse * Exploring Further * 2D Transformation * Homogeneous Coordinates and Matrix Representation of 2D Transformations * Composition of 2D Transformations * The Window-to-Viewport Transformation * Efficiency * Matrix Representation of 3D Transformations * Composition of 3D Transformations * Transformations as a Change in Coordinate System * Exercises
6. Viewing in 3D. The Synthetic Camera and Steps * Projections * Perspective Projections * Parallel Projections * Specifying an Arbitrary 3D View * Examples of 3D Viewing * Perspective Projections * Parallel Projections * Finite View Volumes * The Mathematics of Planar Geometric Projections * Implementing Planar Geometric Projections * Parallel Projection * Perspective Projection * Clipping Against a Canonical View Volume in 3D * Clipping in Homogeneous Coordinates * Mapping into a Viewpoint * Implementation Summary * Coordinate Systems * Exercises
7. Object Hierarchy and Simple PHIGS (SPHIGS). Geometric Modeling * Geometric Models * Hierarchy in Geometric Models * Relationship among Model, Application Program, and Graphics System * Characteristics of Retained-Mode Graphics Packages * Central Structure Storage and Its Advantages * Limitations of Retained-Mode Packages * Defining and Displaying * Opening and Closing Structures * Specifying Output Primitives and Their Attributes * Posting Structures for Display Traversal * Viewing * Graphics Applications Sharing a Screen via Window Management * Modeling Transformations * Hierarchical Structure Networks * Two-Level Hierarchy * Simple Three-Level Hierarchy * Bottom-Up Construction * Interactive Modeling Programs * Matrix Composition in Display Traversal * Appearance-Attributes Handling in Hierarchy * Inheritance Rules * SPHIGS Attributes and Text Unaffected by Transformations * Screen Updating and Rendering Modes * Structure Network Editing for Dynamic Effects * Accessing Elements with Indices and Labels * Intrastructure Editing Operations * Instance Blocks for Editing Convenience * Controlling Automatic Regeneration of the Screen Imaging * Interaction * Locator * Pick Correlation * Advanced Issues * Additional Output Features * Implementation Issues * Optimizing Display of Hierarchical Models * Limitations of Hierarchical Modeling in PHIGS * Alternative Forms of Hierarchical Modeling * Other (Industry) Standards * Summary * Exercises
8. Input Devices, Interaction Techniques, and Interaction Tasks. Interaction Hardware * Locator Devices * Keyboard Devices * Valuator Devices * Choice Devices * Other Devices * 3D Interaction Devices * Basic Interaction Tasks * The Position Interaction Task * The Select Interaction Task-Variable-Sized Set of Choices * The Select Interaction Task-Relativity Fixed-Sized Choice * The Text Interaction Task * The Quantify Interaction Task * 3D Interaction Tasks * Composite Interaction Tasks * Dialogue Boxes * Construction Techniques * Dynamic Manipulation * Interaction-Technique Toolkits * Summary * Exercises
9. Representation of Curves and Surfaces. Polygon Meshes * Representing Polygon Meshes * Plane Equations * Parametric Cubic Curves * Basic Characteristics * Hermite Curves * Bezier Curves * Uniforum Nonrational B-Splines * Nonuniforum, Rational Cubic Polynomial Curve Segments * Fitting Curves to Digitized Points * Comparison of the Cubic Curves * Parametric Bicubic Surfaces * Hermite Surfaces * Bezier Surfaces * B-Spline Surfaces * Normals to Surfaces * Displaying Bicubic Surfaces * Quaddric Surfaces * Specialized Modeling Techniques * Fractal Models * Grammar-Based Models * Summary * Exercises
10. Solid Modeling. Representing Solids * Regularized Boolean Set Operation * Primitive Instancing * Sweep Representations * Boundary Representations * Polyhedra and EulerÕs Formula * Boolean Set Operations * Spatial-Partioning Representations * Cell Decomposition * Spatial-Occupancy Enumeration * Octrees Binary Space-Partitioning Tress * Constructive Solid Geometry * Comparison of Representations * User Interface for Solid Modeling * Summary * Exercises
11. Achromatic and Colored Light. Acromatic Light * Selection of Intesities * Halftone Approximation * Chromatic Color * Psychophysics * The CIE Chromaticity Diagram * Color Models for Raster Graphics * The RGB Color Model * The CMY Color Model * The YIG Color Model * The HSV Color Model * Interactive Specification of Color * Interpolation in Color Space * Use of Color in Computer Graphics * Summary * Exercises
12. The Quest for Visual Realism. Why Realism? * Fundamental Difficulties * Rendering Techniques for Line Drawings * Multiple Orthographic Views * Perspective Projections * Depth Cueing * Depth Clipping * Texture * Color * Visible-Line Determination * Rendering Techniques for Shaded Images * Visible-Surface Determination * Illumination and Shading * Interpolated Shading * Material Properties * Modeling Curved Surfaces * Improved Illumination and Shading * Texture * Shadows * Transparency and Reflection * Improved Camera Models * Improved Object Models * Dynamics and Animation * The Value of Motion * Animation * Stereopsis * Improved Displays * Interacting With Our Other Senses * Summary * Exercises
13. Visible-Surface Determination. Techniques for Efficient Visible-Surface Algorithms * Coherence * The Perspective Transformation * Extents and Bounding Volumes * Back-Face Culling * Spatial Partitioning * Hierarchy * The z-Buffer Algorithm * Scan-Line Algorithms * Visible-Surface Ray Tracing * Computing Intersections * Efficiency Considerations for Visible-Surface Ray Tracing * Other Approaches * List Priority Algorithms * Area-Subdivision Algorithms * Algorithms for Curved Surfaces * Summary * Exercises
14. Illumination and Shading. Illumination Models * Ambient Light * Diffuse Reflection * Atmospheric Attenuation * Specular Reflection * Improving the Point-Light-Source Model * Multiple Light Sources * Physically Based Illumination Models * Shading Models for Polygons * Constant Shading * Interpolated Shading * Polygon Mesh Shading * Gouraud Shading * Phong Shading * Problems with Interpolated Shading * Surface Detail * Surface-Detail Polygons * Texture Mapping * Bump Mapping * Other Approaches * Shadows * Scan-Line Generation of Shadows * Shadow Volumes * Transparency * Nonrefractive Transparency * Refractive Transparency * Global Illumination Algorithms * Recursive Ray Tracing * Recursive Ray Tracing * Radiosity Methods * The Radiosity Equation * Computing Form Factors * Progressive Refinement * The Rendering Pipeline * Local Illumination Pipelines * Global Illumination Pipelines * Progressive Refinement * Summary * Exercises
Includes bibliographical references (p. 527-543) and index.
SUPPLEMENTS to the book are available at publishers site. See http://heg-school.aw.com/cseng/authors/foley/compgrafix/compgrafix.sup.html.
Thursday, October 11, 2007
Wednesday, October 10, 2007
First electronic computer (1943) : the building of Colossus
By designing a huge machine now generally regarded as the world's first programmable electronic computer, the then Post Office Research Branch played a crucial but secret role in helping to win the Second World War. The purpose of Colossus was to decipher messages that came in on a German cipher machine, called the Lorenz SZ.
The original Colossus used a vast array of telephone exchange parts together with 1,500 electronic valves and was the size of a small room, weighing around a ton. This 'string and sealing wax affair' could process 5,000 characters a second to run through the many millions of possible settings for the code wheels on the Lorenz system in hours - rather than weeks.
Both machines were designed and constructed by a Post Office Research team headed by Tommy Flowers at Dollis Hill and transported to the secret code-breaking centre at Bletchley Park, near Milton Keynes, where it was demonstrated on December 8, 1943. We have to fast forward nearly thirty years to 1972 for the arrival of the first desktop all-in-one computer, which are more familar to us today. That honour falls to the HP9830. But unfortunately few people got to hear about it because Hewlett Packard marketed it primarily to scientists and engineers - by nature very quiet people!
Colossus (1941) : inside the machine
During the Second World War the Germans used a Lorenz encoding teleprinter to transmit their high-command radio messages. The teleprinter used something called the 5-bit Baudot code, which enciphered the original text by adding to it successively two characters before transmission. The same two characters were applied to the received text at the other end to reveal the original message.
Gilbert Vernam had developed this scheme in America, using two synchronised tapes to generate the additional random characters. Lorenz replaced the tapes with mechanical gearing - so it wasn't a genuinely random sequence - just extremely complex.
But in August 1941 the Germans made a bad mistake. A tired operator sent almost the same message again, using the same wheel settings. It meant the British were able to calculate the logical structure inside the Lorenz.
Colossus was then built to find the Lorenz wheel settings used for each message, using a large electronic programmable logic calculator, driven by up to 2,500 thermionic valves. The computer was fast, even by today's standards. It could break the combination in about two hours - the same as today's modern Pentium PC.
Colossus Mk II (1944) : a bigger better Colossus
Without the contribution of the codebreaking activity, in which Colossus played such a major part, the Second World War would have lasted considerably longer.
By the time of the Allied invasion of France in the early summer of 1944, a Colossus Mk II (using nearly twice as many valves to power it) was almost ready.
The head of the Post Office Research Team, Tommy Flowers, had been told that Colossus Mk II had to be ready by June 1944 or it would not be of any use. He was not told the reason for the deadline, but realising that it was significant he ensured that the new version was ready for June 1, five days before D-Day.
It was in the build-up to D-Day and during the European campaign that followed that Colossus proved most valuable, since it was able to track in detail communications between Hitler and his field commanders.
Top secret : the ultimate Chinese walls
Colossus weighed around 35 tonnes in Mark II form. Its 2,500 valves, consuming 4.5 Kwatts, were spread over two banks of racks 7 feet 6 inches high by 16 feet wide spaced 6 feet apart. Thus the whole machine was around 80 feet long and 40 feet wide.
This huge machine was also one of the most closely guarded secrets of the war yet required dozens of people to build, many of them outside the military establishment in the Post Office.
Tommy Flowers was one of the very few entrusted with the overall plan - and even he didn't know the full details of the German codes.
In order to ensure security, Colossus was broken down into modules - each given to a separate Post Office team at Dollis Hill. The teams were kept apart - each having no idea of the overall shape of the ground breaking machines they were creating.
The building of SIGSALY (1943) : pioneer digital telephone system
Another secret wartime computer whose existence was finally revealed many years later was SIGSALY - the secret 'scrambling' system devised to protect the security of high level Allied telephone traffic.
SIGSALY - originally codenamed Project X - was also known as 'Green Hornet'. It was the first unbreakable speech coding system, using digital cryptography techniques, with one time digital keys being supplied by synchronised gramophone discs.
SIGSALY was built in the USA, though using pulse code modulation (PCM) digital encoding techniques invented in 1937 by the English engineer Alec Reeves.
The first priority was to protect the hotline between the Cabinet War Room bunker under Downing Street and the White House in Washington D.C. The 50-ton London terminal was shipped over in 1943 and housed in the basement of the Selfridges annexe in Oxford Street, under tight guard.
By designing a huge machine now generally regarded as the world's first programmable electronic computer, the then Post Office Research Branch played a crucial but secret role in helping to win the Second World War. The purpose of Colossus was to decipher messages that came in on a German cipher machine, called the Lorenz SZ.
The original Colossus used a vast array of telephone exchange parts together with 1,500 electronic valves and was the size of a small room, weighing around a ton. This 'string and sealing wax affair' could process 5,000 characters a second to run through the many millions of possible settings for the code wheels on the Lorenz system in hours - rather than weeks.
Both machines were designed and constructed by a Post Office Research team headed by Tommy Flowers at Dollis Hill and transported to the secret code-breaking centre at Bletchley Park, near Milton Keynes, where it was demonstrated on December 8, 1943. We have to fast forward nearly thirty years to 1972 for the arrival of the first desktop all-in-one computer, which are more familar to us today. That honour falls to the HP9830. But unfortunately few people got to hear about it because Hewlett Packard marketed it primarily to scientists and engineers - by nature very quiet people!
Colossus (1941) : inside the machine
During the Second World War the Germans used a Lorenz encoding teleprinter to transmit their high-command radio messages. The teleprinter used something called the 5-bit Baudot code, which enciphered the original text by adding to it successively two characters before transmission. The same two characters were applied to the received text at the other end to reveal the original message.
Gilbert Vernam had developed this scheme in America, using two synchronised tapes to generate the additional random characters. Lorenz replaced the tapes with mechanical gearing - so it wasn't a genuinely random sequence - just extremely complex.
But in August 1941 the Germans made a bad mistake. A tired operator sent almost the same message again, using the same wheel settings. It meant the British were able to calculate the logical structure inside the Lorenz.
Colossus was then built to find the Lorenz wheel settings used for each message, using a large electronic programmable logic calculator, driven by up to 2,500 thermionic valves. The computer was fast, even by today's standards. It could break the combination in about two hours - the same as today's modern Pentium PC.
Colossus Mk II (1944) : a bigger better Colossus
Without the contribution of the codebreaking activity, in which Colossus played such a major part, the Second World War would have lasted considerably longer.
By the time of the Allied invasion of France in the early summer of 1944, a Colossus Mk II (using nearly twice as many valves to power it) was almost ready.
The head of the Post Office Research Team, Tommy Flowers, had been told that Colossus Mk II had to be ready by June 1944 or it would not be of any use. He was not told the reason for the deadline, but realising that it was significant he ensured that the new version was ready for June 1, five days before D-Day.
It was in the build-up to D-Day and during the European campaign that followed that Colossus proved most valuable, since it was able to track in detail communications between Hitler and his field commanders.
Top secret : the ultimate Chinese walls
Colossus weighed around 35 tonnes in Mark II form. Its 2,500 valves, consuming 4.5 Kwatts, were spread over two banks of racks 7 feet 6 inches high by 16 feet wide spaced 6 feet apart. Thus the whole machine was around 80 feet long and 40 feet wide.
This huge machine was also one of the most closely guarded secrets of the war yet required dozens of people to build, many of them outside the military establishment in the Post Office.
Tommy Flowers was one of the very few entrusted with the overall plan - and even he didn't know the full details of the German codes.
In order to ensure security, Colossus was broken down into modules - each given to a separate Post Office team at Dollis Hill. The teams were kept apart - each having no idea of the overall shape of the ground breaking machines they were creating.
The building of SIGSALY (1943) : pioneer digital telephone system
Another secret wartime computer whose existence was finally revealed many years later was SIGSALY - the secret 'scrambling' system devised to protect the security of high level Allied telephone traffic.
SIGSALY - originally codenamed Project X - was also known as 'Green Hornet'. It was the first unbreakable speech coding system, using digital cryptography techniques, with one time digital keys being supplied by synchronised gramophone discs.
SIGSALY was built in the USA, though using pulse code modulation (PCM) digital encoding techniques invented in 1937 by the English engineer Alec Reeves.
The first priority was to protect the hotline between the Cabinet War Room bunker under Downing Street and the White House in Washington D.C. The 50-ton London terminal was shipped over in 1943 and housed in the basement of the Selfridges annexe in Oxford Street, under tight guard.
Subscribe to:
Posts (Atom)