views:

131

answers:

5

Hi, everyone.

(If you have the time and patience:) I've recently made the decision to study programming seriously and I'm about to order TAOCP and Concrete Mathematics to begin my studies (please don't get caught up on this). I'm very much interested in learning and understanding how 3D works but I'm aware that if I plan to do it right there's still a long walk before I get to actually play with 3D coding. Now to the question..

(tl;dr) Excluding programming itself, what disciplines do I have to be familiar with to code 3D? What kinds of mathematics? Physics? What else? What books do you recommend on such subjects? Now read it all again but replacing "3D" with "AI".

Please don't recommend computer-specific books. The question is about the foundation to be learned before using the machine. Also, if possible, please keep the list brief; I plan to order one book on each subject but no more than that for now.

Excuse me for any English mistakes, it's not my first language.

Thank you.

+1  A: 

I would definetally check out GameDev. They have alot of resources and people that are very familiar with what you want to do. The other reason I suggest that site is you may find Stack Overflow to be the wrong site to ask these kinds of questions since Stack Overflow is for specific why doesn't this work or how can I do this better type questions.

Mike
Their reference book list didn't look too good. I still have to try the community part, tho.
Allan
+3  A: 

Disciplines for 3D -- Computational Geometry, Linear Algebra and Numerical Analysis.

Books:

Kornel Kisielewicz
Thanks for naming them. The AI book looks awesome despite having 1k pages and costing $100. It seems too much for a beginner, tho.
Allan
It's written in a really clear manner, though, and is the standard AI textbook. You won't find a better theoretical and all-encompassing book on AI.
Kornel Kisielewicz
A: 

From physics, you will want to learn a little about kinematics.

Carl Smotricz
+3  A: 

Essential Mathematics for Games and Interactive Applications: A Programmer's Guide (The Morgan Kaufmann Series in Interactive 3d Technology) (Hardcover)

http://www.amazon.com/Essential-Mathematics-Games-Interactive-Applications/dp/155860863X/ref=cm_lmf_tit_1

Vectors, Linear Algebra, Affine Transformations, Matrices, Matrices, and more Matrices

Larry Watanabe
The OP said - "Please don't recommend computer-specific books."
Kornel Kisielewicz
The title of the book is "Essential Mathematics" .. the focus of the book is really the mathematics, not so much the programming, despite the part of the title "A Programmer's Guide". It is really a book about mathematics FOR programmers.
Larry Watanabe
That book looks really interesting.
Allan
A: 

If you don't want to use computer science books, i would recommend trying out a 3d library, and start playing around making scenes using the examples provided.

If you have a little experience with Flash, you could try papervision3d, or there are many other 3d libraries for Flash.

Alternatively, if you have knowledge of C/C++/Java/Python and so on, you could try one of the OpenGL wrappers for your favorite language.

In any case, have a play around with some of the different frameworks, so that you get use to the vocabulary. Once you have a good grasp of the different aspects of 3d programming, you can start looking at tutorials around the web that talk of the mathematics of 3d.

Now, AI is a slightly different thing. If you really want to learn what AI is about, you need to go down the academic route. In this case look a the comment by Kornel Kisielewicz.

Tim Fletcher