GDC is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

View, browse and sort the ever-growing list of sessions by day, pass type, topic, and format. With this Session Viewer, you can view GDC 2023 session details and speakers, and share your favorites via social media. You will be able to build your schedule and access it during the show via export or Mobile App, once live. Sessions do fill up and seating is first come, first serve, so arrive early to sessions that you would like to attend.

Math in Game Development Summit: A Visual Guide to Quaternions and Dual Quaternions

Hamish Todd  (Mathematician, Imagination Technologies)

Location: Room 2001, West Hall

Date: Tuesday, March 21

Time: 1:20 pm - 2:20 pm

Pass Type: All Access Pass, Summits Pass

Topic: Programming

Format: Lecture

Vault Recording: Video

Sometimes people say “Quaternions are 4 dimensional”. They are trying to scare you. It’s no more true than “3x3 matrices are 9 dimensional”, and no more helpful either.

There is a concrete, 3D way to visualize quaternions. Every quaternion is a mixture of some amount of axis line, and some amount of identity. On their own, axis lines do 180° rotations. On its own, the identity (the “w” coordinate of a quaternion) does a 0° rotation. Having a little of both lets you do rotations by other amounts.

We’ll use this to see how quaternions are created, interpolated, and composed together. Then we’ll use the same approach to understand dual quaternions which, unlike quaternions, can translate, as well as rotate around lines that do not pass through the origin. We’ll also see how all of this allows for bug-free animations to be done with code that is efficient and simple.

Takeaway

A visual intuition for the four floats that make up a quaternion - for example, why negating all of them switches between clockwise and counter-clockwise. We’ll also look at dual quaternions, which translate as well as rotate; and LERP and SLERP quaternions and dual quaternions to transform and animate.

Intended Audience

If you’ve ever tried to write code that rotates anything in 3D, then you have probably heard that quaternions help solve this problem. If you know that’s what quaternions are for, and you have a desire to really understand how they work, you’ll learn something from this talk!