throbber
0001
`
`Volkswagen 1011 - Part 1 of 6
`
`

`
`
`
`Computer
`Graphics
`
`0002
`
`0002
`
`

`
`I3'n:_-.;-r |':~'u:_:u1'r_
`I-,':: :_|_ii
`'.;'I,i |-: an
`
`We work with leading authors to develop the strongest educational materials in
`computer science. bringing cutting-edge thinking and best learning practice In a global
`market.
`
`Under a range of weI1—i:n-awn Imprints, including Addison-Wesley, we crafi high quality
`print and electronic publications which help readers to understand and apply their content,
`whether studying or at work.
`
`Tb find out about the complete range of our publishing please visit us on the
`world Wide Web at;
`
`hltp:.r'Iwww_pea:sonedu1:.Dom
`
`0003
`
`

`
`Computer
`Graphics
`
`THIRD EDITION
`
`ALAN WATT
`
`ifi, ADDISON-‘WESLEY
`
`An imprfnl uni’ PEARSON EDUCATION
`Hanan England - |.ondnn - New ‘tori: - Reading. Mnuchumts - San Francisco - Tomrwn 1 Dan Mina... Unuflo - Sydney
`Tolqrq - Singapore - Hang Kong - Suuul - Taipei - Cape Twrrl r Madrid — Mu:-:|ou City - Nmtenda-II1 r Munich - Fan-1:
`- Milan
`
`0004
`
`

`
`husnnlducluouummni.
`E:I|n'I:.uu1I3m
`I-llflnrur
`Emerita-[Z113]!
`|'-M-ill
`
`Ind-1-nochcltdiacnw-uIJcm1roIuIInI.flIi=nvmd::I
`l"NtIastIu-fln:'||'i:r;Id'|II'li-1\'EIi-al:-
`ww
`
`Hlltjnblilshad I939
`-hI1mdIdlIion1993
`Thhadhinnhupdalhhedaflm
`o19sa,199aMaam-uucynahuuun;1u.Mdmn-uuqrauunm; Colnpnqrlnc.
`flPHfl$DI'lE|hIfl'BInI.iIn'Htd2l}llJ
`
`T|1iI:ig1rInI.fl.l.|n1||.|2IltInbeIb.Il.flaclI5luIiIurvnl
`ilnswukhnsbaautmudhyhlmlinmrdutmnllh
`1heCngyri5|1I,Dui¢I'u.IndPlb¢nu.u:t19Il».
`
`.hfl:'|ghbruIrud;nnplnnlflflipflic||hnm|ybIIfindaaI6,IIcnd
`matmuflwumwummuudmuyhmwbymrmumuemuk.
`mxhldnl.
`lanutIHn.g.urnlhn-nlnelflthnndliznrthzprilr
`1I'mhenpuuIu1m1 mchflbhmualhmmpwnmumukmmfim
`lnlhaflnllndllxfiqnluuicdhyflpefinpytqillllzennsgaigncjrlad,
`flI1bmnhm0nu1lnul.hnmonwIT4L?.
`
`lhapnsrnmmlhhhnnkhnubnmindududtmtbehimuuuamtllnhu.
`Illaptlnlldlu-mnsI'nIvfleI'uI3.IwInI:Ith:.ar
`ufimhlupendmflr
`&nre:nIlatupu1s.u.|1|tpup-nrsnmtdoeuthepu
`uncgplmyhlhllqrlatmgr
`hflotdlmlgztuflauthlnlotwxmnalhljwrwdwthlirflllgfiumfllehwc.
`LHny:[Iluflafl5:.|€heI5uldbyn.uuflrm:u:u|dan1|uI1ed.hflI1ylihfl|dr
`pmdiltnzmdlmdnmu-unaIla.remuIIEducIunnummdtuII'nnduuI3r
`nuunpmmpplyuademulh-Lfurmuumubunmnnul-crurasudunurprodtacls
`Inuumundmuuuuukauuofutdtmutdcuunllommdiheummeu
`ififlI'i¢I'|fll.flEI.L
`I§INl]fl|!I-H559
`
`Mmwm um
`Auuhgumufllulhuboolanhoulmdnmmcwmhuhuy.
`
`LHflWWwm kH
`Aflflfllifinmllltpuflhlna.
`
`T!'MII|||3'43
`P:|1'nIn|!I|:.IlI:u:u1'niIn‘.I.'I:aUr|1I:acl$IIIu|;n'lu1uflu
`1|?-*9!-T
`|.'I3‘D6Cl.§0|I03
`
`0005
`
`

`
`Para Dionéa
`
`a gamta de Copacabana
`
`0006
`
`

`
`Contents
`
`Colo-urplates nppeartretweenpages 5116 audit)?
`Prefiaoe
`
`Ad
`
`Hllllllultlul funtllmenllls of computer graphics
`1.1
`
`Manipulatlng three-dlmensional structures
`1.1.1
`11-mee-¢:IImensIona1 geometry In eornputer graphics —
`affine transfonnations
`
`1.1.2 Transfonnatjonsfnr changing coordinate systems
`
`Structure-cIefo=n'nlng transformations
`
`Vectors and oornputer graphics
`I .11 Addition of vectors
`
`1.3.2 Length 01 vectors
`1.3.3 Normal vectors and cross products
`1.3.4 Nonnal vectors and dot products
`1.3.5 Vectorsassodatedwiththenotmalvectorrefleclion
`
`Rays and computer grnphiu
`1.4.1
`Ray geometry — intersections
`1.4.2
`Intersections — raybsphere
`1.4.3
`intersections - ray-convex polygon
`1.4.4
`Intersections — rny—box
`1.4.5 mterseaztions — ray-quadric
`1.4.6 Ray tracing geornetry - reflection and refraction
`
`1.5
`
`Interpol:-ting properties In the Image plane
`
` n and modelling of Illree-dllnenslonll objects {1}
`Introduction
`
`2.1
`
`Folygonal representation oi three-dlmertslonal ohlects
`2.1.1 Creating polygonal objects
`
`0007
`
`

`
`2.1.2 Manual modelling of polygonal obiects
`2.1.3 Autornetlc generation oi polygonal objects
`2.1.4 Mathematical generation of polygonal objects
`2.1.5
`Procedural polygon mesh objects - fractal obiecls
`
`Constructive solid geometry {C545} representation of objects
`
`Space sub-disrlslpn techniques for object representation
`2.3.! Oclnees and polygons
`2.3.2
`ESP trees
`
`2.3.3 Creating vowel obi-ecls
`
`2.4 Represenrlzlng obiects with implicit functions
`
`2.5 Some management and object reperesentatlon
`2.5.1
`Polygon mesh optimization
`
`2.16 Summary
`
`Illprlel-llltlltlon Ind modeling -of III-no-drnenslnnll ob|IcI3{1}
`Introduction
`
`3.1 Bezier curves
`
`3.1.1
`3.1.2
`
`joining Bézier curve segments
`Summary ol ll-ézler curve properties
`
`B-spline representation
`3.2.1
`I-spline cunres
`3.2.2 Uniform B-splines
`3.2.3 Non—unilorrn B-splines
`3.2.4 Summary ol‘ B-spline curve properties
`llatlonal curves
`3.3.1 Rational Beaver curves
`3.3.2 NUILBS
`
`From curves to surfaces
`
`3.4.1 Continuity and Bézier palrhes
`3.4.2 A B-ézler patdr object — the Utah teapot
`
`B-spline surface patches
`
`Modelling or creating patell surfaees
`3.6.1 Cross-sectional or linear axis design example
`3.5.2 Control polyhedron design - basic technique
`3.6.3 Creating patnh objects by surface fiming
`
`3.: From patches to objects
`
`4
`
`lepnesentotlnn In-cl nrldlrlng
`lntroduclion
`
`4.1 Rendering polygon meshes - a brief overview
`
`0008
`
`

