Advertisement

Resources to get good at math?

Started by July 27, 2017 07:16 AM
38 comments, last by ErnieDingo 7 years, 4 months ago
1 hour ago, MarcusAseth said:

if I find a single thing I cannot understand due to lack of basics, that would lead me to follow a thread of frustration where everything I need to learn to understand the original problem build on something else I don't know which builds on something else I don't know

Now i'm curious what such a single thing is by example?

42 minutes ago, JoeJ said:

Now i'm curious what such a single thing is by example?

maybe this, a rotation matrix about an arbitrary angle 

6lMkXDR.png

If I ask how it was deduced or how can I deduce it just by reasoning, then not only it is tangled to trigonometry, but is also tangled to equation manipulation because if you want to understand what's going on in the proof written in books like 3D Game Programming with Dx11 you need to know all the tricks of equation manipulation.

 

Advertisement

Ok, now i have to guess this is either a axis / angle rotation construction, a look at rotation or something similar? Hard to help with the information you give. But it's likely a first step would be to understand how to rotate a point over a given axis and angle. Understnding this and the matrix stuff i wrote about above, you would be able to write this on your own without the book, and if you optimize it you'd get the final formula you've posted.

If I had to come up with a formula for the rotation matrix you describe, I would probably start from the quaternion representation (axis-angle to quaternion is a fairly trivial formula, which is cos(theta/2)+sin(theta/2)*(u_x*i+u_y*j+u_z*k)) and then apply the rotation to (1,0,0), (0,1,0) and (0,0,1). That will give you the three columns of the matrix. It would probably take me like 10 or 20 minutes of computation.

 

 

@JoeJ I get what you're saying, but still, to me sound better to first have solid basis and the attempt that :P 

Pretty much any math problem I've had to solve involved looking for it and its solution on google. Pretty much every problem you could encounter, in games, has already been solved by someone working on their masters or doctorate or w/e. Besides the google search, you do need to know how to implement stuff, which, besides basic math and order of operations, is going to involve, probably, vectors, matrices, and quaternions. That's four things you need to have in your tool belt, and more than likely, already implemented in a 3rd party library ( quaternions for instance ).  

Furthermore, as far as practicing outside of game programming, and becoming more aware of problems, try: codefights.com.

Advertisement
Just now, h8CplusplusGuru said:

Furthermore, as far as practicing outside of game programming, and becoming more aware of problems, try: codefights.com.

I'll take a look, thanks :)

@h8CplusplusGuru loving that site, good practice, thanks again :D

I'm at this problem here, filled a page on paper reasoning on it and finally come to the formula that solves it in one line without loops,


int shapeArea(int n) {
   return 2*(n*(n-1))+1; 
}

very proud :D
 

Just tips on learning I found out through face palm moments and oh wow moments.

1. Cross product of 2 normalised vectors does not give you a normalised vector (well duh!), that was giving me a headache with my billboard generation.

2. in Projection matrices, its amazing what values can be pulled out of them to use for other calculations....Ie camera direction.

3. Mastering matrices opens up so many possibilities...trust me...it does :)  My model hierarchies etc leverage matrices alot.

4. When you have a piece of vector maths, or matrix code that does something you will continually reuse, make a toolkit library.  Because you will then at some point forget the reasons why sometime down the track. :)

 

Indie game developer - Game WIP

Strafe (Working Title) - Currently in need of another developer and modeler/graphic artist (professional & amateur's artists welcome)

Insane Software Facebook

This topic is closed to new replies.

Advertisement