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: Quaternions to Homogeneous Points, Lines, and Planes

Hamish Todd  (Mathematician, Imagination Technologies)

Location: Room 2001, West Hall

Date: Tuesday, March 21

Time: 2:40 pm - 3:40 pm

Pass Type: All Access Pass, Summits Pass

Topic: Programming

Format: Lecture

Vault Recording: Video

Points, Lines, and Planes are the basic geometric objects that games are programmed with. In “A Visual Guide to Quaternions and Dual Quaternions”, we learned how to get rotations from lines. This talk is a sequel to that: we’ll see how to intersect planes and lines to get lines and points; how to get transforms taking us from planes to points and lines; how to measure the distance between any plane, line, or point and any plane, line or point; how to do the same with angles; how to project these objects onto each other; and more.

All of these can be done in a single line of code, and in a way that is visually intuitive and “coordinate free”, meaning that we never have to worry about where we are relative to our origin or our axes. A single mathematical system enables all of this: Euclidean Plane-Based Geometric Algebra (a subset of the larger system described by Eric Lengyel in other GDC talks).


How to drastically simplify geometry code so that it can easily be debugged and extended. How to understand the math behind the familiar functions for working with rotations, translations, points, lines, and planes.

Intended Audience

Graphics and gameplay programmers. You will want to have watched the preceding talk, “A Visual Guide to Quaternions and Dual Quaternions” - beyond that, no prior experience with anything beyond vectors is assumed.