With contributions by Michael Ashikhmin, Michael Gleicher, Naty Hoffman, Garrett Johnson, Tamara Munzner, Erik Reinhard, Kelvin Sung, William B. Thompson, Peter Willemsen, Brian Wyvill.
The third edition of this widely adopted text gives students a comprehensive, fundamental introduction to computer graphics. The authors present the mathematical foundations of computer graphics...
With contributions by Michael Ashikhmin, Michael Gleicher, Naty Hoffman, Garrett Johnson, Tamara Munzner, Erik Reinhard, Kelvin Sung, William B. Thompson, Peter Willemsen, Brian Wyvill.
The third edition of this widely adopted text gives students a comprehensive, fundamental introduction to computer graphics. The authors present the mathematical foundations of computer graphics with a focus on geometric intuition, allowing the programmer to understand and apply those foundations to the development of efficient code.
--
New in this edition:
* Four new contributed chapters, written by experts in their fields: Implicit Modeling, Computer Graphics in Games, Color, Visualization, including information visualization
* Revised and updated material on the graphics pipeline, reflecting a modern viewpoint organized around programmable shading.
* Expanded treatment of viewing that improves clarity and consistency while unifying viewing in ray tracing and rasterization.
* Improved and expanded coverage of triangle meshes and mesh data structures.
A new organization for the early chapters, which concentrates foundational material at the beginning to increase teaching flexibility.
作者简介
· · · · · ·
Peter Shirley is a principal research scientist at NVIDIA and an adjunct professor in the School of Computing at the University of Utah. He has held positions at Indiana University and the Program of Computer Graphics at Cornell University.
Steve Marschner is an associate professor in the Computer Science Department and Program of Computer Graphics at Cornell University.
目录
· · · · · ·
Table of Contents
Preface
-
1. Introduction
Graphics Areas
Major Applications
· · · · · ·
(更多)
Table of Contents
Preface
-
1. Introduction
Graphics Areas
Major Applications
Graphics APIs
Graphics Pipeline
Numerical Issues
Efficiency
Designing and Coding Graphics Programs
-
2. Miscellaneous Math
Sets and Mappings
Solving Quadratic Equations
Trigonometry
Vectors
Curves and Surfaces
Linear Interpolation
Triangles
-
3. Raster Images
Raster Devices
Images, Pixels, and Geometry
RGB Color
Alpha Compositing
-
4. Ray Tracing
The Basic Ray – Tracing Algorithm
Perspective
Computing Viewing Rays
Ray-Object Intersection
Shading
A Ray – Tracing Program
Shadows
Ideal Specular Reflection
Historical Notes
-
5. Linear Algebra
Determinants
Matrices
Computing with Matrices and Determinants
Eigen values and Matrix Diagonalization
-
6. Transformation Matrices
2D Linear Transformations
3D Linear Transformations
Translation and Affine Transformations
Inverses of Transformation Matrices
Coordinate Transformations
-
7. Viewing
Viewing Transformations
Projective Transformations
Perspective Projection
Some Properties of the Perspective Transform
Field-of-View
-
8. The Graphics Pipeline
Rasterization
Operations Before and After Rasterization
Simple Antialiasing
Culling Primitives for Efficiency
--
9. Signal Processing
Digital Audio: Sampling in 1D
Convolution
Convolution Filters
Signal Processing for Images
Sampling Theory
--
10. Surface Shading
Diffuse Shading
Phong Shading
Artistic Shading
--
11. Texture Mapping
3D Texture Mapping
2D Texture Mapping
Texture Mapping for Rasterized Triangles
Bump Textures
Displacement Mapping
Environment Maps
Shadow Maps
--
12. Data Structures for Graphics
Triangle Meshes
Scene Graphs
Spatial Data Structures
BSP Trees for Visibility
Tiling Multidimensional Arrays
--
13. More Ray Tracing
Transparency and Refraction
Instancing
Constructive Solid Geometry
Distribution Ray Tracing
--
14. Sampling
Integration
Continuous Probability
Monte Carlo Integration
Choosing Random Points
--
15. Curves
Curves
Curve Properties
Polynomial Pieces
Putting Pieces Together
Cubics
Approximating Curves
Summary
--
16. Implicit Modeling
Implicit Functions, Skeletal Primitives and Summation Blending
Rendering
Space Partitioning
More on Blending
Constructive Solid Geometry
Warping
Precise Contact Modeling
The Blob Tree
Interactive Implicit Modeling Systems
--
17. Computer Animation
Principles of Animation
Key framing
Deformations
Character Animation
Physics-Based Animation
Procedural Techniques
Groups of Objects
Notes
--
18. Using Graphics Hardware
What Is Graphics Hardware
Describing Geometry for the Hardware
Processing Geometry into Pixels
19. Building Interactive Graphics Applications
The Ball Shooting Program
Programming Models
The Model view-Controller Architecture
Example Implementations
Applying Our Results
Notes
Exercises
--
20. Light
Radiometry
Transport Equation
Photometry
--
21. Color
Colorimetry
Color Spaces
Chromatic Adaptation
Color Appearance
Notes
--
22. Visual Perception
Vision Science
Visual Sensitivity
Spatial Vision
Objects, Locations, and Events
Picture Perception
--
23. Tone Reproduction
Classification
Dynamic Range
Color
Image Formation
Frequency-Based Operators
Gradient-Domain Operators
Spatial Operators
Division
Sigmoids
Other Approaches
Night Tone mapping
Discussion
--
24. Global Illumination
Particle Tracing for Lambertian Scenes
Path Tracing
Accurate Direct Lighting
--
25. Reflection Models
Real-World Materials
Implementing Reflection Models
Specular Reflection Models
Smooth Layered Model
Rough Layered Model
26. Computer Graphics in Games
Platforms
Limited Resources
Optimization Techniques
Game Types
The Game Production Process
--
27. Visualization
Background
Data Types
Human-Centered Design Process
Visual Encoding Principles
Interaction Principles
Composite and Adjacent Views
Data Reduction
Examples
--
28. Spatial-Field Visualization
2D Scalar Fields
3D Scalar Fields
--
References
· · · · · · (收起)
The principal difference is between a single rotation and two different orthogonal matrices. This difference causes another, less important, difference. Because the SVD has different singular vectors on the two sides, there is no need for negative Singular values: we can always flip the sign of a singular value, reverse the direction of one of the associated singular vectors, and end up with the same transformation again. For this reason, the SVD always produces a diagonal matrix with all positive entries. but the matrices U and V are not guaranteed to be rotations-they could include reflection as well. In geometric applications like graphics this is an inconvenience, but a minor one: it is easy to differentiate ro tations from reflections by checking the determinant, which is +1 for rota... (查看原文)
However, this type of transformation, in which one of the coordinates of the input vector appears in the denominator, can’t be achieved using affine transformations.
We can allow for division with a simple generalization of the mechanism of homogeneous coordinates that we have been using for affine transformations. (查看原文)
Steve Marschner, Peter Shirley. Fundamentals of Computer Graphics. ISBN: 978-1-4822-2941-7. 看书名就知道,这次读的是一本计算机图形学的基础读物。计算机本质上只能处理数字。通过将字符和数字进行映射,计算机就能获取处理字符串的能力。但是图像与字符不同,图像一般...
(展开)
1 有用 流浪的云 2016-12-10 18:23:19
神书,一本书入门计算机图形学
0 有用 PigPig 2013-10-20 13:24:07
很好的书,但有些地方说的不是很细,sampling 和 antialiasing那部分写的很好
1 有用 啾啾子虫 2015-12-31 16:26:27
大学期间最受益的一本书吧
0 有用 Ardat-Giggsy 2012-03-12 21:40:05
不错的书啦。。。只是后半部分。。。设计的面太广。。。╮(╯▽╰)╭反正也不准备弄图形学了。。。
0 有用 烧饼大叔 2012-01-04 21:29:49
对CG里面的常见领域都做了一定的说明,不过有些章节讲的太过粗糙,读起来颇为吃力