1 Getting started

 

This chapter covers

  • Which programming domains rely on geometry
  • Which part of geometry applies to programming
  • The reason to start learning geometry today
  • What you need to know to get started
  • How to make SymPy do the math for you

Geometry is the branch of mathematics that stands behind game engines, computer-aided design applications, 3D printing frameworks, image processing libraries, and geographic information systems. As soon as there are curves, surfaces, or spaces, geometry is involved.

Normally, you don’t have to be a geometry expert to use an application with curves and surfaces. Don’t worry; this book won’t convert you to one. But just as knowing the mechanics behind your car allows you to make the most of driving it, knowing the mathematics behind your tools will allow you to use them in the most efficient way possible.

How much geometry do you have to know to 3D-print a single model, for example? Well, none; you can figure out how to do that with trial and error. But what if you want to automate a 3D printing process for a continuous flow of models? This task is a programmer’s job, and it brings in programmer considerations. You want your process to be both fast and robust. Every failed printing attempt means that you lose time and money, so trial and error simply won’t cut it.

1.1 Which parts of programming require geometry?

1.2 What is geometry for programmers?

1.3 Why not let my tools take care of geometry?

1.4 Applied geometry has been around forever; why learn it now?

1.5 You don’t have to know much to start

1.6 SymPy will do your math for you

Summary

sitemap