Mathematics in Computer Games

Hi all (hope this is the right forum),

I am thinking about doing a seminary for my math students about mathematics in computer games.
However, I can't find a book about this topic (which I need such that students can prepare their talks).

I would be very happy, if someone could point me to a good book or manuscript about the usage (+methods) of mathematics in computer games...I hope there is even one :)

Thanks a lot

Billy
 
Mathematics for 3D Game Programming
and Computer Graphics, Third Edition


That one is nice, covering the bases and extending from there.
 
Thanks Davros!!! Thanks a lot.

Btw, in a seminary, students need to give a talk...I only have to sit there and listen :cool:
Do you mean seminar? Seminary has a very different meaning where I come from.

sem·i·nar·y
ˈseməˌnerē/
noun
  1. a college that prepares students to be priests, ministers, or rabbis.
 
Do you mean seminar? Seminary has a very different meaning where I come from.

sem·i·nar·y
ˈseməˌnerē/
noun
  1. a college that prepares students to be priests, ministers, or rabbis.



Oh, seminar it is! Didn't know that seminary means something completely different!
 
Math in CG is trivial and a pretext for diluting very basic ideas into a diarrhea of bad algebra-filled papers. (Grants you see).
 
granted, most if not all the math there is covered in the 1st course of linear algebra at university, but I don't see it so bad.
It doesnt target people with a degree in computer science, so for its target looks quite good.
 
There's a quote of Carmack saying how doing things the analytical way is extremely long and protracted and you can always fake it all with a quickie Monte-Carlo method, I hope that wouldn't be demotivational :LOL:

Else I'm thinking of graph theory (Isn't like half of the general field of "AI" about building a graph and running some algorithm?). I wonder if there's some fuzzy logic or that would be overestimating game bots etc.
There may be many ancillary tasks like texture compression, sound processing (in these there's signal processing, information theory etc.)




What I found very "mathy" is the byzantine rules in Doom and Doom 2 for monster infighting, how every living body has an infinitely high cylinder to him/it and most of all a monster was in special circumstances able to attack itself.

http://doom.wikia.com/wiki/Barrel_suicide
http://doom.wikia.com/wiki/Barrel
http://doom.wikia.com/wiki/Blast_damage_has_unlimited_vertical_range

That's probably not useful teaching material but I found hilarious there's a whole wiki with a serious tone to deal with it. They also link to an "unofficial Doom bible" .txt file, source code has been available for 17 years and I'm sure there's a lot of documentation about the BSP trees, raycaster etc.
 
Last edited:
granted, most if not all the math there is covered in the 1st course of linear algebra at university
They didn't teach us quaternions (http://en.wikipedia.org/wiki/Quaternion) at all (at Helsinki University). Not in the first or the second linear algebra course. For most of the game developers it seems to be enough to understand that a normalized quaternion can represent a rotation (basically a compressed form of a 3x3 orthonormal matrix). And that's it. However once you really start to work with the quaterions on the GPU side, you need to understand how the math actually works (for example to preprocess the mesh properly to make the VS->PS interpolation work) and understand what kind of values (distribution of numbers) you have in all the four channels (in order to pack the quaternions to your g-buffer and/or vertices as tightly as possible while still retaining good quality). Also quaternions don't work like matrices in all cases (are not linear to interpolate) so you need to understand more complex math such as dual quaternions (http://en.wikipedia.org/wiki/Dual_quaternion) to perform skinning (or complex higher order interpolation). GPU Pro 5 had a quite nice article about quaternion based GPU pipeline (a nice tutorial to get started).

I think that most of the discussion here has been about the math needed in graphics rendering (geometry and vector math). Physics simulation also needs quite a bit of math. You need to understand differential calculus (often performed with numerical methods in real time simulations) among other things. Also modern microfacet material models (http://simonstechblog.blogspot.fi/2011/12/microfacet-brdf.html) have quite complex mathematical background (differential calculus + physical light models) that you need to understand in order to improve the formulas (or in order to split the formulas to lookup + calculation to optimize them for real time usage). And you of course need to understand basics of statistics. Importance sampling is currently used everywhere (http://en.wikipedia.org/wiki/Importance_sampling).

One important thing that is not that well discussed in university studies is numeric instability. This is very important topic when you are implementing any computational geometry algorithms. Often the most straightforward algorithm is not practically viable, because it's not working well in all corner cases (because of numeric instability). Path finding mesh for example is often nowadays done by voxelizing the level and then converting the voxel presentation to the path finding mesh, instead of using complex (and unstable) computational geometry algorithms to create the union (from the triangle soup). Voxelization can also be used instead of convex decomposition to generate collision meshes for objects (http://kmamou.blogspot.fi/2011/10/hacd-hierarchical-approximate-convex.html, https://www.graphics.rwth-aachen.de/media/teaching_files/mueller_siggraph12.pdf).
 
I'd say there's a lot that you can use from the transfer functions being used for positional sound with stereo speakers or headphones.
 
Name
ARB_count_on_fingers

Name Strings
GL_ARB_count_on_fingers

Contact
Anon (anon 'at' beyond3d.com)

Notice
Copyright (c) 2015 Not The Khronos Group Inc. Copyright terms at
http://....

Overview
Enables new way of performing computer graphics without relying on mathematics. It instead relies on general hand waving and the counting of virtual tactile appendages.
 
Back
Top