Hi.

Welcome to my blog. I document my adventures in travel, style, and food. Hope you have a nice stay!

CG Math | Learning Resources

CG Math | Learning Resources

If you are an artist interested in a more technical side of computer graphics (rigging, tools development, etc.) you will need to learn some math eventually. Going through academic materials as a first step is not particularly encouraging idea though. You will be thrown into deep water and will probably still not understand how the abstract math applies to practical problems.

Fortunately, these days there are a lot of resources, both in print and on the web that make learning mathematics used in computer graphics easier, faster and to the point. And you can always delve into academia later if you long for more.

I've set on this journey about 2 years ago and was simply blown away by quite a few of the materials I came across during that time. Mathematical concepts presented in a very visual way are much easier to understand (artist friendly so to speak). That combined with more thorough knowledge that you can find in books and articles makes for a very enjoyable learning experience. The branches of mathematics that are most relevant for the start are (in no particular order): geometry, linear algebra, trigonometry and calculus.

I compiled a list of resources that I've been going through below. It's not a complete list by any means. I may add more positions over time. I haven't study all of these in entirety but enough to know that each and every one is a super useful resource.

 

YouTube Resources.

I recommend to start from watching channels listed below. These will give you a solid high-level overview of mathematical concepts involved. 

 

3Blue1Brown

Fantastic channel for everything math conducted by Grant Sanderson who also did some education work for Khan Academy. There are lots of really good videos demonstrating math in a very visual way. For computer graphics purposes you will be most interested in Linear Algebra and Calculus series.

This introduces the "Essence of linear algebra" series, aimed at animating the geometric intuitions underlying many of the topics taught in a standard linear algebra course. Watch the full "Essence of linear algebra" playlist here: https://goo.gl/R1kBdb ------------------ 3blue1brown is a channel about animating math, in all senses of the word animate.
I want you to feel that you could have invented calculus for yourself, and in this first video of the series, we see how unraveling the nuances of a simple geometry question can lead to integrals, derivatives, and the fundamental theorem of calculus.
 

Welch Labs

Another fantastic resource with incredibly easy to follow narrative. I cannot recommend it enough. Series on imaginary numbers was a real eye-opener for me and may help you with understanding quaternions. The other series are worth watching as well.

More information and resources: http://www.welchlabs.com Imaginary numbers are not some wild invention, they are the deep and natural result of extending our number system. Imaginary numbers are all about the discovery of numbers existing not in one dimension along the number line, but in full two dimensional space.
 

Jamie King

Jamie King is a professional software engineer (he works at Google) and is sharing a lot of knowledge on many topics concerning software engineering and math. Although titles of playlists suggest that it's more about programming (C++ and C#) I'd argue that even for pure math knowledge this is a fantastic channel. Below is Jamie's take at explaining Linear Algebra.

Jamie King showing how the UI works for the vector calculator assignment.
 

Jorge Rodriguez

Jorge Rodriguez is another highly skilled professional sharing his knowledge. Videos are oriented towards game development but you can find a general computer graphics knowledge as well. Like series on dreaded quaternions linked below.

Axis-angle rotations can help us improve our abilities to rotate vectors and objects. Find the source code here: https://github.com/BSVino/MathForGameDevelopers/tree/axis-angle Question? Leave a comment below, or ask me on Twitter: https://twitter.com/VinoBS
 

If resources above do not satisfy you here a few academic materials to deepen your knowledge. They do require more commitment though.

 

MIT OpenCourseWare

Did you know that Massachusetts Institute of Technology has YouTube channel with tons of incredible courses for free? I've started following the course on Linear Algebra and this is what you want to watch if you really want to go in-depth. 

Lecture 1: The Geometry of Linear Equations. View the complete course at: http://ocw.mit.edu/18-06S05 License: Creative Commons BY-NC-SA More information at http://ocw.mit.edu/terms More courses at http://ocw.mit.edu
 

NJWildberger

This is a very thorough resource on mathematics taught by N J Wildberger of the School of Mathematics and Statistics at UNSW.

I've been watching the course on Linear Algebra. Chapters are long but the approach is unique and very, very interesting. Quoting from course description itself: "the course gives a more geometric and natural approach to this important subject, with lots of interesting applications". Definitely recommended if you have enough time.

This is the full first lecture of a course on Linear Algebra. Given by N J Wildberger of the School of Mathematics and Statistics at UNSW, the course gives a more geometric and natural approach to this important subject, with lots of interesting applications.

Rational Trigonometry is worth looking at as well. The author claims it's a much better way to learn trigonometry then the classic approach usually taught in schools.

Introduces the WildTrig series, inviting you to learn a new approach to geometry and trigonometry. This series will give a careful introduction to rational trigonometry and universal geometry---valid over a general field. The series is based on my book Divine Proportions: Rational Trigonometry to Unviersal Geometry which is available at wildegg.com, where you can find many more resources to understand and work with this powerful new paradigm.
 

Online Reading

 

ScratchAPixel

This website is dedicated to articles on mathematics and physics for computer graphics and it's a really well thought out, well written resource. It teaches you all you need to know starting from the very basics and without overcomplicating things. You can also write C++ code as you go and full source code for everything taught in articles is included. It's focused on rendering but frankly, most of the concepts will apply to other areas such as rigging and deformations as well. 

You can make donations to help ScratchAPixel grow and I wholeheartedly recommend doing so.

 

Books

 

Each of books mentioned below is worth reading. First two are focused on math only and therefore more extensive then the 3rd book that covers all sorts of subjects related to developing a game engine and only has a section dedictaed to math. I personally recommend having a go at each (although math only books should be a better start) since each position will explain the same concepts in a slightly different way and you never know which approach is going to work better for you.

 

Essential Mathematics for Games and Interactive Applications, 3rd Edition

by James M. Van Verth and Lars M. Bishop

 

 

3D Math Primer for Graphics and Game Development, 2nd Edition

by Fletcher Dunn  and Ian Parberry

 

Game Engine Architecture, 2nd Edition

by Jason Gregory

MODO | Multi-Line Note

MODO | Multi-Line Note

HiRISE Data Visualization Made Incredibly Simple

HiRISE Data Visualization Made Incredibly Simple