Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

okonomiyaki

Understanding every single math detail behind this

This topic is 5217 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

So I finally decided to take my graphics knowledge a step up- I pulled out my calculus book to remember what I learned a while ago. This came from studying Spherical Harmonics. While reading a paper, I realized that I wasn''t sure what certain symbols meant, or exactly how differentials worked together. I relearned all that I could in a few days and looked back at the paper. I understand it a lot better, in fact, enough to probably implement it. But there are still a lot of areas where I ask, "what is that?" or "why is that equation true?" These are things that might even be somewhat general, such as the legendre polynomials. My inclination is to study every single equation and understand why it approximates well, defines an area, etc. However, this may take quite a bit of time, as with SH many different equations are needed to approximate the lighting. My question is, how well should one understand the math behind our graphics applications? Of course you will probably know different parts of the math very well, but in general, should I be able to state exactly why every equation works the way it does? The problem is that I have SH code that works (I got some code from somebody else). It''s tempting to just use some of those functions (that implement some of the complex equations) instead of understanding them myself. If I understood the general concepts of equation, would that be horrible?

Share this post


Link to post
Share on other sites
Advertisement
quote:
Original post by okonomiyaki
So I finally decided to take my graphics knowledge a step up- I pulled out my calculus book to remember what I learned a while ago. This came from studying Spherical Harmonics. While reading a paper, I realized that I wasn''t sure what certain symbols meant, or exactly how differentials worked together. I relearned all that I could in a few days and looked back at the paper. I understand it a lot better, in fact, enough to probably implement it. But there are still a lot of areas where I ask, "what is that?" or "why is that equation true?" These are things that might even be somewhat general, such as the legendre polynomials.
My inclination is to study every single equation and understand why it approximates well, defines an area, etc. However, this may take quite a bit of time, as with SH many different equations are needed to approximate the lighting. My question is, how well should one understand the math behind our graphics applications? Of course you will probably know different parts of the math very well, but in general, should I be able to state exactly why every equation works the way it does? The problem is that I have SH code that works (I got some code from somebody else). It''s tempting to just use some of those functions (that implement some of the complex equations) instead of understanding them myself. If I understood the general concepts of equation, would that be horrible?


slow down... jeez, do you want to become a math proffessor? I don''t even think they know all the equations to math, if you want to know why it works well the you need ALOT of time, if you want physics, just study it, studing and doing is the key (reading)

Share this post


Link to post
Share on other sites
The more, the better! You''re already on the right path.

If you want to make a carreer out of graphics programming, and do it for 10, 20 or even 50 years, then a few weeks spent studying along the way will seem very insignificant time-wise, and very wise, carreer-wise.

Share this post


Link to post
Share on other sites
In all honesty, it is not practical to memorize every alogorithm you are going to use. Mostly for the fact that you can LOOK those alogorithms up. What _IS_ important that you take from Algebra is the ability to solve equations, and the basic concepts. Then all you need to know is a bit of the theory behind what you are doing, and LOOK UP the facts. (Some people choose to SPECIALIZE in a certain area/concept of math/science to actualy push the envolope even more, then again, thats only some people, and thats usualy only 1-2 things.

Share this post


Link to post
Share on other sites
quote:
Original post by snyp
slow down... jeez, do you want to become a math proffessor? I don''t even think they know all the equations to math, if you want to know why it works well the you need ALOT of time, if you want physics, just study it, studing and doing is the key (reading)


Not quite sure what you mean. Of course I won''t memorize all the equations, I just mean understand why every one works.

quote:

The more, the better! You''re already on the right path.

If you want to make a carreer out of graphics programming, and do it for 10, 20 or even 50 years, then a few weeks spent studying along the way will seem very insignificant time-wise, and very wise, carreer-wise.


This is very true, and it''s probably the best advice I''ve heard yet. But you know how the eager programmer is, I hate trying to do something too fast

quote:

In all honesty, it is not practical to memorize every alogorithm you are going to use. Mostly for the fact that you can LOOK those alogorithms up. What _IS_ important that you take from Algebra is the ability to solve equations, and the basic concepts. Then all you need to know is a bit of the theory behind what you are doing, and LOOK UP the facts. (Some people choose to SPECIALIZE in a certain area/concept of math/science to actualy push the envolope even more, then again, thats only some people, and thats usualy only 1-2 things.


Of course it''s not practical to memorize everything. I never said memorize. I said understand, there is a big difference. But I think you got the point, that you should understand what you are doing. Sometimes it''s hard for me just to accept that an equation works, and that''s what I was trying to say.

Share this post


Link to post
Share on other sites
We all are impatient! I''ve found that I almost always get a better understanding of a formula, technique, or algorithm, once I''ve implemented it and studied it in the debugger (trace through call flow, variables values, dependencies etc). Maybe I''m just very hands-on, but even very abstract things (fourier series, etc) clicked much better for me when I worked with them hands-on, in code that I wrote myself, feeding it data that I knew what it was.

So, in that sense, there doesn''t have to be tension between "I want to see something on the screen NOW" and "I want to know what the h3ll I''m actually doing".

Share this post


Link to post
Share on other sites
Learning the maths is worthwhile, take my word for it. It is what separates competent programmers from brilliant, creative programmers, and especially so in the field of graphics.

I have used almost every piece of maths knowledge from my years at university. Especially worthwhile are the basic calculus and linear algeabrae subjects most universities worth their salt offer. If you are moderately talented it is very possible to pick this up yourself without paying tuition fees by purchasing the pertinent books and probably some practice sheets as well. Good luck to you!

Share this post


Link to post
Share on other sites
I haven''t taken a calculus course since I was 17 years old during my sophmore year of college.

It''s really funny how some stuff I remember without blinking an eye, and other stuff I glance at and go, "what the f*ck is that?"

It''s not like the average person (who isn''t some sort of complete freak, that is) actually uses calculus on a daily basis for "normal" things. Obviously if you do graphics programming, physics, or anything that actually requires the stuff on a day-to-day basis, it''s another story, but most people have a tendancy to forget it a few months after final exams.

I don''t really worry about it too much - like some previous posters have said, as long as you know the fundamentals, it''s easy enough to figure things out when you actually need it.

I think understanding the "why" is more important than the "how". If you can see the basic structure of a given formula, and understand why it works, you don''t necessarily have to be able to calculate everything 100%.

That being said, it''s also fascinating how often people will implement an accurate and complex formula in a physics / graphics engine at the cost of many man hours and much computational time when a simpler approximation would have done just as well. Trust me, the people playing your game don''t really care if your math is 100% accurate, so long as it plays / looks good.

Memorizing every equation you come across is an interesting way to pass the time, but personally I''d rather do things more productive with my time, like actually work on implementation - or seeing the sun every once in a while >_<.

Share this post


Link to post
Share on other sites
you will need to understand all the equations in case you are going to make your own method, or modify an already made method which is not always done by graphics programmers but graphics researchers.

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!