ebook img

Graphics and Visualization: Principles & Algorithms PDF

776 Pages·2008·13.703 MB·\776
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Graphics and Visualization: Principles & Algorithms

(cid:1) (cid:1) (cid:1) (cid:1) Graphics & Visualization (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) Graphics & Visualization Principles & Algorithms T. Theoharis G. Papaioannou N. Platis N. Patrikalakis Withcontributionsby P.Dutre´ A.Nasri,F.A.Salem,andG.Turkiyyah AKPeters,Ltd. Wellesley,Massachusetts (cid:1) (cid:1) (cid:1) (cid:1) CRC Press Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 © 2008 by Taylor & Francis Group, LLC CRC Press is an imprint of Taylor & Francis Group, an Informa business No claim to original U.S. Government works Version Date: 20110714 International Standard Book Number-13: 978-1-4398-6435-7 (eBook - PDF) This book contains information obtained from authentic and highly regarded sources. Reasonable efforts have been made to publish reliable data and information, but the author and publisher cannot assume responsibility for the validity of all materials or the consequences of their use. The authors and publishers have attempted to trace the copyright holders of all material reproduced in this publication and apologize to copyright holders if permission to publish in this form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may rectify in any future reprint. Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or uti- lized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopy- ing, microfilming, and recording, or in any information storage or retrieval system, without written permission from the publishers. For permission to photocopy or use material electronically from this work, please access www.copyright.com (http://www. copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923, 978- 750-8400. CCC is a not-for-profit organization that provides licenses and registration for a variety of users. For organiza- tions that have been granted a photocopy license by the CCC, a separate system of payment has been arranged. Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for identi- fication and explanation without intent to infringe. Visit the Taylor & Francis Web site at http://www.taylorandfrancis.com and the CRC Press Web site at http://www.crcpress.com (cid:1) (cid:1) (cid:1) (cid:1) Contents Preface xi 1 Introduction 1 1.1 BriefHistory . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4 GraphicsPipeline . . . . . . . . . . . . . . . . . . . . . . . 8 1.5 ImageBuffers . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.6 GraphicsHardware . . . . . . . . . . . . . . . . . . . . . . 16 1.7 Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2 RasterizationAlgorithms 27 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.2 MathematicalCurvesandFiniteDifferences . . . . . . . . . 29 2.3 LineRasterization . . . . . . . . . . . . . . . . . . . . . . . 32 2.4 CircleRasterization . . . . . . . . . . . . . . . . . . . . . . 36 2.5 Point-in-PolygonTests . . . . . . . . . . . . . . . . . . . . 38 2.6 PolygonRasterization . . . . . . . . . . . . . . . . . . . . . 40 2.7 PerspectiveCorrection . . . . . . . . . . . . . . . . . . . . 48 2.8 SpatialAntialiasing . . . . . . . . . . . . . . . . . . . . . . 49 2.9 Two-DimensionalClippingAlgorithms. . . . . . . . . . . . 56 2.10 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 v (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) vi Contents 3 2Dand3DCoordinateSystemsandTransformations 73 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.2 AffineTransformations . . . . . . . . . . . . . . . . . . . . 74 3.3 2DAffineTransformations . . . . . . . . . . . . . . . . . . 76 3.4 CompositeTransformations . . . . . . . . . . . . . . . . . . 80 3.5 2DHomogeneousAffineTransformations . . . . . . . . . . 83 3.6 2DTransformationExamples . . . . . . . . . . . . . . . . . 85 3.7 3DHomogeneousAffineTransformations . . . . . . . . . . 94 3.8 3DTransformationExamples . . . . . . . . . . . . . . . . . 97 (cid:1) 3.9 Quaternions . . . . . . . . . . . . . . . . . . . . . . . . . 108 3.10 GeometricProperties . . . . . . . . . . . . . . . . . . . . . 113 3.11 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 4 ProjectionsandViewingTransformations 117 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 117 4.2 Projections . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.3 ProjectionExamples . . . . . . . . . . . . . . . . . . . . . 125 4.4 ViewingTransformation . . . . . . . . . . . . . . . . . . . 129 4.5 ExtendedViewingTransformation . . . . . . . . . . . . . . 136 4.6 FrustumCullingandtheViewingTransformation . . . . . . 140 4.7 TheViewportTransformation . . . . . . . . . . . . . . . . . 141 4.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 5 CullingandHiddenSurfaceEliminationAlgorithms 143 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 143 5.2 Back-FaceCulling . . . . . . . . . . . . . . . . . . . . . . 145 5.3 FrustumCulling . . . . . . . . . . . . . . . . . . . . . . . . 146 5.4 OcclusionCulling . . . . . . . . . . . . . . . . . . . . . . . 151 5.5 HiddenSurfaceElimination. . . . . . . . . . . . . . . . . . 158 5.6 EfficiencyIssues . . . . . . . . . . . . . . . . . . . . . . . 168 5.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 6 ModelRepresentationandSimplification 175 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 175 6.2 OverviewofModelForms . . . . . . . . . . . . . . . . . . 176 6.3 PropertiesofPolygonalModels . . . . . . . . . . . . . . . . 177 6.4 DataStructuresforPolygonalModels . . . . . . . . . . . . 179 (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) Contents vii 6.5 PolygonalModelSimplification . . . . . . . . . . . . . . . 183 6.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 7 ParametricCurvesandSurfaces 191 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 191 7.2 Be´zierCurves . . . . . . . . . . . . . . . . . . . . . . . . . 192 7.3 B-SplineCurves . . . . . . . . . . . . . . . . . . . . . . . . 206 7.4 RationalBe´zierandB-SplineCurves . . . . . . . . . . . . . 221 7.5 InterpolationCurves. . . . . . . . . . . . . . . . . . . . . . 226 7.6 Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 7.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 8 SubdivisionforGraphicsandVisualization 249 8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 249 8.2 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 8.3 SubdivisionCurves . . . . . . . . . . . . . . . . . . . . . . 251 8.4 SubdivisionSurfaces . . . . . . . . . . . . . . . . . . . . . 255 8.5 ManipulationofSubdivisionSurfaces . . . . . . . . . . . . 270 (cid:1) 8.6 AnalysisofSubdivisionSurfaces . . . . . . . . . . . . . . 277 (cid:1) 8.7 SubdivisionFiniteElements . . . . . . . . . . . . . . . . . 283 8.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 9 SceneManagement 301 9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 301 9.2 SceneGraphs . . . . . . . . . . . . . . . . . . . . . . . . . 303 9.3 DistributedSceneRendering . . . . . . . . . . . . . . . . . 315 9.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 10 VisualizationPrinciples 321 10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 321 10.2 MethodsofScientificExploration . . . . . . . . . . . . . . 323 10.3 DataAspectsandTransformations . . . . . . . . . . . . . . 325 10.4 Time-TestedPrinciplesforGoodVisualPlots . . . . . . . . 328 10.5 ToneMapping . . . . . . . . . . . . . . . . . . . . . . . . . 331 10.6 MattersofPerception . . . . . . . . . . . . . . . . . . . . . 335 10.7 VisualizingMultidimensionalData . . . . . . . . . . . . . . 338 10.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) viii Contents 11 ColorinGraphicsandVisualization 343 11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 343 11.2 Grayscale . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 11.3 ColorModels . . . . . . . . . . . . . . . . . . . . . . . . . 350 11.4 WebIssues . . . . . . . . . . . . . . . . . . . . . . . . . . 361 11.5 HighDynamicRangeImages . . . . . . . . . . . . . . . . . 362 11.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 12 IlluminationModelsandAlgorithms 367 12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 367 12.2 ThePhysicsofLight-ObjectInteractionI . . . . . . . . . . 368 (cid:1) 12.3 TheLambertIlluminationModel . . . . . . . . . . . . . . 372 12.4 ThePhongIlluminationModel . . . . . . . . . . . . . . . . 376 12.5 PhongModelVectors . . . . . . . . . . . . . . . . . . . . . 383 12.6 IlluminationAlgorithmsBasedonthePhongModel . . . . . 390 (cid:1) 12.7 TheCook–TorranceIlluminationModel . . . . . . . . . . 398 (cid:1) 12.8 TheOren–NayarIlluminationModel . . . . . . . . . . . . 405 (cid:1) 12.9 TheStraussIlluminationModel . . . . . . . . . . . . . . . 411 12.10 AnisotropicReflectance . . . . . . . . . . . . . . . . . . . . 414 12.11 AmbientOcclusion . . . . . . . . . . . . . . . . . . . . . . 417 12.12 ShaderSourceCode . . . . . . . . . . . . . . . . . . . . . . 422 12.13 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 13 Shadows 429 13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 429 13.2 ShadowsandLightSources . . . . . . . . . . . . . . . . . . 431 13.3 ShadowVolumes . . . . . . . . . . . . . . . . . . . . . . . 433 13.4 ShadowMaps . . . . . . . . . . . . . . . . . . . . . . . . . 448 13.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . 461 14 Texturing 463 14.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 463 14.2 ParametricTextureMapping . . . . . . . . . . . . . . . . . 464 14.3 Texture-CoordinateGeneration . . . . . . . . . . . . . . . . 470 14.4 TextureMagnificationandMinification . . . . . . . . . . . 486 14.5 ProceduralTextures . . . . . . . . . . . . . . . . . . . . . . 495 14.6 TextureTransformations . . . . . . . . . . . . . . . . . . . 503 14.7 ReliefRepresentation . . . . . . . . . . . . . . . . . . . . . 505 (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) (cid:1) Contents ix (cid:1) 14.8 TextureAtlases . . . . . . . . . . . . . . . . . . . . . . . 514 14.9 TextureHierarchies . . . . . . . . . . . . . . . . . . . . . . 525 14.10 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 15 RayTracing 529 15.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 529 15.2 PrinciplesofRayTracing . . . . . . . . . . . . . . . . . . . 530 15.3 TheRecursiveRay-TracingAlgorithm . . . . . . . . . . . . 537 15.4 ShootingRays . . . . . . . . . . . . . . . . . . . . . . . . . 545 15.5 SceneIntersectionTraversal . . . . . . . . . . . . . . . . . 549 15.6 DeficienciesofRayTracing. . . . . . . . . . . . . . . . . . 559 (cid:1) 15.7 DistributedRayTracing . . . . . . . . . . . . . . . . . . . 561 15.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . 564 16 GlobalIlluminationAlgorithms 565 16.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 565 16.2 ThePhysicsofLight-ObjectInteractionII . . . . . . . . . . 566 16.3 MonteCarloIntegration. . . . . . . . . . . . . . . . . . . . 573 16.4 ComputingDirectIllumination . . . . . . . . . . . . . . . . 576 16.5 IndirectIllumination . . . . . . . . . . . . . . . . . . . . . 590 16.6 Radiosity . . . . . . . . . . . . . . . . . . . . . . . . . . . 605 16.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . 611 16.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . 611 17 BasicAnimationTechniques 615 17.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 615 17.2 Low-LevelAnimationTechniques . . . . . . . . . . . . . . 617 17.3 Rigid-BodyAnimation . . . . . . . . . . . . . . . . . . . . 632 17.4 SkeletalAnimation . . . . . . . . . . . . . . . . . . . . . . 633 17.5 Physically-BasedDeformableModels . . . . . . . . . . . . 637 17.6 ParticleSystems . . . . . . . . . . . . . . . . . . . . . . . . 639 17.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . 641 18 ScientificVisualizationAlgorithms 643 18.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 643 18.2 ScalarDataVisualization . . . . . . . . . . . . . . . . . . . 646 18.3 VectorDataVisualization . . . . . . . . . . . . . . . . . . . 660 18.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . 672 (cid:1) (cid:1) (cid:1) (cid:1)

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.