3D Math Primer For Graphics And Game Development by Fletcher Dunn, Ian Parberry, Dr Ian Parberry | | 9781556229114 | Paperback | Barnes & Noble

# 3D Math Primer For Graphics And Game Development

ISBN-10: 1556229119

ISBN-13: 9781556229114

Pub. Date: 06/21/2002

Publisher: Jones & Bartlett Learning

3D Math Primer for Graphics and Game Development covers fundamental 3D math concepts that are especially useful for computer game developers and programmers. The authors discuss the mathematical theory in detail and then provide the geometric interpretation necessary to make 3D math intuitive. Working C++ classes illustrate how to put the techniques into practice, and

## Overview

3D Math Primer for Graphics and Game Development covers fundamental 3D math concepts that are especially useful for computer game developers and programmers. The authors discuss the mathematical theory in detail and then provide the geometric interpretation necessary to make 3D math intuitive. Working C++ classes illustrate how to put the techniques into practice, and exercises at the end of each chapter help reinforce the concepts.

This book explains basic concepts such as vectors, coordinate spaces, matrices, transformations, Euler angles, homogenous coordinates, geometric primitives, intersection tests, and triangle meshes. It discusses orientation in 3D, including thorough coverage of quaternions and a comparison of the advantages and disadvantages of different representation techniques. The text describes working C++ classes for mathematical and geometric entities and several different matrix classes, each tailored to specific geometric tasks. Also included are complete derivations for all the primitive transformation matrices.

## Product Details

ISBN-13:
9781556229114
Publisher:
Jones & Bartlett Learning
Publication date:
06/21/2002
Edition description:
1E
Pages:
429
Product dimensions:
7.65(w) x 9.29(h) x 0.87(d)

## Related Subjects

 Acknowledgments xi Chapter 1 Introduction 1 1.1 What is 3D Math? 1 1.2 Why You Should Read This Book 1 1.3 What You Should Know Before Reading This Book 3 1.4 Overview 3 Chapter 2 The Cartesian Coordinate System 5 2.1 1D Mathematics 6 2.2 2D Cartesian Mathematics 9 2.3 From 2D to 3D 14 2.4 Exercises 20 Chapter 3 Multiple Coordinate Spaces 23 3.1 Why Multiple Coordinate Spaces? 24 3.2 Some Useful Coordinate Spaces 25 3.3 Nested Coordinate Spaces 30 3.4 Specifying Coordinate Spaces 31 3.5 Coordinate Space Transformations 31 3.6 Exercises 34 Chapter 4 Vectors 35 4.1 Vector--A Mathematical Definition 36 4.2 Vector--A Geometric Definition 37 4.3 Vectors vs. Points 40 4.4 Exercises 42 Chapter 5 Operations on Vectors 45 5.1 Linear Algebra vs. What We Need 46 5.2 Typeface Conventions 46 5.3 The Zero Vector 47 5.4 Negating a Vector 48 5.5 Vector Magnitude (Length) 49 5.6 Vector Multiplication by a Scalar 51 5.7 Normalized Vectors 53 5.8 Vector Addition and Subtraction 54 5.9 The Distance Formula 57 5.10 Vector Dot Product 58 5.11 Vector Cross Product 62 5.12 Linear Algebra Identities 65 5.13 Exercises 67 Chapter 6 A Simple 3D Vector Class 69 6.1 Class Interface 69 6.2 Class Vector3 Definition 70 6.3 Design Decisions 73 Chapter 7 Introduction to Matrices 83 7.1 Matrix--A Mathematical Definition 83 7.2 Matrix--A Geometric Interpretation 91 7.3 Exercises 98 Chapter 8 Matrices and Linear Transformations 101 8.1 Transforming an Object vs. Transforming the Coordinate Space 102 8.2 Rotation 105 8.3 Scale 112 8.4 Orthographic Projection 115 8.5 Reflection 117 8.6 Shearing 118 8.7 Combining Transformations 119 8.8 Classes of Transformations 120 8.9 Exercises 124 Chapter 9 More on Matrices 125 9.1 Determinant of a Matrix 125 9.2 Inverse of a Matrix 130 9.3 Orthogonal Matrices 132 9.4 4x4 Homogenous Matrices 135 9.5 Exercises 146 Chapter 10 Orientation and Angular Displacement in 3D 147 10.1 What is Orientation? 148 10.2 Matrix Form 149 10.3 Euler Angles 153 10.4 Quaternions 159 10.5 Comparison of Methods 179 10.6 Converting between Representations 180 10.7 Exercises 193 Chapter 11 Transformations in C++ 195 11.1 Overview 196 11.2 Class EulerAngles 198 11.3 Class Quaternion 205 11.4 Class RotationMatrix 215 11.5 Class Matrix4x3 220 Chapter 12 Geometric Primitives 239 12.1 Representation Techniques 239 12.2 Lines and Rays 241 12.3 Spheres and Circles 246 12.4 Bounding Boxes 247 12.5 Planes 252 12.6 Triangles 257 12.7 Polygons 269 12.8 Exercises 275 Chapter 13 Geometric Tests 277 13.1 Closest Point on 2D Implicit Line 277 13.2 Closest Point on Parametric Ray 278 13.3 Closest Point on Plane 279 13.4 Closest Point on Circle/Sphere 280 13.5 Closest Point in AABB 280 13.6 Intersection Tests 281 13.7 Intersection of Two Implicit Lines in 2D 282 13.8 Intersection of Two Rays in 3D 283 13.9 Intersection of Ray and Plane 284 13.10 Intersection of AABB and Plane 285 13.11 Intersection of Three Planes 286 13.12 Intersection of Ray and Circle/Sphere 286 13.13 Intersection of Two Circles/Spheres 288 13.14 Intersection of Sphere and AABB 291 13.15 Intersection of Sphere and Plane 291 13.16 Intersection of Ray and Triangle 293 13.17 Intersection of Ray and AABB 297 13.18 Intersection of Two AABBs 297 13.19 Other Tests 299 13.20 Class AABB3 300 13.21 Exercises 316 Chapter 14 Triangle Meshes 319 14.1 Representing Meshes 320 14.2 Additional Mesh Information 328 14.3 Topology and Consistency 330 14.4 Triangle Mesh Operations 331 14.5 A C++ Triangle Mesh Class 336 Chapter 15 3D Math for Graphics 345 15.1 Graphics Pipeline Overview 346 15.2 Setting the View Parameters 349 15.3 Coordinate Spaces 354 15.4 Lighting and Fog 358 15.5 Buffers 372 15.6 Texture Mapping 373 15.7 Geometry Generation/Delivery 374 15.8 Transformation and Lighting 377 15.9 Backface Culling and Clipping 380 15.10 Rasterization 383 Chapter 16 Visibility Determination 385 16.1 Bounding Volume Tests 386 16.2 Space Partitioning Techniques 390 16.3 Grid Systems 392 16.4 Quadtrees and Octrees 393 16.5 BSP Trees 398 16.6 Occlusion Culling Techniques 402 Chapter 17 Afterword 407 Appendix A Math Review 409 Summation Notation 409 Angles, Degrees, and Radians 409 Trig Functions 410 Trig Identities 413 Appendix B References 415 Index 417

## Customer Reviews

Average Review:

Write a Review

and post it to your social network