3D Math Primer for Graphics and Game Development (Wordware Game Math Library) (英語) ペーパーバック – 2002/6/15
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
Fletcher Dunn is the principal programmer at Terminal Reality, where he has worked on Nocturne and 4x4 Evolution and is currently lead programmer for BloodRayne. He has developed games for Windows, Mac, Dreamcast, Playstation II, Xbox, and GameCube.
Ian Parberry is a professor of computer science at the University of North Texas and is internationally recognized as one of the top academics teaching computer game programming with DirectX. He is also the author of Learn Computer Game Programming with DirectX 7.0 and Introduction to Computer Game Programming with DirectX 8.0.
Amazon.com で最も参考になったカスタマーレビュー (beta)
I found that Mathematics for 3D Game Programming & Computer Graphics was a "copy and paste" of parts of a linear algebra textbook. It had the interesting parts for graphics developers, but it did nothing in terms of reaching / teaching the reader, explaining things and helping to smooth the learning curve. It was pure math.
Well, 3D Math Primer for Graphics and Game Development it's just the opposite. It's clear, concise and mathematical rigorous, but at the same time it tries to reach the reader, explains the math of 3D graphics AND the reasons behind that math. Whenever possible it always gives you a graphic interpretation of what you are reading and if that's not possible, it gives you extra explanations. The authors know where the hard parts are and excel at helping you to understand them. Where most books give you a theorem and left you in your own (face it: most books) this one tries to help you to get a step beyond and understand the math and the workings of it.
There is a clear feeling in all the book: usefulness.
This book -in terms of smoothing the learning curve- is to current basic 3D math what Realtime Rendering is to current 3D algorithms and techniques.
1. It's very basic. Don't expect to go from 0 to 100 with this book. It will give you the basics, but you will need to continue.
2. It's not mean to give you full working code. The code examples are to illustrate how the concepts can be implemented in software, not to provide a full working library.
To sum it up: a book to understand, not just "know" the math behind 3D math written in a clear and non-pretentious way.
So, what exactly does it cover? It starts off with a couple of chapters on coordinate systems, and then spends three chapters on vectors, followed by another three chapters on matrices and transformations. It then covers orientation, comparing matrix, Euler angle, and quaternion representations (including one of most clear explanations of quaternions that I've encountered), before diving into several chapters covering geometric primitives, including detailed coverage of working with triangle meshes.
The book closes with a chapter applying 3D math to graphics in areas such as lighting, fog, coordinates spaces, LOD, culling and clipping, and so on, and another chapter on visibility determination, touching on things like quad- and octrees, BSP trees, PVS, and portal techniques. The explanations in these chapters are much less complete, taking more of an overview approach. Others have criticized the book for this, but I feel that an overview is appropriate, since it then sets the stage for these topics to be covered in detail in other game programming books.
I'd definitely recommend this book to anyone just getting started with game and graphics programming.
First, it is my opinion that you need to know the following before you even get started with this book to get the most out of it. You should know at least algebra level math, preferrably at a college level. While the book states you don't need to know trig, I believe it will help you if you do know at least some trig. Finally you should obviously know C++ fairly well, the book heavily leans towards C++, but if you understand the material in the book well enough you shouldn't have too much problems porting it to another language.
Some of the major topics covered in the book from beginning to end are the cartesian coordinate system, vectors, matrices, euler angles, quaterions, geometric primitives, geometrics tests (i.e. intersection tests), triangle meshes, lighting equations and visibility determination. Plus an appendix that covers some trigonometry.
Ok, the good news. I believe about first 3/4's of the book are top notch. The authors went to extreme lengths to cover the material with very clear and concise explanations of the math topics that are covered and have plenty of pictures to help you understand it. The chapters that cover vectors and matrices made it very clear to me why and how this stuff is used in 3d graphics. The authors also consider the pros and cons of using matrixes, euler angles and quaterions in depth. And at the end most of the chapters are some exercises that help reinforce the material. It's just great stuff!
Now the bad news. I feel the last quater of the book had a very rushed feel to it. The topics in those sections just don't meet up to the level of first 3/4's of the book. Topics are skimmed over or just summarily introduced and most of the time you get 'This is beyond the scope of this book, etc..'. Now I understand that most of those topics are beyond the scope of the book but I guess that I got used to the excellent reading of the earlier chapters so I ended up feeling somewhat dissapointed by the remaining ones. But on a positive note they do supply other resources you can look to in the bibliography. One last gripe that I have is they only supply the answers to the exercises up to chapter 7 on their website, they need the answers to the remaining chapters. Those are the reasons why I gave it 4 stars instead of 5.
Finally, I do highly recommend this book if you interested in learning about 3D programming and it will lay a good foundation for you to move onto other 3D programming books. The positives far outweighs the negatives so it's a great place to start your exploration into the world of 3D graphics!
While this book starts out with the basics, it does move into more advanced topics, but because it does such a good job of giving you a solid foundation at the beginning, you are able keep up.
The code samples are excellent as well. They don't get so complicated that you can't understand it...and they help to reinforce how to actually implement a vector, matrix etc. in C.
Thanks to authors for writing a book that a person with very little 3D math experience can pick up and actually get through. I would highly recommend this book to anyone wanting to learn more about 3D math...whether you are a beginner or advanced.
If you are even slightly interested in 3D math and computer graphics or game programming, I would pick this book up for sure. It is the best book I have found yet on the subject.
But the 3D Math Primer was exactly what was needed to provide that gap--and even be readable! Just going through the first 11 chapters I was able to create my own spinning cube application that used no 3D libraries whatsoever. =D Previous to this, a dutifully followed Direct3D tutorial had once gotten me a spinning triangle but I can't honestly admit to having any idea what I had done to achieve it.
There are sections where mathematical topics are presented simply as "interesting things you can do with these boxes of numbers to get whole new boxes of numbers" which hopefully will be given some more 3D filling out in future editions. But I wouldn't recommend waiting as this is already an invaluable resource to anyone who hopes to teach himself 3D programming.
- 洋書 > Computers & Technology > Programming > Graphics & Multimedia
- 洋書 > Computers & Technology > Programming > Software Design, Testing & Engineering > Software Development
- 洋書 > Humor & Entertainment > Puzzles & Games > Video & Electronic Games
- 洋書 > Professional & Technical > Professional Science > Mathematics > Pure Mathematics
- 洋書 > Science > Evolution
- 洋書 > Science > Mathematics > Pure Mathematics