Well I must say that the book was very well written overall. I'll get to the reasons why I only gave it 4 stars instead of 5 shortly.
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!