ENGLISH

Geometry for Programmers Version 3

Book information

Publisher
Manning Publications
Year
2022
Language
english
Format
PDF
Filesize
6 MB (6120896 bytes)
Edition
MEAP Edition
Pages
\235
Time added
2022-09-09 11:21:29

Description

Geometry for Programmers MEAP V03 Copyright welcome brief contents Chapter 1: Getting started 1.1 What is applied geometry? 1.2 Which programming domains require geometry? 1.3 Why not let my tools take care of geometry? 1.4 Applied geometry has been there forever, why learn it now? 1.5 It is not a lot to know to get started 1.6 Meet SymPy, it will do your math for you 1.7 Summary Chapter 2: Terminology and jargon 2.1 Numbers, points, and vectors 2.1.1 Numbers 2.1.2 Points 2.1.3 Vectors 2.1.4 Summary 2.2 Vertices and triangles 2.2.1 Being pedantic with triangles 2.2.2 Triangle quality 2.2.3 Summary 2.3 Lines, planes, and their equations 2.3.1 Lines and planes 2.3.2 The parametric equation for a 3D line 2.3.3 Summary 2.4 Functions and geometric transformations 2.4.1 What is a function? 2.4.2 Function types most commonly used in applied geometry 2.4.3 Summary 2.5 Curves, surfaces, and solid bodies 2.5.1 Standard cubes and manifolds 2.5.2 A parametric curve 2.5.3 Non-manifold triangle mesh 2.5.4 Summary 2.6 The shortest possible introduction into matrix algebra 2.6.1 What is algebra? 2.6.2 How does matrix algebra work? 2.6.3 Summary 2.7 Summary 2.8 Exercises 2.9 Solutions for exercises Chapter 3: The geometry of linear equations 3.1 Linear equations as lines and planes 3.1.1 Introducing a hyperplane 3.1.2 A solution is where hyperplanes intersect 3.1.3 Summary 3.2 Overspecified and underspecified systems 3.2.1 Overspecified systems 3.2.2 Underspecified systems 3.2.3 Summary 3.3 A visual example of an interactive linear solver 3.3.1 The basic principle of iteration 3.3.2 Starting point and exit conditions 3.3.3 Convergence and stability 3.3.4 Summary 3.4 Direct solver 3.4.1 Turning an iterative solver into a direct one 3.4.2 Algorithm complexity 3.4.3 Summary 3.5 Linear equations system as matrix multiplication 3.5.1 Matrix equations 3.5.2 What types of matrices we should know about 3.5.3 Things we’re allowed to do with equations 3.5.4 Summary 3.6 Solving linear systems with gaussian elimination and LU-decomposition 3.6.1 An example 3.6.2 What do “elimination” and “decomposition” mean exactly? 3.6.3 Summary 3.7 Which solver fits my problem the best? 3.7.1 When to use an elimination-based one? 3.7.2 When to use an iterative one? 3.7.3 When to use neither? 3.7.4 Summary 3.8 Practical example: does a ray hit a triangle? 3.8.1 A problem 3.8.2 Forming a system 3.8.3 Making the equations into code 3.8.4 Summary 3.9 Summary 3.10 Exercises 3.11 Solutions for exercises Chapter 4: Projective geometric transformations 4.1 Some special cases of geometric transformations 4.1.1 Translation 4.1.2 Scaling 4.1.3 Rotation 4.1.4 Summary 4.2 Generalizations 4.2.1 Linear transformations in Euclidean space 4.2.2 Bundling rotation, scaling, and translation in a single affine transformation 4.2.3 Generalizing affine transformations to projective transformations 4.2.4 An alternative to projective transformations 4.2.5 Summary 4.3 Projective space and homogeneous coordinates 4.3.1 Expanding the whole space with homogeneous coordinates 4.3.2 Making all the transformations a single matrix multiplication. Why? 4.3.3 Summary 4.4 Practical examples 4.4.1 Scanning with a phone 4.4.2 Does a point belong to a triangle? 4.4.3 Summary 4.5 Summary 4.6 Exercises 4.7 Solutions for exercises Chapter 5: Geometry of calculus 5.1 What is a derivative? 5.1.1 Derivative at a point 5.1.2 Derivative as a function 5.1.3 Rules of differentiation 5.1.4 Using SymPy to do differentiation 5.1.5 Summary 5.2 Smooth piecewise parametric curves 5.2.1 Piecewise functions 5.2.2 Smooth parametric curves 5.2.3 Curvature 5.2.4 Summary 5.3 Practical example: crafting a curve out of lines and circles 5.3.1 The biarc building block 5.3.2 The line segment and arc building block 5.3.3 The combination of both 5.3.4 Summary 5.4 Summary 5.5 Exercises 5.6 Solutions for exercises Chapter 6: Polynomial approximation and interpolation 6.1 What are polynomials? 6.1.1 Axis intersections and roots of polynomial equations 6.1.2 Odd and even polynomials 6.1.3 Polynomial derivatives 6.1.4 Summary 6.2 Polynomial approximation 6.2.1 Maclaurin and Taylor series 6.2.2 The method of least squares 6.2.3 Practical example: showing a trend with approximation 6.2.4 Summary 6.3 Polynomial interpolation 6.3.1 Using Vandermonde matrix to get the interpolating polynomial 6.3.2 What limits polynomial interpolation application to small data only? 6.3.3 How to lessen the unwanted oscillations? 6.3.4 Lagrange interpolation. Simple, genius, unnecessary 6.3.5 Practical example: showing the trend with interpolation 6.3.6 Summary 6.4 Practical example: showing a trend with a combination of approximation and interpolation 6.4.1 The problem 6.4.2 The solution 6.4.3 Summary 6.5 Summary 6.6 Exercises 6.7 Solutions for exercises

Similar books