Mathematics for computer graphics

John Vince explains a comprehensive range of mathematical techniques and problem-solving strategies associated with computer games, computer animation, special effects, virtual reality, CAD and other areas of computer graphics in this completely revised and expanded sixth edition. The first five cha...

Full description

Saved in:
Bibliographic Details
Main Author Vince, John
Format eBook Book
LanguageEnglish
Published London Springer 2022
Springer London, Limited
Springer London
Edition6
SeriesUndergraduate Topics in Computer Science
Subjects
Online AccessGet full text

Cover

Loading…
Table of Contents:
  • 11.20.5 Square of a Quaternion
  • 7.4.11 The Vector Product -- 7.4.12 The Right-Hand Rule -- 7.5 Deriving a Unit Normal Vector for a Triangle -- 7.6 Surface Areas -- 7.6.1 Calculating 2D Areas -- 7.7 Summary -- 7.8 Worked Examples -- 7.8.1 Position Vector -- 7.8.2 Unit Vector -- 7.8.3 Vector Magnitude -- 7.8.4 Angle Between Two Vectors -- 7.8.5 Vector Product -- References -- 8 Matrix Algebra -- 8.1 Introduction -- 8.2 Background -- 8.3 Matrix Notation -- 8.3.1 Matrix Dimension or Order -- 8.3.2 Square Matrix -- 8.3.3 Column Vector -- 8.3.4 Row Vector -- 8.3.5 Null Matrix -- 8.3.6 Unit Matrix -- 8.3.7 Trace -- 8.3.8 Determinant of a Matrix -- 8.3.9 Transpose -- 8.3.10 Symmetric Matrix -- 8.3.11 Antisymmetric Matrix -- 8.4 Matrix Addition and Subtraction -- 8.4.1 Scalar Multiplication -- 8.5 Matrix Products -- 8.5.1 Row and Column Vectors -- 8.5.2 Row Vector and a Matrix -- 8.5.3 Matrix and a Column Vector -- 8.5.4 Square Matrices -- 8.5.5 Rectangular Matrices -- 8.6 Inverse Matrix -- 8.6.1 Inverting a Pair of Matrices -- 8.7 Orthogonal Matrix -- 8.8 Diagonal Matrix -- 8.9 Summary -- 8.10 Worked Examples -- 8.10.1 Matrix Inversion -- 8.10.2 Identity Matrix -- 8.10.3 Solving Two Equations Using Matrices -- 8.10.4 Solving Three Equations Using Matrices -- 8.10.5 Solving Two Complex Equations -- 8.10.6 Solving Three Complex Equations -- 8.10.7 Solving Two Complex Equations -- 8.10.8 Solving Three Complex Equations -- 9 Complex Numbers -- 9.1 Introduction -- 9.2 Definition of a Complex Number -- 9.2.1 Addition and Subtraction of Complex Numbers -- 9.2.2 Multiplying a Complex Number by a Scalar -- 9.2.3 Product of Complex Numbers -- 9.2.4 Square of a Complex Number -- 9.2.5 Norm of a Complex Number -- 9.2.6 Complex Conjugate of a Complex Number -- 9.2.7 Quotient of Complex Numbers -- 9.2.8 Inverse of a Complex Number -- 9.2.9 Square-Root of pmi -- 9.3 Ordered Pairs
  • 10.7.3 3D Change of Axes -- 10.8 Positioning the Virtual Camera -- 10.8.1 Direction Cosines -- 10.8.2 Euler Angles -- 10.9 Rotating a Point About an Arbitrary Axis -- 10.9.1 Matrices -- 10.10 Transforming Vectors -- 10.11 Determinants -- 10.12 Perspective Projection -- 10.13 Summary -- 10.14 Worked Examples -- 10.14.1 2D Scaling Transform -- 10.14.2 2D Scale and Translate -- 10.14.3 3D Scaling Transform -- 10.14.4 2D Rotation -- 10.14.5 2D Rotation About a Point -- 10.14.6 Determinant of the Rotate Transform -- 10.14.7 Determinant of the Shear Transform -- 10.14.8 Yaw, Pitch and Roll Transforms -- 10.14.9 3D Rotation About an Axis -- 10.14.10 3D Rotation Transform Matrix -- 10.14.11 2D Change of Axes -- 10.14.12 3D Change of Axes -- 10.14.13 Rotate a Point About an Axis -- 10.14.14 Perspective Projection -- 11 Quaternion Algebra -- 11.1 Introduction -- 11.2 Some History -- 11.3 Defining a Quaternion -- 11.3.1 The Quaternion Units -- 11.3.2 Example of Quaternion Products -- 11.4 Algebraic Definition -- 11.5 Adding and Subtracting Quaternions -- 11.6 Real Quaternion -- 11.7 Multiplying a Quaternion by a Scalar -- 11.8 Pure Quaternion -- 11.9 Unit Quaternion -- 11.10 Additive Form of a Quaternion -- 11.11 Binary Form of a Quaternion -- 11.12 The Complex Conjugate of a Quaternion -- 11.13 Norm of a Quaternion -- 11.14 Normalised Quaternion -- 11.15 Quaternion Products -- 11.15.1 Product of Pure Quaternions -- 11.15.2 Product of Unit-Norm Quaternions -- 11.15.3 Square of a Quaternion -- 11.15.4 Norm of the Quaternion Product -- 11.16 Inverse Quaternion -- 11.17 Matrices -- 11.17.1 Orthogonal Matrix -- 11.18 Quaternion Algebra -- 11.19 Summary -- 11.19.1 Summary of Definitions -- 11.20 Worked Examples -- 11.20.1 Adding and Subtracting Quaternions -- 11.20.2 Norm of a Quaternion -- 11.20.3 Unit-norm Quaternions -- 11.20.4 Quaternion Product
  • 9.3.1 Addition and Subtraction of Ordered Pairs -- 9.3.2 Multiplying an Ordered Pair by a Scalar -- 9.3.3 Product of Ordered Pairs -- 9.3.4 Square of an Ordered Pair -- 9.3.5 Norm of an Ordered Pair -- 9.3.6 Complex Conjugate of an Ordered Pair -- 9.3.7 Quotient of an Ordered Pair -- 9.3.8 Inverse of an Ordered Pair -- 9.3.9 Square-Root of pmi -- 9.4 Matrix Representation of a Complex Number -- 9.4.1 Adding and Subtracting Complex Numbers -- 9.4.2 Product of Two Complex Numbers -- 9.4.3 Norm Squared of a Complex Number -- 9.4.4 Complex Conjugate of a Complex Number -- 9.4.5 Inverse of a Complex Number -- 9.4.6 Quotient of a Complex Number -- 9.4.7 Square-Root of pmi -- 9.5 Summary -- 9.6 Worked Examples -- 9.6.1 Adding and Subtracting Complex Numbers -- 9.6.2 Product of Complex Numbers -- 9.6.3 Multiplying a Complex Number by i -- 9.6.4 The Norm of a Complex Number -- 9.6.5 The Complex Conjugate of a Complex Number -- 9.6.6 The Quotient of Two Complex Numbers -- 9.6.7 Divide a Complex Number by i -- 9.6.8 Divide a Complex Number by -i -- 9.6.9 The Inverse of a Complex Number -- 9.6.10 The Inverse of i -- 9.6.11 The Inverse of -i -- Reference -- 10 Geometric Transforms -- 10.1 Introduction -- 10.2 Background -- 10.3 2D Transforms -- 10.3.1 Translation -- 10.3.2 Scaling -- 10.3.3 Reflection -- 10.4 Transforms as Matrices -- 10.4.1 Systems of Notation -- 10.5 Homogeneous Coordinates -- 10.5.1 2D Translation -- 10.5.2 2D Scaling -- 10.5.3 2D Reflections -- 10.5.4 2D Shearing -- 10.5.5 2D Rotation -- 10.5.6 2D Scaling -- 10.5.7 2D Reflection -- 10.5.8 2D Rotation About an Arbitrary Point -- 10.6 3D Transforms -- 10.6.1 3D Translation -- 10.6.2 3D Scaling -- 10.6.3 3D Rotation -- 10.6.4 Gimbal Lock -- 10.6.5 Rotating About an Axis -- 10.6.6 3D Reflections -- 10.7 Change of Axes -- 10.7.1 2D Change of Axes -- 10.7.2 Direction Cosines
  • Intro -- Preface -- Contents -- 1 Introduction -- 1.1 Mathematics for Computer Graphics -- 1.2 Understanding Mathematics -- 1.3 What Makes Mathematics Difficult? -- 1.4 Background to This Book -- 1.5 How to Use This Book -- 1.6 Symbols and Notation -- References -- 2 Numbers -- 2.1 Introduction -- 2.2 Background -- 2.3 Counting -- 2.4 Sets of Numbers -- 2.5 Zero -- 2.6 Negative Numbers -- 2.6.1 The Arithmetic of Positive and Negative Numbers -- 2.7 Observations and Axioms -- 2.7.1 Commutative Law -- 2.7.2 Associative Law -- 2.7.3 Distributive Law -- 2.8 The Base of a Number System -- 2.8.1 Background -- 2.8.2 Octal Numbers -- 2.8.3 Binary Numbers -- 2.8.4 Hexadecimal Numbers -- 2.8.5 Adding Binary Numbers -- 2.8.6 Subtracting Binary Numbers -- 2.9 Types of Numbers -- 2.9.1 Natural Numbers -- 2.9.2 Integers -- 2.9.3 Rational Numbers -- 2.9.4 Irrational Numbers -- 2.9.5 Real Numbers -- 2.9.6 Algebraic and Transcendental Numbers -- 2.9.7 Imaginary Numbers -- 2.9.8 Complex Numbers -- 2.9.9 Transcendental and Algebraic Numbers -- 2.9.10 Infinity -- 2.10 Summary -- 2.11 Worked Examples -- 2.11.1 Algebraic Expansion -- 2.11.2 Binary Subtraction -- 2.11.3 Complex Numbers -- 2.11.4 Complex Rotation -- 3 Algebra -- 3.1 Introduction -- 3.2 Background -- 3.2.1 Solving the Roots of a Quadratic Equation -- 3.3 Indices -- 3.3.1 Laws of Indices -- 3.4 Logarithms -- 3.5 Further Notation -- 3.6 Functions -- 3.6.1 Explicit and Implicit Equations -- 3.6.2 Function Notation -- 3.6.3 Intervals -- 3.6.4 Function Domains and Ranges -- 3.6.5 Odd and Even Functions -- 3.6.6 Power Functions -- 3.7 Summary -- 3.8 Worked Examples -- 3.8.1 Algebraic Manipulation -- 3.8.2 Solving a Quadratic Equation -- 3.8.3 Factorising -- References -- 4 Trigonometry -- 4.1 Introduction -- 4.2 Background -- 4.3 Units of Angular Measurement -- 4.4 The Trigonometric Ratios
  • 4.4.1 Domains and Ranges -- 4.5 Inverse Trigonometric Ratios -- 4.6 Trigonometric Identities -- 4.7 The Sine Rule -- 4.8 The Cosine Rule -- 4.9 Compound-Angle Identities -- 4.9.1 Double-Angle Identities -- 4.9.2 Multiple-Angle Identities -- 4.9.3 Half-Angle Identities -- 4.10 Perimeter Relationships -- 4.11 Summary -- References -- 5 Coordinate Systems -- 5.1 Introduction -- 5.2 Background -- 5.3 The Cartesian Plane -- 5.4 Function Graphs -- 5.5 Shape Representation -- 5.5.1 2D Polygons -- 5.5.2 Area of a Shape -- 5.6 Theorem of Pythagoras in 2D -- 5.7 3D Cartesian Coordinates -- 5.7.1 Theorem of Pythagoras in 3D -- 5.8 Polar Coordinates -- 5.9 Spherical Polar Coordinates -- 5.10 Cylindrical Coordinates -- 5.11 Summary -- 5.12 Worked Examples -- 5.12.1 Area of a Shape -- 5.12.2 Distance Between Two Points -- 5.12.3 Polar Coordinates -- 5.12.4 Spherical Polar Coordinates -- 5.12.5 Cylindrical Coordinates -- Reference -- 6 Determinants -- 6.1 Introduction -- 6.2 Linear Equations with Two Variables -- 6.3 Linear Equations with Three Variables -- 6.3.1 Sarrus's Rule -- 6.4 Mathematical Notation -- 6.4.1 Matrix -- 6.4.2 Order of a Determinant -- 6.4.3 Value of a Determinant -- 6.4.4 Properties of Determinants -- 6.5 Summary -- 6.6 Worked Examples -- 6.6.1 Determinant Expansion -- 6.6.2 Complex Determinant -- 6.6.3 Simple Expansion -- 6.6.4 Simultaneous Equations -- 7 Vectors -- 7.1 Introduction -- 7.2 Background -- 7.3 2D Vectors -- 7.3.1 Vector Notation -- 7.3.2 Graphical Representation of Vectors -- 7.3.3 Magnitude of a Vector -- 7.4 3D Vectors -- 7.4.1 Vector Manipulation -- 7.4.2 Scaling a Vector -- 7.4.3 Vector Addition and Subtraction -- 7.4.4 Position Vectors -- 7.4.5 Unit Vectors -- 7.4.6 Cartesian Vectors -- 7.4.7 Products -- 7.4.8 Scalar Product -- 7.4.9 The Dot Product in Lighting Calculations -- 7.4.10 The Scalar Product in Back-Face Detection