`
`4.2 Itendering parametric surfaces
`4.2.1
`itendeiing directly from the patch descriptions
`4.2.2
`Patch to polygon corwersion
`4.2.3 Object space subdivision
`4.2.4
`Image space subdivision
`
`4.3 Rendering a C56 description
`
`-I-.4
`
`Iilenclering a vowel description
`
`-its Rendering implicit fratctions
`
`The graphics pipeline {I}: gcolnltric operations
`Introduction
`
`5.1 Coordinate spaces In the graphics pipeline
`5.1.1
`Local or modelling coordinate systems
`5.1.2 World coordinate systerns
`5.1.3 Camera or eye orview coordinate system
`
`Dperltlons carried out in view space
`5.2.1
`Culling or back-face eiirniriatiori
`5.2.2 The View volume
`
`5.2.3 Three-dimensional screen space
`5.2.4 View volume and depth
`
`5.3 Advenoed viewing systers-is {PHIGS and arts)
`5.3.1 Direnriew oi the PHIGS viewing system
`5.3.2 The view orientation parameters
`5.3.3 The View mapping parameters
`5.3.4 The view piane in rnore detail
`5.3.5
`Implementing an PHIGS-type viewing system
`
`11re graphics pipeline (1'): rand-arlng or algorfthrnlc processes
`introduction
`
`6.1 Clipping polygons against the view Irolurne
`6.2 Slladlrrg pixels
`6.2.1
`Local reiiection models
`
`Local reiiecticin rnodeis — practical points
`6.2.2
`6.2.3 Local reflection models — light source considerations
`
`interpolative shading techniques
`6.3.1
`Inter-poiathre shading techniques - Gouraud shading
`6.3.2
`intaerpoiathre shading techniques - Phong shading
`6.3.3
`iiendener shading options
`5.3.4 Comparison of Gouraud and Phong shading
`itasterization
`
`6.4.1
`6.4.2
`
`itasterizing edge
`Ilasterizing polygons
`
`0009
`
`

`
`6.6 Hlvdden slsrfece removal
`6.6.1
`The Z-buffer algtrrithm
`6.6.2 Z-buffer and CS5 representatlnn
`6.6.3
`I-buffer and compasiting
`6.6.4 Z-buffer and rendering
`6.6.6
`Scan line Z-bttffer
`
`6.6.6 Spanning hidden surface remcwal
`6.6.? A spanning scan line algorithm
`6.6.8
`I-buffer and cumplett scenes
`6.6.9
`I-buffer surrunary
`6.6.10 BSP trees and hidden surface removal
`
`6.?
`
`Iufulti-pass rendering and ecctunulatlnn buffer:
`
`7 Slrrltletlnglglrt-olaiectftslaerectlonr Intel nllectlun rneclels
`Introduction
`
`11 ltefiectlen from a perfect surfece
`
`12 Iteflectlon here an imperfect surfece
`13 The bl-directional rellectance clstrflsutlnn function
`
`14 Diffuse and specular cerhprments
`
`15 Perfect dffuse - empirically spread specular reflection
`
`7.6 Physicelly based specular reflectfon
`16.1 Modelling the mlap-geometry of the surface
`16.2
`Shactnwing and masking effects
`16.3 ‘viewing geometry
`1.6.4 The Fnesnel terrrl
`
`1? Pre-computing Illtflfs
`
`16 Pltyslcllly baaed diffuse component
`
`Illpplng techniques
`Intmduction
`
`6.1 1im:-dlmenslunal texture maps to palygen mesh objects
`3.1.1
`Inverse mapping ly bilinear Interpolation
`8.1.2
`Inverse mapping by using an intennediate surface
`‘Mo-dinserulonal tenure dumaln to bl-cubic parametric patch
`ohfects
`Billboards
`
`B‘-ump mapping
`8.4.1
`A multi-pass technique for hump mapping
`8.4.2
`.6 pm-calculations technique for bump mapping
`
`0010
`
`

`
`8.5 Light rnlps
`
`3.6 Environment or reflection mapping
`B.fi.1
`Cubic mapping
`3.6.2
`Sphere mapping
`t1-.63 Environment mapping: comp-arathre points
`5.6.4
`Surface propa.-rtIes and environment mapping
`
`Three-dirnen.s|ona| texture domain tedtnlques.
`3.11
`Three-dimensional noise
`
`$.12
`8.47.3
`
`Sirnulatingturtnulence
`T1'tree~d1rnensionaIteJ-tture and anirrtation
`
`8.3’.-4 Three-dimensional Ilght maps
`
`8.3 Antl-allaslng and texture mapping
`
`8.9 Interactive techniques In texture mapping
`
`9 Geonutrlc alt-ado-us
`Introductlon
`
`9.1 Properties of shadows used In computer graphics
`
`9.! Simple shadows on a ground plane
`
`9.3 Shadow algorithms
`
`9.3.1
`9.3.2
`9.3.3
`
`Shadow algorithms: projecting polygorssfscan line
`Shadow algorithrns: shadow volurnes
`Shadow algorithrns: deritration of shadow potygorts from
`light source transformations
`9.3.4 Shadow algorithms: shadow I-hufier
`
`‘It! Global Ilnunlnartlon
`Introduction
`
`ln.1 Gfohal Illumination models
`
`19.1.1 The rendering equation
`19.1.2 Radiance, irradiance and the radiance equation
`10.1.3 Path notation
`
`11.1.2 The evolution of global Illumination algorithms
`
`111.3 Established adgorttl1ms— ray traclng and radloslty
`10.3.1 'II'II'|1itteo| ray tracing
`11.1.3.2 Iladiosity
`
`1tI.-I Monte Carlo tecltniques In global Illumination
`
`10.5 Path traclng
`
`19.6 Dlstrlbutod ray tracing
`
`1l1.? Two-pass ray tracing
`
`10.8 View dependencefindepcntlonce and rnulti-pass methods
`
`0011
`
`

`
`10.9 (Inching Illumination
`
`1iJ.1i:| Light Volume:
`
`10.11 Particle tretlng and density estimation
`
`11
`
`Thu rfllolltf I‘I'II|‘I'|oII
`introduction
`
`11.1 itadiosity theory
`11.2 Form factor determination
`
`11.3 The Gauss-—5eide| method
`
`11.4 Seeing an partial solution — progressive refinement
`
`11.5 Problems with the radiosity method
`
`11.6 ilurtefatts in radlosity hnoges
`11.6.1 Hernitube artefacts
`11.6.2 |1ecI:r'lstIu:tion artefascts
`
`11.6.3 Meshing artlefacis
`
`11.? iuieshing strategies
`11.2.1 Adapfiveotoposrerfoflmeshlng
`11.2.2 .-tpriorimeshlng
`
`II!‘ tracing all-Iloglu
`Introduction - Whltted ray training
`
`12.1 The basis: algorithm
`12.1.1 Tracing rays — initial considerations
`12.1.2 Lighting model corr-ponents
`12.1.3 Shadows
`12.1.4 Hidden sutface renttwal
`
`12.2 Using recursion to irrlpivetltent ray tracing
`
`12.3 Theadventtwesofsevenrays-aroytradngmrdgr
`
`12.4 Ray tracing polygon objects — Interpolation of a normal at an
`lnmaoctlon point In on polygon
`
`12.5 Efflclenqr measures in ray trodng
`12.5.1 Adaptive depth control
`12.5.2 First hit speed up
`'|2.5.3 Bounding objects with sirnpie shapes
`12.5.-1 Secondary data S1.l'l.ICt‘i.II'E5
`12.5.5 flay space wbdivision
`
`12.6 1111: use of ray oohervenoe
`
`12.? A historical digression - the optics of the rainbow
`
`0012
`
`

`
`Volume rendering
`Introduction
`
`13.1 'W.l-Il.lrI'|!& I'¢l‘Id'El'Il'lsg and the vlsuaflzatlon oi volume data
`
`13.2 ‘semi-transparent gel‘ option
`1 3.2.1 Vowel classification
`
`13.2.2 Transfon-ning into the viewing direction
`13.2.3 Caumpofiling pixels along a ray
`
`13.3 5«emI-transparent gel plus surfaces
`13.3.1 Explicit extraction ol lsosurfaces
`
`13.4 Stu-uctural considerations In volume rendering alga.-III-urns
`13.1.1 Ray casting [untransforrned data)
`13.4.2 llay casting [transformed data]-
`13.-L3 "l|'t:ote| project]-an mel;l'Io-d
`
`13.5 Perspective projection in volume rendering
`
`‘I3-.6 Threewdlnrensionnl texture and volume rendering
`
`‘II Altlivlllulng llnoly and prlctlu
`Introduction
`
`14.1 Aliases and samplng
`
`14-2 I399!‘ $595
`
`14.3 Sampling in computer graphics compared with sampling ruily
`14.4 Sampling and reconstruction
`
`14.5 A simple oomparison
`
`14.5 Pre-filtering methods
`
`14.? Supersampllng or post-filtering
`
`14.5 Non-unlforrn sampling - some theoretical concepts
`
`14.9 111.e Fourier transform of Images
`
`15 Colour and computer gnphlea
`lntmducllion
`
`15.1 Colour sets in computer Imagery
`
`15.2 Colour and tltnee-cllm-ensional space
`15.2.1 RG11 space
`15.2.2 The HSV single heat-lrone model
`15.2.3 ‘(IQ space
`
`15.3 Colour. lnfon11atIort and perceptual spaces
`15.3.1 C1E DWI space
`15.3.2 CIE xyrspace
`
`15.4 Itendering and colour spaoes
`
`0013
`
`

`
`15.5 Monitor considerations
`
`15.5.1 RGB......n.. space and other monitor considerations
`15.5.2 Monitor considerations — difiereni. monitors and the
`same colour
`
`15.5.3 Monitor considerations - colour gamut mapping
`15.5.4 Monitor considerations — gamma correction
`
`16
`
`hung:-Insarl rendering and photo-rnodelllng
`Introduction
`
`16.1 Reuse oi previously rendered imagery - two-dimensional
`techniques
`16.1.1 Planar impostors or sprites
`16.1.2 Calculating the validity of planar impostflfi
`
`16.2 ‘iiarjrlng rendering resources
`16.2.1 Priority rendering
`16.2.2 Image layering
`
`16.3 Using depth lninnnation
`16.3.1 Three-dimensional warping
`16.3.2 Layered depth images (LDls}
`
`16.4 View interpolation
`16.4.1 ‘iriew morphing
`
`16.5 Four-dimensional techniques - the Lurnigraph or light field
`rendering approach
`
`16.6 Photo-modelling and IBR
`16.6.1 Image-baaed rendering using photographic panoramas
`16.6.2 Ccrmpocsiting panoramas
`16.6.3 Photo-modelling for image-hosed rendering
`
`1?
`
`computer animation
`Introduction
`
`11.1 A categorization and description of computer animation
`techniques
`
`‘I12 Rigid hotly animation
`1}'.2.'I
`Interpolation or lteyfrarning
`13.2.2 Explicit scripting
`112.3 Interpolation of mutation
`112.4 Using quatemions to represent rotation
`112.5 Inte-rpoiating quaternions
`112.6 The camera as an anirnated object
`ljnlrecl structures and hierarchical motion
`
`113.1 Solving the imrerse kinematics problem
`
`0014
`
`

`
`114 Dynamics In computer anlmation
`114.1 Easlc theory for a rigid hody— particles
`114.2 The nature of forces
`
`114.3 Rigid bodies - exhended masses
`114.4 Using dynamics in computer animation
`114.5 Simulating the dynamics of a lumped mass
`114.6 Space-tlme constraint.-r
`115 Colllsion detection
`
`1 15.1 Broad phosaejnarrow phase algorithms
`115.2 Broad phase collision detection with DEB:
`11.5.3 Narrow phase: pairs of convex polyhedra - exact collision
`detection
`
`115.4 Single phase algorithms — obiect hieran-_hIes
`
`1115 Collision response
`11? Particle animation
`
`118 Bellatrloural anlmatioll
`
`119 Summary
`
`Colltplrllltrt Image shady
`introduction
`
`181 Local reflectlorl models
`
`18.2 Texture and shadow mapping
`
`18.3 1l'll‘I1ltted ray tracing
`
`18.4 llldlosity
`18.5 HADIANCE
`
`18.6 Summary
`
`Illenncea
`
`Index
`
`0015
`
`

`
`This is the third edition oi a book that deals with the prooenes involved in
`converting a mathematical or geometric description of an object — a computer
`graphics mode] - into a visualization - a two-dimensional projection - that
`simulates the appearance of a real oh|ect. The analogy of a synthetic camera is
`oftenusedandthisisagoodaliustortprovldedwebearinmindcertainimportant
`limitations that are not usually available in a computer graphics camera (depth of
`field and motion blur are two examples} and certain computer graphics facilities
`that do not appear in a camera {near and far clipping planes).
`Algorithms in computer graphit: mostly function in a threedlmenslonal
`domain and the creations in this space are then mapped into a two-dimensional
`display or image plane at a late stage in the overall process. Traditionally oom-
`puter graphics has created pictures by starting with a very detailed geometric
`description, suhlecting this to a scrim of transformations that orient a viewer
`and objects in three-dlrnensional space. then imitating reality by making the
`objects lo-olt solid and real — a process ltriown as rendering. In the early 1950:
`there was a oomlng together of research — carried out in the 1970: into reflection
`models, hidden surface removal and the like - that resulted in the emergence of
`a de jircto approach to image synthesis of solid oblects. But now this is proving
`Insufficient for the new demands oi moving computer imagery and virtual re-
`ality and much research is being carried out into how to model complex objects,
`where the nature and shape of the object changes dynarnicaiiy and into captur-
`ing the richness of the world without having to explicitly mode] every detail.
`Such efforts are resulting in diverse synthesis methods and modelling rnethods
`but at the Il'lD‘I|1EI'lt there has been no emergence of new image generation tech-
`niques that rival the pseudo-standard way of modelling and rendering solid
`objects - a method that has been established since the ttiid-I9‘?t]s.
`So where did it all begin? Most of the deveioprnerit in computer graphics as
`we lmotv it today was motivated by hardware evolution and the availability of
`new devices. Software rapidly developed to use the image psodudng hardware.
`In this respect the most important developmecnt is the so-called raster display. a
`device that proliferated in the mass market shortly after the development of the
`PC. In this device the complete image is stored in a memory variously called a
`
`0016
`
`

`
`Iigirlfii
`The main elements of:
`9.-spmssystern.
`
`frame store. a screen buffer or a refresh I:r’ierr1or'_tr. This information - the dis»
`cretioed oomputer image — is oontinually converted by a video controller into a
`set of horizontal scan lines {a raster) which is then fed to a Ti-'-type monitor. The
`image is generated by an application program which usually accesses a model or
`geometric description of an oblect or ohiects. The main elements in such a sys-
`tem are shown in Figure R1. The display hardware to the right of the dotted line
`can be separate to the processor. but nowadays is usually integrated as in the case
`of an enhanced PC or a graphics workstation. The raster graphics device over-
`shad-ot-vs all other hardware developments in the sense that it made possible the
`display of shaded three-dimensional ol'J|ects — the single most important tl1eo-
`reticai development. The inte:raction of three-dimensional oblects with a light
`source oould be calculated and the effect projected into ttvo-dimensional space
`and displayed by the device. Such shaded imagery is the foundation of modern
`computer graphics.
`"lite two early landmark achievements that made shaded imagery possible are
`the algorithms developed by Gouraud in i9?i and Phong in Il9?5 enabling easy
`and fast calculation oi the intensifies of pixels when shading an object. The
`Phong technique is still in mainstream use and is undoubtedly responsible for
`most of the shaded images in computer graphics.
`
`A brief history of shaded imagery
`
`When we tool: at oomputer graphics from the viewpoint of its practitioners, we
`see that since the mid-i.9?ils the developmental motivation has been photo-
`reaiism or the pursuit oi‘ techniques that matte a graphics image of an oblect or
`scene irtdistingilishable from a TV image or photograph. A more recent strartd of
`the application of l'l1-ese techniques is to display information in. for example.
`medicine. science and engineetirig.
`The foundation of photo-realism is the calculation oi‘ lighI:—ob|ecr interaction
`and this splits neatly into two fields - the development of local reiiection
`
`0017
`
`

`
`models and the development of global models. Local or direct relleetion models
`only consider the interaction or’ an object with a light source as If the ob|ect and
`light were floating in dark space. That is, only the first reflection of light from
`the object is considered. Global retiection models consider how light reflects
`from one object and travels onto another. In other words the light impinging on
`a point on the surface can ccrne either from a light source [direct light} or iridi-
`rect light that has first hit another object. Global interaction is for the most part
`an unsolved problem, although two partial sohitions, ray tracing and radlositv.
`are now widely implemented.
`Computer graphics research has gone the way of much modern scientific
`researdt — early major advances are created and consolidaced into a practical
`technology. Later significant advances seem to be more diflicult to achieve. We
`can say that most images are produced using the Phorig local reflection model
`[first reported in 19?5]. fewer using ray tracing {first popularized in 19%] and
`fewer still using radlosity (first reported in 198.4]. Aldtough there is still much
`research being carried out in Light-scene interaction methodologies much oi‘ the
`current research in computer graphics is concerned more with applications, for
`eirample.t~1th such general applications as animation, visualization and virtual
`reality. in the most important computer graphics publication mu: annual SIG»
`GRAPH conference proceedings) there was in I935 a total of 22 papers con-
`cerned with the production techniques of images (rendering. modelling and
`hardware) compared with 13 on what could loosely be called applications. A
`decade later in 1995 there were 33' papers on appilmiions and I? on image pro-
`duction techniques.
`
`(3
`
`Modelling surface reflection with local interaction
`
`Two early advances which went hand-in-hand were the development of hidden
`surface removal algorithms and shaded imagery —- simulating the interaction of
`an ob|et:t with a light source. Most of the hidden surface removal research was
`carried out in the l9?Ds and nowadays. tor general-purpose use, the most com-
`mon algorithm is the zeiurter .— an approach that is very easy to implement and
`combine with shading or rendering algorithms
`In shaded imagery the major prop is the Phone reflection model. This Is an
`elegant but completely empirical model that usually ends up with an obiect
`reflecting more light than it receives. its parameters are based on the grossest
`aspects of reduction of light from a surface. Despite this, it is the most widely
`used model in computer graphics - responsible for the vast ma|crit}r or created
`images. Why is this so? Probably because users find it adequate and it is easy to
`implement.
`llieoretically based reflection models attempt to model reliection more accu-
`rately and their parameters have physical meaning — that is they can be mea-
`sured for a real surlace. For example, light rellects dlflerenthr from an isotropic
`surface, such as plastic. compared no its behaviour with a non-isotropic surface
`
`0018
`
`

`
`PREFACE @
`
`such as brushed aluminium and such an effect can be imitated by explicitly
`modelling the surface cha.racterIstl. such models attempt to imitate the behav-
`iour of light at a "mlllisr:ale' level (where the roughness or surface geometry is
`still much greater titan the wavelength of light}. Their purpose is to imitate the
`material signature — why different materials in reality look different.
`Altemathlely. parameters of a model can be measured on a real surface and used
`in a simulation. The work into more elaborate or theoretical local reilection
`
`models does not seem to have gained any widespread acceptance as far as its
`implementation in rendering systems is concerned. This may be due to the fact
`that users do not perceive that the extra processing costs are worth the some-
`what marginal improvement in the appearance of the shaded object.
`all these models, while attending to the accurate modelling of light from a
`surface, are local models which means that they only consider the interaction of
`light with the obiect as if the obiect was floating In free space. No ob]ect—ob|ect
`interaction is considered and one of the main problems that immediately arises
`is that shadows — a phenomenon due to global interaction - are not incorporated
`into the model and have to be calculated by a separate ‘add-on’ algorithm.
`The development of the Phong reilectlon model spawned research into add-
`on shadow algorithms and texture mapping, both of which e11l'tan-ced the
`appearance of the shaded ob|ect. and tempered the otherwise ‘floating irl free
`space’ plastic look of the basic Pholng mode].
`
`(D
`
`Modelling global Interaction
`
`The 1950s saw the development of two significant global models - light reflec-
`tion modeis that attempt to evaluate the interaction between obiects. Global
`interaction gives rise to such phenomena as the determination of the Intensity
`of light within a shadow area, the reflection of objects In each other {specular
`interaction) and a subtle effect known as colour bleeding where the colour from
`a diffuse surface is transported to another nearby surface {diffuse Interaction}.
`The light intensity within a shadow area can only be determined from global
`interaction. An area in shadow, by definition. cannot receive light directly from
`a light source but only indirectly from light reflecting front another object.
`inihenyouseeshinyobiectsiriasceneytruexpecttoseein tlie-tit refieciionsof
`other obiects. A very shiny surface. such as chromium plate, behaves almost as
`a mirror taking all its surface detail from its surroundings and distorting this geo-
`metrically accordlng to stirlace curvature.
`The successful global models are ray tracing and raclioslty. However, in their
`basic implementation both models only cater for one aspect of global illumina-
`tion.
`ltay tracing attends to perfect specular reflection - very shiny oblects
`reflectirig in each other, and radlosity models diffuse interaction which is light
`reilecting off matte surfaces to illuminate other surfaces. Diffuse interaction is
`
`common in man-made interiors which tend to have carpets on the floor and
`matte finishes on the walls. Areas in a room that cannot see the light source are
`
`0019
`
`

`
`iilumirtatecl by ciiifuse interaction. Munuaiiy exclusive in the phenomena they
`model, images creatned by both methods tend to have identifying "signatures".
`Ra}!-traced Images are notable for perfect rectirsive reflectitlris and super sharp
`refraction. Raidioslty images are usirally of softly-lit interiors and do not oontaln
`specular or shiny objects.
`Computer graphics is not an exact science. Much research in light-surface
`interaction in computer graphics proceeds by taking existing physical models
`and simulating then with a computer graphics algorithm. This may involve
`muen simplification in the original mathematical model so that it can he imple-
`mented as a computer graphics algorithm. Ray I1-acin; and ratiioslty are classic
`examples of this tendency. Simplifications, which may appear gross to a mathe-
`matician, are made by computer graphlcists for practical reasons. The reason this
`process ‘works’ is that when we look at a sjritthlzed scene we do not generally
`perceive the sirnpli.ficatioos in the mathematics unless they result in visible
`degerierarzies known as aliases. However, most people can easily distinguish a
`computer graphics image from a photograph. Thus computer gmplucs. have a
`‘realism’ of their own that is a function of the model. and the neamess of the
`computer graphics image to a photograph of a real scene varies widely accord-
`ing to the method. Photo-realism in computer graphics means the image looks
`real not that it approaches. on a pixel by pixel basis, a photograph. This subjec-
`tive |ud.ge:rne:nt of oomputergraphics images somewhat devslues the widely used
`ad|ectiire *photo-realistic’, but there you are. with one or two exceptions very lit-
`tle worit has been done on comparing a human's perception of a computer
`graphics image with_. say, a TV iiriage of the equivalent real scene.
`
`0020
`
`

