Jump to content

  • Log In with Google      Sign In   
  • Create Account

Allen Chou

Member Since 15 Jul 2010
Offline Last Active May 24 2014 11:01 PM

Topics I've Started

Interpolating Quaternions with Circular Blending

18 April 2014 - 02:52 PM

Hi, all:


I wrote a post on interpolating quaternions with circular blending.




Circular blending is an interpolation technique that produces "quaternion curves" with C1 continuity, as opposed to the commonly used piece-wise slerp technique that has only C0 continuity.


Here's a video comparing the two techniques.



I gave a lecture on constraint-based physics, and here are the slides.

18 April 2014 - 12:51 AM

Hi, all:

This is my last semester at DigiPen Institute of Technology, so I decided to give a lecture to my fellow schoolmates on constraint-based physics to pass down a few things I know about implementing game physics.

Here are the slides I used:

Below are the main points I went over in this lecture:

  • The flow chart of a typical physics engine.
  • How to derive velocity constraints.
  • Contact constraints, including normal and tangential resolutions.
  • Solving multiple constraints simultaneously (block-solving).

You don't really need to implement a full-blown physics engine with narrow phase, broad phase, and other fancy stability features like contact caching and warm starting, just in order to get something cool. In the end, I presented a simple constraint, the mouse constraint, as an exercise homework.

I encourage anyone who hasn't done any physics-related stuff to try implementing mouse constraints with a simple semi-implicit Euler integrator; you will end up with something you can drag around, reacting and looking physically "correct".

If you are not familiar with motion dynamics, I also wrote two posts on its fundamentals and implementation examples, please do check them out:

Lastly, here's a full list of the posts I have written on game physics:

As always, please tell me if you think I've got something wrong. Thanks smile.png

Quaternion Basics

09 April 2014 - 02:05 AM

Hi, all:


I've written a post on quaternion basics.




It covers the basic operations of quaternions and slerp.


I hope some people find this post useful smile.png

My Game Math Series (Ongoing & Seeking New Topic Recommendations)

03 March 2014 - 11:21 PM

Hi, everyone:


Recently, I decided to start a game math series on my blog.
Please tell me what you'd like to read to help me plan out what to write about.


Thanks smile.png


Below is a list of written posts and planned topics:




Vector Math

Linear Algebra


Coordinate Systems

  • Complex Numbers (Planned)
  • Polar Coordinates (Planned)


  • Quaternion Basics (Planned)
  • Quaternions as 3D Rotations (Planned)

Misc. Polyhedon-Related Posts for Game Physics

19 February 2014 - 08:04 PM

Hi, everyone:


I wrote a couple of miscellaneous posts on polyhedron-related stuff for my game physics series on my blog.


The first post explains how you can use the half edge data structure to implement a better support function for polyhedrons utilizing a hill-climbing approach, as opposed to the most obvious brute-force approach. It also shows an example implementation of dynamic half edge data structure.



The second post demonstrates 3 options for updating the AABBs of polyhedrons, namely the brute-force approach, approximation by local AABB, and the support function approach. This posts also touches on their pros and cons.



Here's a list of all posts of the game physics series that lead up to these two posts.



I hope you like it smile.png