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).
Takeaway
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.