Game Math and Geometry Library

Source Code

I am not interested in evangelizing people to use my library, mainly because I cannot guarantee to have any time to maintain it in the future. Therefore at current stage, I am not providing or maintaining build scripts for any platform. Perhaps this will change at some point, but for now, you should know what to do with the .cpp and .h files yourself.

The main reason for making this library public is to provide a source of documentation for the project environment I am working on. For others, I hope this library can be used as a source of algorithm snippets for anyone implementing these features in their own libraries. Feel free to copy-paste anything you find useful into your own projects.


This library is licensed under the Apache 2 license. I am not a lawyer, but to me that license means that you can use this code for any purpose, both commercial and closed source. You are however restricted from claiming you wrote it yourself, and cannot hold me liable for anything over this code.

I acknowledge that most of the non-trivial math routines are taken off a book or a research paper. In all places, I have tried to be diligent to properly attribute the original source. Please contact me if you feel I have misattributed something.


The source code is hosted on Github at juj/MathGeoLib. If you are on Windows, download msysgit and TortoiseGit, and clone or fork the repository to get started.


If you do not want to play around with git, you can also download a zipped version. The zip contains a copy of the git source tree. Probably the simplest way is to just embed the code files into your existing project, instead of creating any 3rd party library build steps for this library.

  • Tagged Releases: Find .zips of versioned releases from github: MathGeoLib Tags.
  • The latest git master branch version:

Browse Files

To browse the source code, visit the MathGeoLib repository tree at github.