Sponsored By

GDC 2009 - Day 1 - Surviving Math for Programmers

One man's attempt to understand the full day tutorial 'Math for Programmers', starring Marq Singer, Jim Van Verth, Squirrel Eiserloh, Christer Ericson and Erin Catto.

Jim McGinley, Blogger

March 24, 2009

3 Min Read
Game Developer logo in a gray background | Game Developer

Troglytes Unite!


1. Vectors & Matrices - Marq Singer

Whirlwind tour of university math (Bachelor level).
Forgotten how much forgotten.
Heavy Head.
Marq energetic, enthusiastic.
60 powerpoint slides. 45 minutes.
Sometimes spoke faster than could talk.
Dot product will save us all.


2. Affline Transformations - Jim Van Verth

Voice hoarse, stays course.
Translation. Rotation. Knows it backward. Seems straightforward.
Lights up discussing Object-Oriented Transforms.
PPoint says they "work with arbitrary center in world frame!"
Technique could rotate satellite around planet.
Understand. Plan to buy Jim's book.


3. Interpolation and Splines - Squirrel Eiserloh

Averaging. Blending. More Blending.
Hour later understand cubic hermite splines.
Feel Catmull-Rom splines are a piece of cake.
Didn't even want this. Believe mother would understand.
Fantastic demos. Best presentation today. Perhaps best at GDC.
Ordering of material amazing. Slides slowly built on one another.
No-one asked instructor about name.


Lunch

Bought lunch. Halfway learned lunch was provided.
Finished paid lunch. Ate free lunch.
Intestine is a spline.


4. Orientation Representation - Jim Van Verth

Jim dying, stays course.
Not here to praise Quaternions, but to bury alternatives.
Demos crappy 3D rotations. Convincing.
Quaternions are explained inasmuch as that's possible.
Discovered by non drunk irish man. Dad would be proud.
Conclusion: Quaternions are weird.
Jim Slerps and Lerps. Dad would be proud.


5. Geometric Primitives & Proximity Detection - Marq Singer

Marq returns powered up.
Envy his energy, wonder if he ate 2 lunches.
Whirlwind tour of collision detection.
Segment-Segment collision is child's play for Marq.
Depressed. Never could get that to work.
Provides reference, may contain salvation.
Capsule-Capsule Collision makes Segment-Segment obselete.
Tears stream down face. Eyes burning.
Marq continues. Things get complicated.
Final Recap: Collision detection complex.
Recap unnecessary.


6. Numerical Robustness - Christer Ericson

Floating-point numbers have problems.
-10^20 + (10^20 + 1) = 0
Luckily, solutions are complicated.
Tolerance Bonus (aka. this code sucks):
if (abs(x - y) < 0.000001) { // x & y are equal }
Problem: Use code all the time. Note to self: Don't tell Christer.
Finally understand ignorance is bliss.


7. Numerical Integration - Erin Catto

Demos cannonball: Proves crappiest numerical integration can simulate it.
Solves question why personal codebase works.
Demos "springy man" aka. Mass-Spring motion.
Explicit Euler, Symplectic Euler, Verlet, Newton fall.
Implicit Euler stands tall. Unfortunate.
Accuracy not equal to Stability. Want Stability above all.
In world where floating point breaks, is anything stable?
Physics engine plans scrapped.


Tomorrow: Physics for Programmers
Long Term Plan: Rage

Read more about:

Blogs
Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like