# Mathematical preparation for programming graphics

Good day!

The question is addressed to those who already have experience in programming 2D or 3D graphics. What mathematical training is needed for programming graphics? And how often do you have to apply this knowledge in practice?

## Blocked by member PashaPash♦4 Jan '16 at 21:13 .

This question has been preserved because of its historical importance, but it is not regarded as a good question on a topic relevant to the specifics of this site , therefore we ask you not to consider it as confirmation of your ability to publish similar questions. This question and its answers are frozen, they cannot be changed. Read more: help .

Read more about blocked messages here .

## 1 answer

1. Trigonometry - is the alphabet, without it finally can go anywhere.
2. The second basics are numerical methods for solving nonlinear equations and differents of the 1st / 2nd order. The methods of Newton, Runge-Kutta, secant, dichotomy are our everything.
3. Vector and matrix algebra: all rotations of objects, cameras, and so on. done on matrices. In addition, when numerically solving various equations, the problem of inversion of matrices (mainly 3-diagonal) constantly arises. In a more perverted version, the quaternion theory arises - roughly speaking, the arithmetic of 4-dimensional vectors.
4. The theory of splines, the concept of orthogonal splines - smoothing polygons, surfaces, lines, envelopes built them. Cubic splines, Bezier splines, Chebyshev polynomials and so on.
5. For ray tracing and intersection of objects, one must be able to find the roots of the splines. It may be nontrivial in places.
6. When modeling physics, waves, fog, haze and so on. there is a problem of solving physical equations from classical physics: the system of diff. equations (conservation of angular momentum, inertia, wave equation)
• And how much is all this implemented by the libraries? Or do you have to write algorithms each time for a specific task? What are difurs for? - AlexeyVorobyev
• You are the multiplication table, although you have a calculator - renegator
• Almost everything is already implemented in the form of libraries / API, except for numerical methods and physics. Yes, and physics is usually implemented in the form of an engine. Diffurs arise in physics: for example, modeling of sea waves, eddies, realistic models of destruction, falling, collisions, and so on. But in any case, with your hands you need to be able to solve non-linear equations (find roots), be able to build approximations / interpolations / extrapolations (splines). - Barmaley
• it seems someone was wrong forum =) - Specter