Math classes relevant for graphics programming?

Started by
5 comments, last by sanjaygir 12 years ago
hi Everyone,

What math courses do you think will be important if you want to specialize in computer graphics. I assume, for one, graph theory will be important. Thanks for suggestions!
Advertisement
I challenge that assumption. What part of CG do you think would benefit from graph theory?

The most important math courses for computer graphics are linear algebra and geometry (affine, euclidean and projective, although I think many universities don't teach projective geometry these days).
Graph theory is important for almost any software development field. In computer graphics optimization structures are based on graph theory. Although whether you'll ever need to implement these depends on how deep you want to go. Also meshes are rooted in graph theory and describeable as such. Even fractals can be thought of in terms of graph theory. So I'd say there are benefits, but of course it depends on whether one wants to go so low-level with graphics.

For graphics specifically I completely agree about algebra and geometry. Maybe functional analyses as well. It is also not so much graphics specific, but it's just generally useful.
Short answer: pretty much all of them.

Long answer: Linear algebra and (computational) geometry are pretty much crucial, in that you basically cannot function without them. Calculus/differential equations is fairly important, especially as modern lighting equations are derived from multi-dimensional surface integrals. Digital signal processing is also important for a lot of the basics. Topology is a big deal for a lot of things involving geometry, especially if you want to be working with parametric surfaces (which have become hardware accelerated recently). Probability and statistics drive a lot of the stochastic graphics techniques. Information theory (eg entropy) comes in big time if you want to look at compression, numerical stability, etc. Mathematical optimization is very useful for spatial partitioning algorithms.

The list goes on. It's difficult to learn any math that isn't relevant.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Is someone going to mention category theory again? :)

Don't get overwhelmed by Promit's list. Although he does have a point, you can get by with just linear algebra and geometry, and perhaps a bit of calculus so you don't run scared when you see an integral in some paper about lighting. I didn't mention computational geometry because I don't think of it as math, although I can see how other people would. And yes, it is important for computer graphics as well.

I am curious as to what part of topology might be useful for CG. I took three topology classes in college (point topology, algebraic topology and differential topology) and I can't think of any of it that might help with CG (actually, I can't think of anything I learned in differential topology, but has to do with bad teachers and not with this thread :) ).
Surely meshes have something to do with computer graphics. As for category theory... ;)

Seriously... to get a good idea of what's going on with modern graphics, check out the SIGGRAPH proceedings, or the abstracts in journals like Computers & Graphics or IEEE Transactions on Visualization and Computer Graphics. Spot the buzzwords, do some googling, see what suits *your* fancy.

Like they're saying... the possibilities are huge. Do you like biology? Then work on software to procedurally generate plants. Do you like physics? Do you like chemistry? Do you like art?

You will most likely need linear algebra, no matter what type of graphics you get into.
Thanks everyone for the valuable input!

This topic is closed to new replies.

Advertisement