In Geometry for Programmers you will learn how to:
Geometry for Programmers guides you through the math behind graphics and modeling tools. It's full of practical examples and clear explanations that make sense even if you don't have a background in advanced math. You'll learn how basic geometry can help you avoid code layering and repetition, and even how to drive down cloud hosting costs with more efficient runtimes. Cheerful language, charts, illustrations, equations, and Python code help make geometry instantly relevant to your daily work as a developer.
About the Technology
Geometry is at the heart of game engines, robotics, computer-aided design, GIS, and image processing. This book draws back what is for some a mathematical curtain, giving them insight and control over this central tool. You'll quickly see how a little geometry can help you design realistic simulations, translate the physical world into code, and even reduce your cloud services bill by improving the efficiency of graphics-intensive applications.
About the Book
Geometry for Programmers is both practical and entertaining. Fun illustrations and engaging examples show you how to apply geometry to real programming problems, like changing a scan into a CAD model or developing 3D printing contours from a parametric function. And don't worry if you aren't a math expert. There's no heavy theory, and you'll learn how to offload most equations to the SymPy computer algebra system.
What's Inside
About the Reader
Examples are in Python, and all you need is high school–level math.
About the Author
Oleksandr Kaleniuk is the creator of Words and Buttons Online, a collection of interactive tutorials on math and programming.
Table of Contents
1 Getting started
2 Terminology and jargon
3 The geometry of linear equations
4 Projective geometric transformations
5 The geometry of calculus
6 Polynomial approximation and interpolation
7 Splines
8 Nonlinear transformations and surfaces
9 The geometry of vector algebra
10 Modeling shapes with signed distance functions and surrogates
11 Modeling surfaces with boundary representations and triangle meshes
12 Modeling bodies with images and voxels