Games25
j
1 posts

#16054
math learning style 6 months, 1 week ago Edited by j on Aug. 20, 2018, 5:32 p.m. Reason: Initial post
can one learn all the math they need from algebra, trig, calc etc through game programming and give a use for the various formulas and equations that math books and tutorials only explain the how to solve for but not what they can be applied to?
for example learn about things like communicative factor and polynomials but have idea of their practical use or what their use in game programming would be? 
mmozeiko
Mārtiņš Možeiko
1884 posts
/ 1 project

#16055
math learning style 6 months, 1 week ago
Yes, you can. Still, reading more formal description of math will help a lot to understand how equations are formed and can be manipulated.
Not sure what do you mean by "communicative factor", but polynomials are used a lot. Like alpha blending, or lerping between two values  these are linear polynomials. Using higher degree polynomials is useful in Bezier curves, splines, etc.. 
ratchetfreak
429 posts

#16069
math learning style 6 months ago Edited by ratchetfreak on Aug. 21, 2018, 11:25 a.m.
One thing I've seen with math is that it tends to suffer from the hammernail problem. Where you apply a single solution to everything even when other solutions (potentially better ones) are available.
For example getting a quaternion from a rotation, most of the time I see the programmer reduce this to angleaxis to use the cos(angle/), axis*sin(angle/2) formula. However you can very often avoid doing those trig functions if you start doing a few conversions. The half angle formula lets you go from sin(angle), cos(angle) to the halfangle sin and cos using only a sqrt. But in the case of rotations that axis is often a normalized cross product and the angle is the acos of a dot product. Once you remember that the non normalized crossproduct is axis*sin(angle), you can easily create the quaternion of the double angle and then lerp it with the identity quaternion to 0.5 to get the quaternion you wanted. Seeing the nonobvious solution requires insight and experience with how you can manipulate formulas. That you learn mostly in formal education. In programming most of those formulas are presolved for you. 