`
`- Acknowledgements
`
`The author would like to than]: the following:
`
`I Ligiitworlr Design Ltd (Sheffield. UK) and Dave Cauldron for providing the
`facilities to produce the front newer Image {model of the Tate Gallery, St Ives.
`UK} and the renderer, iiadloltay.
`
`Daniel Tieece for the images on the back cover which he produced as part of
`his PhD thesis and which comprise three-dimensional palm strokes
`interactively applied to a standard polygon model.
`
`Lee Cooper for prodiicing Figures -5.12, ?.E, 8.23, 3.10, 10.4, 15.1. 18.3. 18.5,
`13.5, 13.1, 13.11, 1:19, 13.10, 13.11, 111.12, 111.13, 111.14, 13.16. 111.11 and
`18.19 together with the majority of Images on the CD-ROM. These were
`produced using Llghrworlrs Application Development System kindly
`supplied by Llghtworit Design Ltd.
`Mari: Puller for Figtue13.1.
`
`Steve Haddock for Figures 1.5, 4.9, 3.8, 5.215.
`
`Agata Opaiach for Figure 2.20.
`Klaus de Geuss for Figures 13.10 an-113.11.
`
`Guy Brown for Figure 16.19.
`Fat‘.-io Policarpo for Figure 8.14.
`
`O ll~.{Dh-1' Uiiiirersity, l-iarni:-u:rg.. for Figure 13.3.
`
`in addition the author would like to thank Keith Mansfield, the production staff at
`Addison-Wesley, Robert Chaundry of Boolrstylc for his care with the manuscript
`and Dinnea Watt for the cover design.
`
`The ptlh-lishers are grateful to the following for permission to reproduce copyright
`material:
`
`Figure 2.1 reproduced with the permission of Viewpoint Digital, Inc; Figure 2.4
`from mi:-nut: Computer Graphics, Ze [Beatty and ll-c-oth, 19821, O 1932 lF.i:'.E, The
`Institute of Electrical and Electronics Engineners, Inc, New Yorlr; Flgtues 2.? and 2.8
`from Gem-11:11-e Modeiiingfar Carnpuarr Gmpiifcr and CAD (Snyder, 19921, Academic
`
`0021
`
`

`
`(ED Acxuumsncmsms
`
`Pam, Inndan:Figure2.20reprodumdwid1mepumisslm1ofAgau0paJach:Flgu12
`13.3 from VUXEL-WIN, Part 1': Drab: andslurll, CD-ROM for UNIX workstauons and
`Lmux pcg, version 1.1 n Karl-I-rem: HG-l1neand5PTlIl£Ef-Verlag GmbH :5: Co. KG
`1996. reproduced I-V111: kind pennlrslm; Figure 16.14 mpmdrrczd with the permlsr
`sionoistmen Seitz; Fig-use 11.23 ErnmACM11urIsnc1iar1sarIGmpIrJ:s.15:3,]uIyl996
`(Hubbard. 1996], ACM Ptlbllcartiorrs, New ‘fork.
`
`fifl1fl5tEVuj'EEfmtha5beeJ1madetotacefl|emmeIsofDnpyrlgh1mateflal.ma
`Eewcasesrhbhupwvedlmposslbleandwetaherhisappamuriqrtuofiermn
`apaluglu to any copy-1-Iglrt holders whose rights we may have unwltdragly
`infringed.
`
`Trademark nutlte
`
`Apple" and Qmckhme“ are trade-rnarks of Apple Computer, Inc.
`LuxnT' is a trademark ufjac Jacobson Industries.
`Kodak“ is a trademark of Eastman Kodak Company.
`I1enderM;an“' is a uachrnrark at Pixar Curpmatlon.
`VAX?" ls a trademark of Digital Equipment Curpnratlon.
`3D Data.-rein‘ is 1 tradtmaxk ml‘ Vtewpolnt Digltal. Inc.
`
`0022
`
`

`
`GD
`
`Mathematical fundamentals of
`computer graphics
`
`1.1 Menipularttng three-dimensional stnrctures
`
`1.2 Structure-defonnlng transionnations
`
`1.3 Vectors and computer graphics
`
`1.4
`
`Iiays and computer graphics
`
`1.5
`
`interpolating properties in the image plane
`
`03
`
`Manipulating three-cllrnortslortal structures
`
`Transfonnations are important tools in generating three-dimensional scenes.
`They are used to move ohleciri around in an emrironment, and also to construct
`a two-dimensional view of the environment for a display surface. This chapter
`deals with basic three-dimensional transfonnations, and introduces some useful
`sltape-changing transformations and basic three-dimensional geometry that we
`will be using later in the text.
`in oompuiner graphics the most popular method for representing an object
`is die polygon mesh model. This representation is fully described in Chapter 2.
`We do this by representing the surface of an ol:I|ect as a set of connected planar
`polygons and each polygon is a list of [connected] points. This form of
`representation is either enact or an approximation depending on the nature of
`the obiect. A cube. for example. can be represented exactly by sir. squares. A
`cylinder, on the other hand can only be approximated by polygons; say six rec-
`tangles for the curved surface and two hexagons for the end faces. The number
`of polygons used tn the approxlrnatlon determines how accurately the ohiect
`lsrepresentedandthtshasrepercusstonsinmodeujn,geost,storageand
`rendering cost and quality. The popularity of the polygon mesh modelling tech-
`nique in oontputer graphics is undoubtediy due to its inherent simplicity
`and the development or‘ inexpensive shading algorithms that work with such
`models.
`
`0023
`
`

`
`(3 MATHEMATICAL sun DAMENTALS or computes oiimiics
`
`A polygon mesh model consists of a structure of vertices. each vertex beinga
`three-dimensional point in so-called world coordinate space. Later we will be
`concerned with how yertioes are connected to form polygons and how polygons
`are structusecl Into complete objects. But to start with we shall consider obiects
`just as a set of three-dimensional verttces and look at how these are transiormed
`in three-dimensional space using linear transforrriations.
`
`Three-dimensional geometry in computer graphics - affine
`transformations
`
`in this section we look at threevdimensiona] affine transformations. These are
`the transforinations that effect rotation, scaling. shear and translation. Affine
`transformations can be represented by a matrix. and a set of affine transtonna-
`tions can be combined into a single overall affine transformation. Technically we
`say that an affine transformation is made up of any combination of linear trans-
`formations (rotation, scaling and shear} followed by translation.
`Clbiecis are defined in a world coordinate system which is conventionally a
`right-handed system. A right-handed and left-handed three-dimensional coordi-
`nate system is shown in Figure 1.1. Right-handed systems are the standard math-
`ematical convention, although left-handed systetris have, and still are. used in
`the speci

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket