🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Could anyone recommend proper material to learn math concepts used in 3d programming?

Started by
3 comments, last by D.C.Elington 4 years, 4 months ago

I want to focus on creating games without complete dependence of In-Engine math and physics libraries. Learning the necessary concepts can help me form a solid base and understanding of how movement takes place on a root level.

Advertisement

@Teejay_Cherian said:

I want to focus on creating games without complete dependence of In-Engine math and physics libraries. Learning the necessary concepts can help me form a solid base and understanding of how movement takes place on a root level.

You Should go back and revisit your senior secondary curriculum where 3d coordinate geometry, vector and matrices algebra is mentioned. Once you done that, begin on writing your own Vector2, Vector3, Vector4 and Matrix4x4 classes.

I think it's an admirable goal to understand how these things work. I also think it's foolish to completely avoid using pre-built libraries for them.

The actual math behind these operations is entirely unimportant. Nobody in the industry actually cares if you remember the formulas for constructing a transformation matrix from an offset, scale, and euler angles. Not only is this easy to google, but it's already been implemented a thousand times, by a thousand people who spent much longer understanding the nuances of how to squeak every inch of performance out of their implementations than you will.

Your primary goal should genuinely be to understand why and when to apply these concepts. By the time you understand that, it should be easy to just Google whatever formulas you are missing.

With that said… as Enzio says, most of the techniques used in these fields are based in “vector and matrix algebra”, or “Linear Algebra” is it was commonly called when I learned it. Linear Algebra is an advanced branch of mathematics which expands on concepts from Algebra to Geometry to Trigonometry to Calculus. If you are not already proficient in most of the concepts presented by these subjects, diving right into Linear Algebra will be incredibly difficult. Textbooks and Google-based resources on all of these subjects are readily available with the course names laid out above. Start where ever you think you need to.

Mathematics for 3D Game Programming and Computer Graphics

Maths for 3D rendering and basic physics, and from there you can investigate specific concepts in more details as you see fit. Also in my experience understanding the “black boxes” we use every day is a very good way to learn how to design new original systems. Maths are powerful tools!

This topic is closed to new replies.

Advertisement