
Applied 3D Geometry Course Overview and Syllabus
Explore the syllabus of GAM 325/425 Applied 3D Geometry course, covering linear algebra, vectors, matrices, transformations, and more. Targeting students in game or graphics development, this course sets the foundation for understanding 3D graphics and game systems, with topics like collision testing, camera setups, and interpolation. Prerequisites include basic algebra and programming skills in C++ or Java. Get ready to dive into the mathematical foundations of 3D graphics and game development.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
GAM 325/425: GAM 325/425: Applied 3D Geometry Applied 3D Geometry Syllabus and Introduction 1
GAM 325/425: Applied 3D Geometry GAM 325/425: Applied 3D Geometry Course Description: (Syllabus) Review of mathematical foundation and techniques needed for the development of 3D graphics and game systems. This class will provide the foundation in linear algebra and 3D geometry required for implementing common tasks in 3D graphics and game systems. Topics include vectors, matrices, transforms, coordinate changes, projections, intersection, etc. Translation: We willl learn about linear algebra (matrices, vectors, planes, projections, etc.) In other words, this is a very math-oriented class. Expect a lot of notation, formalisms and many repetitive exercises designed to drill specific techniques or concepts. We will apply these concepts and techniques to actual problems in graphics and game dev. We ll see how linear algebra is used in many (simplified) common tasks in graphics and game development. Goal: The material learned here should be considered reference material for advanced courses in game development. 2
GAM 325/425: Applied 3D Geometry GAM 325/425: Applied 3D Geometry Target Audience: anyone doing game or graphics software development Particularly for students in the following degrees: (See these Game degree charts) BS Gameplay Programming BS/CS - Game Systems MS/SE - Real-Time Software MS Game Programming Context: Here are some problems & topics you ll encounter in future courses: General movement and orientation of objects in 3D space All these topics are: Fairly technical and involved Require extensive discussions about software design, programming techniques, performance, etc. Converting position/rotation between local and world space Computing paths and animation using interpolation between control positions/orientations Determining collision events (many subproblems here ) Setting up camera (Perspective? Orthographic? Camera tracking, object picking, etc) Render pipeline (Camera projections, face culling, rasterizing, shader operations, etc) And many, many more. Unfortunately, we can t discuss any of these topic unless we have a basic understanding of vectors, transforms and their related operations. In other words: we need a proper introduction to Linear Algebra (this course) 3
GAM 325/425: Applied 3D Geometry GAM 325/425: Applied 3D Geometry Topics: Week 1: Vectors spaces, dot and cross products Week 2: Matrices, determinant, and inverse Week 3: Affine Transformations and matrix decomposition Week 4: Matrix information, coordinate change, orientation representations Week 5: General review Week 6: Midterm exam Foundation & Theory Week 7: Camera, view and projections matrices, and general movement Week 8: Collision and Intersection Testing Part I Week 9: Collision and Intersection Testing, Part II Week 10: Interpolation Week 11: Final exam Applications (& more theory) Prerequisite Math: We assume basic college level algebra (including trigonometry, solving equations, etc.) Programming: While we won t be producing actual code in this class, many of the issues discussed in the second half of the class will revolve around implementation, optimization and general performance. Therefore, we assume that students are: Competent in either C++ or Java (Python is not sufficient) Have a good understanding of data structures and their workings and implementation 4
GAM 325/425: Pedagogy GAM 325/425: Pedagogy The overall plan will is to offer an introduction to basic linear algebra but focusing on its applications to graphics and game systems development. Linear Algebra 101 light: A typical linear algebra course would cover a lot more theory than we will. We ll limit our study to only a small subset of those topics. A lot of notation/formalism: Like most math subjects, linear algebra comes with its own baggage of symbols, notation and formalisms. We ll have to get used to it. Some proofs: While we won t be deriving everything from first principles, some mathematical proofs will be presented/covered/required when such proofs provide a valuable insight and/or pedagogical opportunity. Drill-type homework/exercises: Like any math class, you should expect homework to include some repetitive exercises to develop your understanding of new operations. Operations on vector & Matrices must become as second-nature as simple arithmetic. Applications and examples in code: Where possible, we will present actual examples of application in code. (Mostly in the second half of the course) 5
GAM 325/425: Books GAM 325/425: Books Book selection for this class was problematic: Standard math texts are too formal on topics we don t need and have too little details on topics we require. There are a few texts that specifically target our audience: Ex: 3D Math Primer for Graphics and Game Development, 2nd Ed. Excellent coverage of most needed topics, though a bit light Had to be rejected due to fundamentally flawed notation (Uses a left-hand vector space throughout the book) Rejected However, it s worth a look as long as you remember to correct for the left-handed notation!!!! Essential Mathematics for Games and Interactive Applications, 3rd Ed. Covers most of topics we need A bit formal and math-oriented in its presentation Includes website with demos/exercises/resources Note: I haven t looked at the associated code. We won t use it. Required Will also be a reference for future courses 6
Purpose: Purpose: In the very near future, either in a course or on a personal project, you will be working many complex graphics or game development tasks. For example Implement an efficient spatial partitioning algorithm for a broad phase collision system. Write a toon shader with dynamic shadows and multiple moving light sources. Implement an effective path finding algorithm for your NPCs to move in a busy 3D space. You ll likely research how to do those things and that means you ll need to understand the textbooks, articles, algorithms, and code that you find: You ll need to determine whether it does what you need, whether it s done correctly and/or whether it s not worth your time. Do you need further research? For example: Collision using hyperplane separation . Is it any good? Maybe you want a great water simulation. Will this work with your existing shader design? We will introduce some of the tools you ll need to make sense of what you find. You don t have the luxury to ignore math/formalism/notation anymore. You ll need to learn a lot more over the years, but we ll start you off on the right foot! 7