Author Archives: Allen Chou

About Allen Chou

Physics / Graphics / Procedural Animation / Visuals

Game Math: Quaternion Basics

This post is part of my Game Math Series. A quaternion is a very useful mathematical object devised by Sir William Rowan Hamilton as an extension to complex numbers. It is often used to compactly represent 3D orientations with just … Continue reading

Posted in Gamedev, Math | 1 Comment

My Recommended Book List to Game Devs

Here’s a list of books I have read that I recommend to to game devs. I’ve divided the books into several categories: computer science, math & graphics, physics, and procedural animation. I intentionally did not include any “gem” or “pearl” … Continue reading

Posted in Design Patterns, Gamedev, Math, Physics, Programming | 9 Comments

Game Math: Faster Re-Normalization of Unit Vectors.

This post is part of my Game Math Series. I first saw this technique in an article, Hacking Quaternions, written by Jonathan Blow (author of Braid). To normalize a vector, you divide its individual components by its length. The bottle … Continue reading

Posted in Gamedev, Math | 4 Comments

Game Math: Faster Sine & Cosine with Polynomial Curves

This post is part of my Game Math Series. We have seen how to approximate a function using polynomials in this post. A good candidate for polynomial approximation would be the sine function, for it is used a lot in … Continue reading

Posted in Gamedev, Math | 7 Comments

Game Math: Approximation with Polynomial Curves

This post is part of my Game Math Series. Polynomials A polynomial is an expression consisting of linear combination of products of variables raised to non-negative integer powers. In this post, I will specifically focus on polynomials of a single … Continue reading

Posted in Gamedev, Math | Leave a comment

Game Math: How to Eyeball the Inverse of a Matrix

This post is part of my Game Math Series. Matrix Multiplication as Linear Combinations of Columns/Rows As shown in this post, matrix multiplication can be viewed as linear combinations of columns from the left matrix or rows from the right … Continue reading

Posted in Gamedev, Math, Uncategorized | Leave a comment

Game Math: Block Matrices

This post is part of my Game Math Series. Splitting Matrices into Blocks When performing matrix multiplication, we can split matrices into “blocks”. The matrix multiplication can then be performed as if each block is a single matrix element, given … Continue reading

Posted in Gamedev, Math | Leave a comment

Game Math: Alternate Views on Matrix Multiplication

This post is part of my Game Math Series. Definition of Matrix Multiplication Let and be a -by- matrix and an -by- matrix, respectively. Let denote the element in the matrix on row and column (zero-based indexing), “element (, )” … Continue reading

Posted in Gamedev, Math | Leave a comment

Game Physics: Updating AABBs for Polyhedrons

This post is part of my Game Physics Series. In order for most broadphases to work, it is important to update AABBs of colliders after their position and orientation have changed. This post will present 3 methods to update AABBs … Continue reading

Posted in Gamedev, Physics | Leave a comment

Game Physics: Implementing Support Function for Polyhedrons using Half Edges

This post is part of my Game Physics Series. The half edge data structure is a nice data structure to represent polyhedron meshes. I will first introduce to you the half edge data structure; then, I will show you an … Continue reading

Posted in Gamedev, Physics | Leave a comment