3D Math Primer for Graphics and Game Development

Paperback
from $0.00

Author: Fletcher Dunn

ISBN-10: 1556229119

ISBN-13: 9781556229114

Category: Computer Graphics - General & Miscellaneous

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,...

Search in google:

This book covers fundamental 3D math concepts that are especially useful for computer game developers and programmers.

AcknowledgmentsxiChapter 1Introduction11.1What is 3D Math?11.2Why You Should Read This Book11.3What You Should Know Before Reading This Book31.4Overview3Chapter 2The Cartesian Coordinate System52.11D Mathematics62.22D Cartesian Mathematics92.3From 2D to 3D142.4Exercises20Chapter 3Multiple Coordinate Spaces233.1Why Multiple Coordinate Spaces?243.2Some Useful Coordinate Spaces253.3Nested Coordinate Spaces303.4Specifying Coordinate Spaces313.5Coordinate Space Transformations313.6Exercises34Chapter 4Vectors354.1Vector--A Mathematical Definition364.2Vector--A Geometric Definition374.3Vectors vs. Points404.4Exercises42Chapter 5Operations on Vectors455.1Linear Algebra vs. What We Need465.2Typeface Conventions465.3The Zero Vector475.4Negating a Vector485.5Vector Magnitude (Length)495.6Vector Multiplication by a Scalar515.7Normalized Vectors535.8Vector Addition and Subtraction545.9The Distance Formula575.10Vector Dot Product585.11Vector Cross Product625.12Linear Algebra Identities655.13Exercises67Chapter 6A Simple 3D Vector Class696.1Class Interface696.2Class Vector3 Definition706.3Design Decisions73Chapter 7Introduction to Matrices837.1Matrix--A Mathematical Definition837.2Matrix--A Geometric Interpretation917.3Exercises98Chapter 8Matrices and Linear Transformations1018.1Transforming an Object vs. Transforming the Coordinate Space1028.2Rotation1058.3Scale1128.4Orthographic Projection1158.5Reflection1178.6Shearing1188.7Combining Transformations1198.8Classes of Transformations1208.9Exercises124Chapter 9More on Matrices1259.1Determinant of a Matrix1259.2Inverse of a Matrix1309.3Orthogonal Matrices1329.44x4 Homogenous Matrices1359.5Exercises146Chapter 10Orientation and Angular Displacement in 3D14710.1What is Orientation?14810.2Matrix Form14910.3Euler Angles15310.4Quaternions15910.5Comparison of Methods17910.6Converting between Representations18010.7Exercises193Chapter 11Transformations in C++19511.1Overview19611.2Class EulerAngles19811.3Class Quaternion20511.4Class RotationMatrix21511.5Class Matrix4x3220Chapter 12Geometric Primitives23912.1Representation Techniques23912.2Lines and Rays24112.3Spheres and Circles24612.4Bounding Boxes24712.5Planes25212.6Triangles25712.7Polygons26912.8Exercises275Chapter 13Geometric Tests27713.1Closest Point on 2D Implicit Line27713.2Closest Point on Parametric Ray27813.3Closest Point on Plane27913.4Closest Point on Circle/Sphere28013.5Closest Point in AABB28013.6Intersection Tests28113.7Intersection of Two Implicit Lines in 2D28213.8Intersection of Two Rays in 3D28313.9Intersection of Ray and Plane28413.10Intersection of AABB and Plane28513.11Intersection of Three Planes28613.12Intersection of Ray and Circle/Sphere28613.13Intersection of Two Circles/Spheres28813.14Intersection of Sphere and AABB29113.15Intersection of Sphere and Plane29113.16Intersection of Ray and Triangle29313.17Intersection of Ray and AABB29713.18Intersection of Two AABBs29713.19Other Tests29913.20Class AABB330013.21Exercises316Chapter 14Triangle Meshes31914.1Representing Meshes32014.2Additional Mesh Information32814.3Topology and Consistency33014.4Triangle Mesh Operations33114.5A C++ Triangle Mesh Class336Chapter 153D Math for Graphics34515.1Graphics Pipeline Overview34615.2Setting the View Parameters34915.3Coordinate Spaces35415.4Lighting and Fog35815.5Buffers37215.6Texture Mapping37315.7Geometry Generation/Delivery37415.8Transformation and Lighting37715.9Backface Culling and Clipping38015.10Rasterization383Chapter 16Visibility Determination38516.1Bounding Volume Tests38616.2Space Partitioning Techniques39016.3Grid Systems39216.4Quadtrees and Octrees39316.5BSP Trees39816.6Occlusion Culling Techniques402Chapter 17Afterword407Appendix AMath Review409Summation Notation409Angles, Degrees, and Radians409Trig Functions410Trig Identities413Appendix BReferences415Index417