I wasn't sure where to put this question so I just put it under 'Code' since there seem to be a number of not strictly code related topics.

One question that seems to pop up a lot, and has been given a lot of answers, is 'how important is math for programming'.

I find the answers I have seen Casey give on stream really interesting and it often strikes me that he understands the underlying math quite well. Certainly much better than I do. I do not consider myself bad at math in the sense that I just don't get it. But at the end of the day, I just forget the stuff I have learned really fast. The next time it would be really handy to remember the meaning of columns and rows of a matrix when transforming from object space to world space, as opposed to from world space to camera space (like described in the video 'how to open a black box'), or the meaning of the dot product as it relates to trigonometry etc, I just have forgotten a lot of the specifics of those concepts.

I realize that this is mostly to do with practice. And the more you play with the math and the more you use it to solve problems, the more solid your understaning of the concepts becomes. Still, I somehow have this nagging believe in the back of my head that other people are just better at this than me. That they just need to have this explained to them once and they're good to go. Forever. They effortlessly combine lessons learned in different mathematical disciplines and have all the connections and fundamentals at the top of their heads.

I recently had the problem that I had the dot product of two vectors whos angle changed at a constant rate. The dot product when plotted against time would trace a triangular curve. But I wanted it to look more like a regular sine wave, no hard corners. It took me hours of research and thinking to realise I wanted the length of the arc between the two vectors (I felt really stupid). I just feel like I never practiced enough to really build on what I learned, because by the time I moved to more complex math, I had already forgotten large chunks of the fundamentals. And now, the best thing would be to just try and re-learn everything I just kind of skimmed over in high-school. To try to really get the fundamentals rock solid. But knowing me that will take countless hours of practice, all the time fighting against this nagging voice, telling me that other people are just smarter and don't need to practice as much.

So what I would like to know about is your experiences with learning math. Have you just always done your homework in Highschool and therefore never struggled with forgetting the fundamentals? Do you feel like you are just plain faster with understanding? Do you rarely forget a mathematical idea that you have heard about? Are you so enthusiastic about math that you practice it all the time for fun and it never really feels like work anyway? Or have you struggled with the frustration of sitting in front of a math problem and feeling like you should know this but you don't as well? If so, how did you deal with it?

Anyone out there, maybe, who has already gone through a couple of years of trying to nail down the math fundamentals they realised they lacked. How did you go about fixing it? Did you work through piles of solving mathematical problems by hand to build an intuition. Or did you just brush up on the theory behind it and that was enough? If you are out there, I would love to hear about your experiences.

tl,dr: I would love to hear about your experiences with learning, or struggling to learn, math. Does anyone else feel really stupid when they try to solve a math problem they feel like they should know the answer to, but spend hours on? Tell me about your experiences and how you try to overcome shortcomings in mathematical practice.

Also Casey: If you read this, I would be especially interested in your history with learning math, since I think you mentioned you weren't interested in math in school and you seem to have a pretty good grasp on it now.

Best Regards.