Jump to content

  • Log In with Google      Sign In   
  • Create Account


So. That Calculus Thing.


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
15 replies to this topic

#1 GKANG   Members   -  Reputation: 163

Like
0Likes
Like

Posted 21 September 2012 - 03:02 PM

So here I am, starting to make games in 2D to learn the ropes. However, I feel like I'm kind of stuck because whenever I buy a book / try to learn something like OpenGL I'm always greeted with a lovely equation that is completely alien to me.

Now I know that math is pretty much essential to program in 3D and even 2D, but like, HOW essential? Would you guys recommend that I just go head on into math at the same time as programming? I mean, I'm at basic algebra level right now and it aint cutting it.

Thoughts?

Edited by GKANG, 21 September 2012 - 03:04 PM.


Sponsor:

#2 Cornstalks   Crossbones+   -  Reputation: 6974

Like
5Likes
Like

Posted 21 September 2012 - 03:09 PM

Calculus is useful, but not used (in my experience) nearly as much as linear algebra. It's ok to be lost in the math if you're just starting out. It comes with time, and with taking relevant math classes.

How much you need math depends on what you're programming.
[ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]

#3 ISDCaptain01   Members   -  Reputation: 1354

Like
6Likes
Like

Posted 21 September 2012 - 03:22 PM

khanacademy.org. You get all the math you will ever need without spending a penny on classes.

#4 boogyman19946   Members   -  Reputation: 1039

Like
-1Likes
Like

Posted 21 September 2012 - 03:24 PM

From my experience, a thorough understanding of Calculus goes a long way to simplify most other subjects, especially physics. It's probably easier to work with than Algebra.
"If highly skilled generalists are rare, though, then highly skilled innovators are priceless." - ApochPiQ

My personal links :)
- Khan Academy - For all your math needs
- Java API Documentation - For all your Java info needs :D
- C++ Standard Library Reference - For some of your C++ needs ^.^

#5 kd7tck   Members   -  Reputation: 715

Like
-1Likes
Like

Posted 21 September 2012 - 05:16 PM

From my experience, a thorough understanding of Calculus goes a long way to simplify most other subjects, especially physics. It's probably easier to work with than Algebra.


Calculus uses algebra, so how can it be easier.

I would recomend a discrete aproach to physics and drawing calculations. Since most online math tutorials are all geard toward the continuous aspect, you may have a very hard time bridging these two worlds. What you need to do is spend 2 years mastering the clasical continuous approach to calculus, then branch over into discrete math and start translating what you had learned into the way computers process data.

The way you solve an integration problem is not how a computer will do it, keep that in mind.

#6 boogyman19946   Members   -  Reputation: 1039

Like
0Likes
Like

Posted 21 September 2012 - 06:46 PM


From my experience, a thorough understanding of Calculus goes a long way to simplify most other subjects, especially physics. It's probably easier to work with than Algebra.


Calculus uses algebra, so how can it be easier.


It somehow escaped my mind that some problems need algebraic manipulation to actually be solvable. After a while of working with it, you start to forget it was once hard.
"If highly skilled generalists are rare, though, then highly skilled innovators are priceless." - ApochPiQ

My personal links :)
- Khan Academy - For all your math needs
- Java API Documentation - For all your Java info needs :D
- C++ Standard Library Reference - For some of your C++ needs ^.^

#7 Bacterius   Crossbones+   -  Reputation: 8315

Like
0Likes
Like

Posted 21 September 2012 - 07:58 PM

Calculus is useful, but not used (in my experience) nearly as much as linear algebra. It's ok to be lost in the math if you're just starting out. It comes with time, and with taking relevant math classes.

How much you need math depends on what you're programming.

+1 I agree completely, when I first saw the rendering equation I was like "what the hell is this?", but then eventually I found helpful papers and blog posts, and now it makes complete sense. Hang in there, video game math is pretty intuitive once you get the hang of it. If possible, do maths at the same time, it will help you fathom the equations you see. Do not limit yourself to books if at all possible, there's a lot of good stuff on the net, in particular people who once were in the same situation as you, and wrote blog posts specifically designed to be accessible to newcomers.

The slowsort algorithm is a perfect illustration of the multiply and surrender paradigm, which is perhaps the single most important paradigm in the development of reluctant algorithms. The basic multiply and surrender strategy consists in replacing the problem at hand by two or more subproblems, each slightly simpler than the original, and continue multiplying subproblems and subsubproblems recursively in this fashion as long as possible. At some point the subproblems will all become so simple that their solution can no longer be postponed, and we will have to surrender. Experience shows that, in most cases, by the time this point is reached the total work will be substantially higher than what could have been wasted by a more direct approach.

 

- Pessimal Algorithms and Simplexity Analysis


#8 GKANG   Members   -  Reputation: 163

Like
0Likes
Like

