ч 3d computer graphics - gbv

5
ч 3D COMPUTER GRAPHICS S E C O N D E D I T I O N A L A N W A T T Instituto de Matemätica Рига e Aplicada Rio de Janeiro, Brasil and University of Sheffield, England A D D I S О N - W E S L E Y Publishing Company Wokingham, England Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario Amsterdam Bonn Sydney Singapore Tokyo Madrid San Juan Milan Paris Mexico City Seoul Taipei

Upload: others

Post on 25-Feb-2022

8 views

Category:

Documents


0 download

TRANSCRIPT

ч

3D COMPUTER GRAPHICS

S E C O N D E D I T I O N

A L A N W A T T

Instituto de Matemätica Рига e Aplicada Rio de Janeiro, Brasil

and

University of Sheffield, England

A D D I S О N - W E S L E Y P u b l i s h i n g C o m p a n y

Wokingham, England • Reading, Massachusetts • Menlo Park, California • New York Don Mills, Ontario • Amsterdam • Bonn • Sydney • Singapore

Tokyo • Madrid • San Juan • Milan • Paris • Mexico City • Seoul • Taipei

Contents

Preface vii

1 Three-dimensional Geometry in Computer Graphics 1

1.1 Manipulating three-dimensional structures 1 1.2 Affine transformations 2 1.3 Transformations for changing coordinate systems 10 1.4 Structure-deforming transformations 11 1.5 Vectors in computer graphics 13

Projects, notes and suggestions 19

2 Representation of Objects 23

2.1 Representation and modelling of geometric objects 23 2.2 Polygonal representation 24 2.3 Bicubic parametric patch nets 30 2.4 Constructive solid geometry 35 2.5 Space subdivision techniques 38 2.6 Rendering strategies 45

Projects, notes and suggestions 53

3 V i e w i n g Systems 57

3.1 Introduction 57 3.2 Viewing system I 59 3.3 Viewing system II 61 3.4 Viewing system III 63 3.5 View plane projection for viewing systems I—III 65 3.6 Viewing system IV 70 3.7 View plane projection for viewing system IV 71 3.8 Clipping for viewing system IV 74 3.9 Viewing system V (PHIGS) 75

3.10 Implementing viewing system V 83 Projects, notes and suggestions 85

xiii

4 Reflection and Illumination Models 89

4.1 Introduction 89 4.2 Theoretical considerations in light reflection 91 4.3 The Phong reflection model 96 4.4 Geometric considerations 100 4.5 Colour 101 4.6 Summary of Phong model 102 4.7 The 20 spheres - an example 102 4.8 Using look-up tables with reflection models 106 4.9 Empirical transparency 108

4.10 The Cook and Torrance model 109 4.11 Illumination source models 122

Projects, notes and suggestions 125

5 Rendering Algorithms 127 5.1 Introduction 127 5.2 Culling and clipping 128 5.3 Incremental shading techniques 131 5.4 Rasterization 143 5.5 Hidden surface removal 149

Projects, notes and suggestions 158

6 Parametric Representation and Practice 163 6.1 Parametric representation of three-dimensional solids 163 6.2 Parametric representation of three-dimensional curves 166 6.3 B-spline curves 173 6.4 Biparametric cubic surfaces 186 6.5 Rendering parametric surfaces 197 6.6 Approximation to a surface patch using a polygon mesh 199 6.7 Extending the control: NURBS and ß-splines 206 6.8 Interpolation using B-splines 208 6.9 Modelling objects with bicubic parametric nets 210

Projects, notes and suggestions 221

7 Shadows and Textures 225 7.1 Introduction 225 7.2 Shadows: their function 225 7.3 Simple shadows on a ground plane 227 7.4 Shadow algorithms 229 7.5 Texture 237 7.6 Two-dimensional texture mapping 238 7.7 Three-dimensional texture domain techniques 246 7.8 Bump mapping 250 7.9 Anti-aliasing and texture mapping 253

7.10 Environment mapping 259 Projects, notes and suggestions 262

Contents xv

8 Ray Tracing 267 8.1 Introduction 267 8.2 Basic algorithm 268 8.3 A historical digression - the optics of the rainbow 270 8.4 Recursive implementation of ray tracing 272 8.5 Ray tracing geometry 278 8.6 Reflection-illumination model 287 8.7 Shadows 293 8.8 Distributed ray tracing 294 8.9 Ray tracing and anti-aliasing operations 297

8.10 Making ray tracing efficient 298 Projects, notes and suggestions 308

9 Volume Rendering 313 9.1 Introduction 313 9.2 Volume rendering algorithms 317 9.3 Case study 320 9.4 Parallel versus perspective projection 323 9.5 Lighting model 325

Projects, notes and suggestions 329

10 Radiosity 331 10.1 Introduction 331 10.2 Radiosity theory 332 10.3 Form factor determination 335 10.4 Increasing the accuracy of the solution 340 10.5 Reordering the solution for progressive refinement 342 10.6 Further development of the radiosity method: 347

hybrid radiosity and ray tracing Projects, notes and suggestions 350

11 Anti-aliasing 353 11.1 Introduction 353 11.2 Aliasing artefacts and Fourier theory 355 11.3 Supersampling or postfiltering 359 11.4 Prefiltering or area sampling techniques 362 11.5 A mathematical comparison 364 11.6 Stochastic sampling 365

Projects, notes and suggestions 368

12 Functionally Based Modelling Methods 371 12.1 Introduction 371 12.2 Particle systems 372 12.3 Fractal systems 372 12.4 Functions suitable for three-dimensional texture 377

Projects, notes and suggestions 380

13 13.1 13.2 13.3 13.4 13.5

14 14.1 14.2 14.3 14.4

Appendix A

Appendix В

Appendix С

Appendix D

References

Index

Three-dimensional Computer Animation Introduction Keyframing systems Explicit motion specification - curve editing Other approaches to three-dimensional computer animation Temporal anti-aliasing Projects, notes and suggestions

Colour Spaces and Monitor Considerations Introduction Specifying a colour with three labels Colour spaces in computer graphics Monitor considerations Projects, notes and suggestion

Viewing Transformation for a Simple Four-parameter Viewing System

A Wireframe System

An Implementation of a Renderer

The Utah Teapot

383 383 386 388 393 400 402

409 409 411 413 429 434

437

441

471

479

483

491

Trademark notice Luxo™ is a trademark of Jac Jacobson Industries Kodak™ is a trademark of Eastman Kodak Company VAX™ is a trademark of Digital Equipment Corporation