Computer graphics principles and practice

Gespeichert in:
Bibliographische Detailangaben
Format: Buch
Sprache:English
Veröffentlicht: Boston ; Munich [u.a.] Addison-Wesley 2008
Ausgabe:2. ed. in C, reprinted with corr., 24. print.
Schriftenreihe:The systems programming series
Schlagworte:
Online-Zugang:Inhaltsverzeichnis
Klappentext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!

MARC

LEADER 00000nam a2200000 c 4500
001 BV035342990
003 DE-604
005 00000000000000.0
007 t|
008 090303s2008 xx ad|| |||| 00||| eng d
020 |a 0201848406  |9 0-201-84840-6 
035 |a (OCoLC)553416359 
035 |a (DE-599)BVBBV035342990 
040 |a DE-604  |b ger  |e rakwb 
041 0 |a eng 
049 |a DE-703  |a DE-11 
084 |a ST 320  |0 (DE-625)143657:  |2 rvk 
245 1 0 |a Computer graphics  |b principles and practice  |c James D. Foley ... 
250 |a 2. ed. in C, reprinted with corr., 24. print. 
264 1 |a Boston ; Munich [u.a.]  |b Addison-Wesley  |c 2008 
300 |a XXIII, 1175 S., [32] Bl.  |b zahlr. Ill., graph. Darst. 
336 |b txt  |2 rdacontent 
337 |b n  |2 rdamedia 
338 |b nc  |2 rdacarrier 
490 0 |a The systems programming series 
500 |a 1. Aufl. u.d.T.: Foley, James D.: Fundamentals of interactive computer graphics 
650 0 7 |a Dialogsystem  |0 (DE-588)4131632-0  |2 gnd  |9 rswk-swf 
650 0 7 |a Computergrafik  |0 (DE-588)4010450-3  |2 gnd  |9 rswk-swf 
689 0 0 |a Computergrafik  |0 (DE-588)4010450-3  |D s 
689 0 1 |a Dialogsystem  |0 (DE-588)4131632-0  |D s 
689 0 |8 1\p  |5 DE-604 
700 1 |a Foley, James D.  |d 1942-  |e Sonstige  |0 (DE-588)114491038  |4 oth 
856 4 2 |m Digitalisierung UB Bayreuth  |q application/pdf  |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017147260&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA  |3 Inhaltsverzeichnis 
856 4 2 |m Digitalisierung UB Bayreuth  |q application/pdf  |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017147260&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA  |3 Klappentext 
883 1 |8 1\p  |a cgwrk  |d 20201028  |q DE-101  |u https://d-nb.info/provenance/plan#cgwrk 
943 1 |a oai:aleph.bib-bvb.de:BVB01-017147260 

Datensatz im Suchindex

_version_ 1819788966008717312
adam_text Contents CHAPTER 1 INTRODUCTION 1 1.1 Image Processing as Picture Analysis ....................... 2 1.2 The Advantages of Interactive Graphics ...................... 3 1.3 Representative Uses of Computer Graphics .................... 4 1.4 Classification of Applications ............................ 6 1.5 Development of Hardware and Software for Computer Graphics ....... 8 ,1.6 Conceptual Framework for Interactive Graphics ................. 17 1.7 Summary ........................................ 21 Exercises ........................................ 22 CHAPTER 2 PROGRAMMING IN THE SIMPLE RASTER GRAPHICS PACKAGE (SRGP) 25 2.1 Drawing with SRGP ................................. 26 2.2 Basic Interaction Handling ............................. 40 2.3 Raster Graphics Features ............................... 52 2.4 Limitations of SRGP ................................. 60 2.5 Summary ........................................ 63 Exercises ........................................ 64 CHAPTER 3 BASIC RASTER GRAPHICS ALGORITHMS FOR DRAWING 2D PRIMITIVES 67 3.1 Overview ........................................ 67 3.2 Scan Converting Lines ................................ 72 3.3 Scan Converting Circles ............................... 81 3.4 Scan Converting Ellipses .............................. 88 3.5 Filling Rectangles ................................... 91 3.6 Filling Polygons .................................... 92 3.7 Filling Ellipse Arcs .................................. 99 3.8 Pattern Filling ..................................... 100 3.9 Thick Primitives .................................... 104 3.10 Line Style and Pen Style ............................... 109 3.11 Clipping in a Raster World ............................. 110 3.12 Clipping Lines ..................................... Ill xviii Contents 3.13 Clipping Circles and Ellipses ............................ 124 3.14 Clipping Polygons ................................... 124 3.15 Generating Characters ................................ 127 3.16 SRGP-copyPixel .................................... 132 3.17 Antialiasing ....................................... 132 3.18 Summary ........................................ 140 Exercises ........................................ 142 CHAPTER 4 GRAPHICS HARDWARE 145 4.1 Hardcopy Technologies ................................ 146 4.2 Display Technologies ................................. 155 4.3 Raster-Scan Display Systems ............................ 165 4.4 The Video Controller ................................. 179 4.5 Random-Scan Display Processor .......................... 184 4.6 Input Devices for Operator Interaction ...................... 188 4.7 Image Scanners .................................... 195 Exercises ........................................ 197 CHAPTER 5 GEOMETRICAL TRANSFORMATIONS 201 5.1 2D Transformations .................................. 201 5.2 Homogeneous Coordinates and Matrix Representation of 2D Transformations .................................. 204 5.3 Composition of 2D Transformations ........................ 208 5.4 The Window-to-Viewport Transformation .................... 210 5.5 Efficiency ........................................ 212 5.6 Matrix Representation of 3D Transformations .................. 213 5.7 Composition of 3D Transformations ........................ 217 5.8 Transformations as a Change in Coordinate System .............. 222 Exercises ........................................ 226 CHAPTER 6 VIEWING IN 3D 229 6.1 Projections .......................................230 6.2 Specifying an Arbitrary 3D View .........................237 6.3 Examples of 3D Viewing ..............................242 6.4 The Mathematics of Planar Geometric Projections ...............253 6.5 Implementing Planar Geometric Projections ...................258 6.6 Coordinate Systems ..................................279 Exercises ........................................281 Contents xix CHAPTER 7 OBJECT HIERARCHY AND SIMPLE PHIGS (SPHIGS) 285 7.1 Geometric Modeling ................................. 286 7.2 Characteristics of Retained-Mode Graphics Packages .............. 293 7.3 Defining and Displaying Structures ........................ 295 7.4 Modeling Transformations .............................. 304 7.5 Hierarchical Structure Networks .......................... 308 7.6 Matrix Composition in Display Traversal ..................... 315 7.7 Appearance-Attribute Handling in Hierarchy ................... 318 7.8 Screen Updating and Rendering Modes ...................... 322 7.9 Structure Network Editing for Dynamic Effects ................. 324 7.10 Interaction ....................................... 328 7.11 Additional Output Features ............................. 332 7.12 Implementation Issues ................................ 334 7.13 Optimizing Display of Hierarchical Models ................... 340 7.14 Limitations of Hierarchical Modeling in PHIGS ................. 341 7.15 Alternative Forms of Hierarchical Modeling ................... 343 7.16 Summary ........................................ 345 Exercises ........................................ 346 CHAPTER 8 INPUT DEVICES, INTERACTION TECHNIQUES, AND INTERACTION TASKS 347 8.1 Interaction Hardware ................................. 349 8.2 Basic Interaction Tasks ................................ 358 8.3 Composite Interaction Tasks ............................. 381 Exercises ........................................ 388 CHAPTER 9 DIALOGUE DESIGN 391 9.1 The Form and Content of User-Computer Dialogues ..............392 9.2 User-Interface Styles .................................395 9.3 Important Design Considerations ..........................403 9.4 Modes and Syntax ..................................414 9.5 Visual Design .....................................418 9.6 The Design Methodology ..............................429 Exercises ........................................431 CHAPTER 10 USER INTERFACE SOFTWARE 435 10.1 Basic Interaction-Handling Models .........................436 10.2 Window-Management Systems ...........................439 10.3 Output Handling in Window Systems .......................443 xx Contents 10.4 Input Handling in Window Systems ........................ 447 10.5 Interaction-Technique Toolkits ........................... 451 10.6 User-Interface Management Systems ........................ 456 Exercises ........................................ 468 CHAPTER 11 REPRESENTING CURVES AND SURFACES 471 11.1 Polygon Meshes .................................... 473 11.2 Parametric Cubic Curves ............................... 478 11.3 Parametric Bicubic Surfaces ............................. 516 11.4 Quadric Surfaces ................................... 528 11.5 Summary ........................................ 529 Exercises ........................................ 530 CHAPTER 12 SOLID MODELING 533 12.1 Representing Solids .................................. 534 12.2 Regularized Boolean Set Operations ........................ 535 12.3 Primitive Instancing .................................. 539 12.4 Sweep Representations ................................ 540 12.5 Boundary Representations .............................. 542 12.6 Spatial-Partitioning Representations ........................ 548 12.7 Constructive Solid Geometry ............................ 557 12.8 Comparison of Representations ........................... 558 12.9 User Interfaces for Solid Modeling ......................... 561 12.10 Summary ........................................ 561 Exercises ........................................ 562 CHAPTER 13 ACHROMATIC AND COLORED LIGHT 563 13.1 Achromatic Light ................................... 563 13.2 Chromatic Color .................................... 574 13.3 Color Models for Raster Graphics ......................... 584 13.4 Reproducing Color .................................. 599 13.5 Using Color in Computer Graphics ........................ 601 13.6 Summary ........................................ 603 Exercises ........................................ 603 CHAPTER 14 THE QUEST FOR VISUAL REALISM 605 14.1 Why Realism? .....................................606 14.2 Fundamental Difficulties ...............................607 14.3 Rendering Techniques for Line Drawings .....................609 Contents xxi 14.4 Rendering Techniques for Shaded Images .....................612 14.5 Improved Object Models ...............................615 14.6 Dynamics ........................................615 14.7 Stereopsis ........................................616 14.8 Improved Displays ...................................617 14.9 Interacting with Our Other Senses .........................617 14.10 Aliasing and Antialiasing ..............................617 14.11 Summary ........................................646 Exercises ........................................647 CHAPTER 15 VISIBLE-SURFACE DETERMINATION 649 15.1 Functions of Two Variables .............................651 15.2 Techniques for Efficient Visible-Surface Algorithms ..............656 15.3 Algorithms for Visible-Line Determination ....................665 15.4 The z-Buffer Algorithm ...............................668 15.5 List-Priority Algorithms ...............................672 15.6 Scan-Line Algorithms ................................680 15.7 Area-Subdivision Algorithms ............................686 15.8 Algorithms for Octrees ................................695 15.9 Algorithms for Curved Surfaces ..........................698 15.10 Visible-Surface Ray Tracing .............................701 15.11 Summary ........................................715 Exercises ........................................718 CHAPTER 16 ILLUMINATION AND SHADING 721 16.1 Illumination Models .................................722 16.2 Shading Models for Polygons ............................734 16.3 Surface Detail .....................................741 16.4 Shadows .........................................745 16.5 Transparency ......................................754 16.6 Interobject Reflections ................................758 16.7 Physically Based Illumination Models .......................760 16.8 Extended Light Sources ...............................772 16.9 Spectral Sampling ...................................773 16.10 Improving the Camera Model ............................774 16.11 Global Illumination Algorithms ...........................775 16.12 Recursive Ray Tracing ................................776 16.13 Radiosity Methods ..................................793 16.14 The Rendering Pipeline ...............................806 16.15 Summary ........................................813 Exercises ........................................813 xxii Contents CHAPTER 17 IMAGE MANIPULATION AND STORAGE 815 17.1 What Is an Image? .................................. 816 17.2 Filtering ......................................... 817 17.3 Image Processing ................................... 820 17.4 Geometric Transformations of Images ....................... 820 17.5 Multipass Transformations .............................. 828 17.6 Image Compositing .................................. 835 17.7 Mechanisms for Image Storage ........................... 843 17.8 Special Effects with Images ............................. 850 17.9 Summary ........................................ 851 Exercises ........................................ 851 CHAPTER 18 ADVANCED RASTER GRAPHICS ARCHITECTURE 855 18.1 Simple Raster-Display System ........................... 856 18.2 Display-Processor Systems .............................. 861 18.3 Standard Graphics Pipeline ............................. 866 18.4 Introduction to Multiprocessing ........................... 873 18.5 Pipeline Front-End Architectures .......................... 877 18.6 Parallel Front-End Architectures .......................... 880 18.7 Multiprocessor Rasterization Architectures .................... 882 18.8 Image-Parallel Rasterization ............................. 887 18.9 Object-Parallel Rasterization ............................ 899 18.10 Hybrid-Parallel Rasterization ............................ 902 18.11 Enhanced Display Capabilities ........................... 907 18.12 Summary ........................................ 920 Exercises ........................................ 920 CHAPTER 19 ADVANCED GEOMETRIC AND RASTER ALGORITHMS 923 19.1 Clipping ......................................... 924 19.2 Scan-Converting Primitives ............................. 945 19.3 Antialiasing ....................................... 965 19.4 The Special Problems of Text ............................ 976 19.5 Filling Algorithms ................................... 979 19.6 Making copyPixel Fast ................................ 986 19.7 The Shape Data Structure and Shape Algebra .................. 992 19.8 Managing Windows with bitBlt ........................... 996 19.9 Page-Description Languages ............................. 998 19.10 Summary ........................................1006 Exercises ........................................1006 Contents xxiii CHAPTER 20 ADVANCED MODELING TECHNIQUES 1011 20.1 Extensions of Previous Techniques .........................1012 20.2 Procedural Models ..................................1018 20.3 Fractal Models .....................................1020 20.4 Grammar-Based Models ...............................1027 20.5 Particle Systems ....................................1031 20.6 Volume Rendering ...................................1034 20.7 Physically Based Modeling .............................1039 20.8 Special Models for Natural and Synthetic Objects ...............1043 20.9 Automating Object Placement ...........................1050 20.10 Summary ........................................1054 Exercises ........................................1054 CHAPTER 21 ANIMATION 1057 21.1 Conventional and Computer-Assisted Animation ................1058 21.2 Animation Languages .................................1065 21.3 Methods of Controlling Animation ........................1070 21.4 Basic Rules of Animation ..............................1077 21.5 Problems Peculiar to Animation ..........................1078 21.6 Summary ........................................1080 Exercises ........................................1080 APPENDIX: MATHEMATICS FOR COMPUTER GRAPHICS 1083 A.I Vector Spaces and Affine Spaces ..........................1083 A. 2 Some Standard Constructions in Vector Spaces .................1091 A.3 Dot Products and Distances .............................1094 A.4 Matrices .........................................1103 A. 5 Linear and Affine Transformations .........................1106 A. 6 Eigenvalues and Eigenvectors ............................1108 A. 7 Newton-Raphson Iteration for Root Finding ...................1109 Exercises ........................................1111 BIBLIOGRAPHY 1113 INDEX 1153 Computer Graphics PRINCIPLES AND PRACTICE S I -XON 1) HDITION ¡η (2 James D. Foley, Georgia Institute of Technology Andries van Dam, Brown University Steven K. Feiner, Columbia University John F. Hughes, Brown University By uniquely combining current concepts and practical applications in computer graphics, four well- known authors provide here the most comprehensive, authoritative, and up-to-date coverage of the field. The important algorithms in 2D and 3D graphics are detailed for easy implementation, including a close look at the more subtle special cases. There is also a thorough presentation of the mathematical princi¬ ples of geometric transformations and viewing. In this book, the authors explore multiple perspectives on computer graphics: the user s, the application programmer s, the package implementor s, and the hardware designer s. For example, the issues of user- centered design are expertly addressed in three chapters on interaction techniques, dialogue design, and user interface software. Hardware concerns are examined in a chapter, contributed by Steven Moinar and Henry Fuchs, on advanced architectures for real-time, high-performance graphics. The comprehensive topic coverage includes: • Programming with SRGP, a simple but powerful raster graphics package that combines features of Apple s QuickDraw and the MIT X Window System graphics library. • Hierarchical, geometric modeling using SPHIGS, a simplified dialect of the 3D graphics standard PHIGS. • Raster graphics hardware and software, including both basic and advanced algorithms for scan converting and clipping lines, polygons, conies, spline curves, and text. • Image synthesis, including visible-surface determination, illumination and shading models, image manipulation, and antialiasing. • Techniques for photorealistic rendering, including ray tracing and radiosity methods. • Surface modeling with parametric polynomials, including NURBS, and solid-modeling representations such as B-reps, CSG, and octrees. • Advanced modeling techniques such as fractals, grammar-based models, particle systems, physically based modeling, and volume rendering. • Concepts of computer animation and descriptions of state-of-the-art animation systems. Over 100 full-color plates and over 700 figures illustrate the techniques presented in the book.
any_adam_object 1
author_GND (DE-588)114491038
building Verbundindex
bvnumber BV035342990
classification_rvk ST 320
ctrlnum (OCoLC)553416359
(DE-599)BVBBV035342990
discipline Informatik
edition 2. ed. in C, reprinted with corr., 24. print.
format Book
fullrecord <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01892nam a2200397 c 4500</leader><controlfield tag="001">BV035342990</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">00000000000000.0</controlfield><controlfield tag="007">t|</controlfield><controlfield tag="008">090303s2008 xx ad|| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0201848406</subfield><subfield code="9">0-201-84840-6</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)553416359</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV035342990</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-703</subfield><subfield code="a">DE-11</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 320</subfield><subfield code="0">(DE-625)143657:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Computer graphics</subfield><subfield code="b">principles and practice</subfield><subfield code="c">James D. Foley ...</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">2. ed. in C, reprinted with corr., 24. print.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Boston ; Munich [u.a.]</subfield><subfield code="b">Addison-Wesley</subfield><subfield code="c">2008</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXIII, 1175 S., [32] Bl.</subfield><subfield code="b">zahlr. Ill., graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">The systems programming series</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">1. Aufl. u.d.T.: Foley, James D.: Fundamentals of interactive computer graphics</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Dialogsystem</subfield><subfield code="0">(DE-588)4131632-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Computergrafik</subfield><subfield code="0">(DE-588)4010450-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Computergrafik</subfield><subfield code="0">(DE-588)4010450-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Dialogsystem</subfield><subfield code="0">(DE-588)4131632-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Foley, James D.</subfield><subfield code="d">1942-</subfield><subfield code="e">Sonstige</subfield><subfield code="0">(DE-588)114491038</subfield><subfield code="4">oth</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bayreuth</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&amp;doc_library=BVB01&amp;local_base=BVB01&amp;doc_number=017147260&amp;sequence=000003&amp;line_number=0001&amp;func_code=DB_RECORDS&amp;service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bayreuth</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&amp;doc_library=BVB01&amp;local_base=BVB01&amp;doc_number=017147260&amp;sequence=000004&amp;line_number=0002&amp;func_code=DB_RECORDS&amp;service_type=MEDIA</subfield><subfield code="3">Klappentext</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-017147260</subfield></datafield></record></collection>
id DE-604.BV035342990
illustrated Illustrated
indexdate 2024-12-23T21:26:58Z
institution BVB
isbn 0201848406
language English
oai_aleph_id oai:aleph.bib-bvb.de:BVB01-017147260
oclc_num 553416359
open_access_boolean
owner DE-703
DE-11
owner_facet DE-703
DE-11
physical XXIII, 1175 S., [32] Bl. zahlr. Ill., graph. Darst.
publishDate 2008
publishDateSearch 2008
publishDateSort 2008
publisher Addison-Wesley
record_format marc
series2 The systems programming series
spellingShingle Computer graphics principles and practice
Dialogsystem (DE-588)4131632-0 gnd
Computergrafik (DE-588)4010450-3 gnd
subject_GND (DE-588)4131632-0
(DE-588)4010450-3
title Computer graphics principles and practice
title_auth Computer graphics principles and practice
title_exact_search Computer graphics principles and practice
title_full Computer graphics principles and practice James D. Foley ...
title_fullStr Computer graphics principles and practice James D. Foley ...
title_full_unstemmed Computer graphics principles and practice James D. Foley ...
title_short Computer graphics
title_sort computer graphics principles and practice
title_sub principles and practice
topic Dialogsystem (DE-588)4131632-0 gnd
Computergrafik (DE-588)4010450-3 gnd
topic_facet Dialogsystem
Computergrafik
url http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017147260&sequence=000003&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA
http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017147260&sequence=000004&line_number=0002&func_code=DB_RECORDS&service_type=MEDIA
work_keys_str_mv AT foleyjamesd computergraphicsprinciplesandpractice