Posted 22 September 2012 - 04:41 AM

My main problem is that I'm not sure specifically what I should be learning. I don't want to spend months wasting my time learning "useless math" that I won't really need specifically when programming. I'll definitely check out that link that came early on in this thread though, sounds good.

#9 Postie   Members   -  Reputation: 884

Like
1Likes
Like

Posted 22 September 2012 - 05:28 AM

Part of knowing what an equation means is recognising the notation and knowing what each of the symbols stands for. You don't necessarily have to be a calculus wizard to read and then implement an equation. The part where it gets difficult (and requires formal maths knowledge) is proper understanding of the equation and then taking that knowledge and extending it or adapting it for another purpose.

Also, I'm surprised no one has mentioned trigonometry. Even in 2D its used an awful lot.
Currently working on an open world survival RPG - For info check out my Development blog: ByteWrangler

#10 DevLiquidKnight   Members   -  Reputation: 834

Like
0Likes
Like

Posted 22 September 2012 - 05:58 AM

Take a course on linear algebra, should be almost all you need for game development.

#11 Bregma   Crossbones+   -  Reputation: 4849

Like
2Likes
Like

Posted 22 September 2012 - 07:38 AM

All programming is math.

You can write some software without knowing the math, just as you can work as a cashier in McDonald's without understanding accounting. Most web devs seem to get by OK </cheapshot>.

If you want to get past the polyester uniform and smile stage, you're going to need to understand what you're doing, not just rotely regurgitate some steps. First and foremost you need algebra. Most basic programming is actually just applied algebraic field theory (sets, operators, intervals). 3D graphics requires the understanding of linear algebra (vectors, matrices). 2D graphics almost always need trig. Audio is sometimes off in Fourier land (real-valued nonlinear functions and polynomial manipulation). Calculus is not necessary for most programming but learning it provides you with useful analytic skills that you can apply elsewhere.

Or, be happy in a job with a free virtual sandwich with every shift.
Stephen M. Webb
Professional Free Software Developer

#12 Shaquil   Members   -  Reputation: 815

Like
2Likes
Like

Posted 22 September 2012 - 01:43 PM

Basic Algebra is not a good place to be, even with 2D game programming. Imagine a game like asteroids, where the ship rotates and shoots on an angle. The only information you have to calculate how to shoot the bullet is the number of pixels it moves across the screen per frame when the angle is 0, 90, 180 or 270 (facing straight up, down, left or right), and (most likely) the actual angle at which the ship is turned. If you have no idea how to solve this problem, you need to really put in the time to learn it. That's not calculus, though. That's Trigonometry/Geometry. Maybe you could somehow solve the problem without ever needing to know what sin, cos and tan exist for, but you could also just learn them and move on.

I will say, though, as someone who was completely awful at Math before he started programming, once I had real applications of Math, not only did it become easy, it became incredibly fun. You should just go find a website/old textbook in your room somewhere, and jump in.

Edited by Shaquil, 22 September 2012 - 01:45 PM.


#13 Kaptein   Prime Members   -  Reputation: 1954

Like
0Likes
Like

Posted 22 September 2012 - 04:57 PM

once your normalize your first vector, and all your problems with finding certain info, e.g. what is the angle between the two? what is the distance? how can i make sprite A approach sprite B?.. and so on, just magically goes away in one fell swoop!

ill just say this though, this is from my own experience! i had NO idea what i was doing, but i learned over time to use basic trigonometry..
once i learned vectors, many door opened at the same time, so you REALLY need to look into this, because it REALLY pays off :)
especially if you are working with games, which are graphical.. vectors make things so much easier

anyways, i don't personally know "lots of math", either. but just knowing what the basics really are and learning that is a huge improvement
i wish someone slapped my wrist many years ago and pointed to the nearest vector tutorial site :)

#14 GKANG   Members   -  Reputation: 163

Like
0Likes
Like

Posted 22 September 2012 - 05:24 PM

Guys you're all being super helpful. Thanks for the wealth of advice, I've got a much clearer idea of where I'm headed now.

#15 viper110110   Members   -  Reputation: 576

Like
0Likes
Like

Posted 22 September 2012 - 10:14 PM

Trig is important. Know the pythagorean theorum. Linear algebra is important. I think a large difference between programming and "mathing" is that when you are programming you have to understand how it works at a higher level. You can know exactly how to calculate a dot product, but if you don't know what the result is and how to use it, you won't be able to program using it. Additionally, you can upgrade from McDonalds to A&W if you know what a dot product is used for but not how to calculate it.

#16 Shaquil   Members   -  Reputation: 815

Like
0Likes
Like

Posted 23 September 2012 - 06:59 AM

Guys you're all being super helpful. Thanks for the wealth of advice, I've got a much clearer idea of where I'm headed now.


Good luck. I think you'll find that math can sometimes be just as exciting as programming




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS