Essential Mathematics For Games And Interactive Applications A Programmers Guide 2004