Two weeks ago I started reading the second edition of John Vince’s “Mathematics for Computer Graphics”. Because of illness it took me longer than the usual week to get through the book. And frankly the extra time was valuable, as this is not an easy text to digest.
When discussing the assumptions made about the reader, the author says only this:
I suppose that I do expect that readers will have some understanding of arithmetic and a general knowledge of the principles of mathematics, such as the ideas of algebra. But, apart from that, each subject will be introduced as though it were the first time it had been discovered.
In the chapter on curves and surfaces I have used a little calculus. Readers who have not studied this subject should not be concerned about missing some vital piece of information. I only included it to keep the explanation complete.
If you want to laugh then you only need to compare those two paragraphs to the contents a few pages prior. Granted, Vince is true to his word and introduces fundamental concepts quite well and in fine order: Numbers, Algebra, Trigonometry, Vectors, and so on. But expecting the readers to “have some understanding of arithmetic” is an understatement. It’s better if the reader is the type of person who sees a formula start to form when he looks at his bowl of Lucky Charms in the morning.
There are no problems at the end of chapters, which personally I expect from math books. However, the omission does not feel unexpected in Vince’s text because it does not take long to realize Mathematics for Computer Graphics is more of a refresher text than anything else. If you know nothing about quaternions, for example, then you can certainly learn them and their relation to computer graphics from the material. But the compressed nature of the content still comes across as more of a refresher for people already familiar with the concept.
I cannot recommend the book to anyone who is completely new to the mathematical side of computer graphics. However, for those programmers with some experience, Mathematics for Computer Graphics is a terrific reference. I am going to keep it close at hand for any time I need to brush up on B-splines and topics of that nature, and I believe many game developers would find it equally useful as a desk reference.
Next Book of the Week
The next book I will read is the third edition of Jeff Duntemann’s “Assembly Language Step-by-Step”. I read the second edition years ago and consider it to be the best introductory book to assembly language programming that I’ve ever read. The third edition appears to focus even more on assembly language programming on Linux, and since that is my operating system of choice I greatly look forward to the new material in this latest edition.