# Is there any good reason for a programmer to study geometry?

I'm a programmer and I've recently come back to math hoping to sharpen some of my skills. I did well in math in high school. I also did math competitively. I majored in music in college, so I stopped doing math pretty much after high school.

Lately, I've been distracted by geometry and have been thinking of spending some time getting seriously acquainted with the subject, starting with Euclid and working out from there. My exposure to geometry has been pretty much the standard middle/high school fare. Not very exciting...

Recently though, I've been fascinated by the subject. Is there any good reason for a programmer to study geometry? There are other branches of mathematics that would be more immediately applicable in my life.

Also, would studying geometry help develop proof writing skills? (something I desperately need)

I've also read that studying geometry can help sharpen "mathematical intuition," whatever that is. Is that true?

-
If you'll be dealing with computer graphics, you definitely need to study geometry. – J. M. Oct 20 '11 at 0:29
Computational geometry is used in computer graphics, video games, and computer aided design. – user2468 Oct 20 '11 at 0:43
Not that it helps directly with proof writing, playing with a modern 'proof assistant' like coq can be quite enlightening (at least it was for me). It will certainly show you all of the places that you are making leaps without justification. Working through something like this might be entertaining, though pretty much orthogonal to geometry. – deinst Oct 20 '11 at 2:53
Neat! I'm actually pretty good at functional programming, though my proof skills remain weak. This might be an interesting way to fix that. – Josh Infiesto Oct 20 '11 at 19:04

Geometry is useful for statistics/optimization: Think of stuff like linear/convex programming (or nonlinear programming). Those are very geometrical algorithms. This gets used in computer vision - for example for bundle adjustment. I know (for example linear programming) also gets used a lot in economics.

The other application would be computer graphics i think. One example that comes to mind is mesh enveloping - this is used a lot on current games/3d programs.

I don't think this is great for learning the ins and outs of proofs. Maybe algebra (or topology and so on) is better for that. Sure you can axiomatize geometry and that is a big accomplishment (Euclid, Hilbert), and especially projective geometry is very axiomatizable. But i think most people are drawn to geometry because it is so intuitive. Geometrical constructions are really intuitive by them self - and they are already the expression of a proof.

That is why there is such a gap between geometry and logic...

-

Why study geometry?

• Because it's gorgeous. See C. Stanley Ogilvy's Excursions in Geometry.
• Because it has applications to computer graphics. You might look at some of the recent books on applications of quaternions to computer graphics. Not to mention other aspects of computer graphics.
• More "theoretical" applications. In statistics: suppose you know $X_1,\ldots,X_n\sim N(\mu,\sigma^2)$. How do you know that the sample mean is probabilistically independent of the sample variance, and how do you know that the latter has (modulo a factor) a chi-square distribution with $n-1$ degrees of freedom? Just think about complementary orthogonal projections! Same thing with lots of regression and ANOVA problems, and design of experiments, and stuff about the Wishart distribution, etc.
• DO NOT assume the list above is exhaustive.
-

Unless you're working in certain specific areas of programming you won't find geometry directly applicable. In fact I would disagree with the answers that geometry is a prerequisite for computer graphics: you can write a 3D engine knowing only linear algebra.

On the other hand there are some areas which are becoming more popular where a good understanding of geometry is essential. The most obvious one is GIS (so don't limit yourself to Euclidean geometry). The number of people who think you can find the half-way point between two points on the globe by averaging their latitudes and longitudes is quite astounding.

-
"you can write a 3D engine knowing only linear algebra" - writing such an engine without being able to visualize what those matrices actually do sounds... Herculean. – J. M. Oct 20 '11 at 9:25
@J.M., how much geometry do you need to know? You need to know what an angle is, and what sin and cosine do. That's stuff they teach 13 year-olds. Anything else? – Peter Taylor Oct 20 '11 at 9:37
You said "only linear algebra"; that's what made the task sound difficult to me. I somehow didn't get the impression that the OP wanted a nuts-and-bolts look at geometry, but just refreshing himself with the basics... – J. M. Oct 20 '11 at 9:43
-1 I am a researcher in computer graphics. If you want to be a code monkey in the tools group, you may be able to get by with only linear algebra. If you want to do any kind of research, however, including industry R&D, and especially if you are interested in simulation or geometry processing, I would strongly recommend taking at least a year of Riemannian geometry. See the proceedings of the various conferences (such as SGP: diglib.eg.org/EG/DL/WS/SGP) for a sense of the math involved in the field. – user7530 Oct 23 '11 at 14:13
@user7530, I'm not saying that geometry has no application at the cutting edge of graphics research - although even there it's not necessarily a prerequisite: I've read papers from ProcSigGraph which require linear algebra but no geometry. But let's keep things in perspective: the context here is being a programmer, not doctoral (or post-doc) study. – Peter Taylor Oct 23 '11 at 15:35