Download presentation
Presentation is loading. Please wait.
Published byMervyn Harmon Modified over 9 years ago
1
Matthew Christian
2
About Me Introduction to Linear Algebra Vectors Matrices Quaternions Links
3
Student Applied Mathematics and Computer Science: Software Development at UW-Stout Degree Associates Degree in Computer Programming from Northcentral Technical College Gamer Beaten over 140 games (Yes I have a list) Independent Game Developer (spare time) for 5 years XNA developer for around a year and a half
4
Definition The part of algebra that deals with the theory of linear equations and linear transformations In which the specific properties of vector spaces are studied (including matrices) This is NOT about ‘Linear Algebra’, it’s about the gaming version of ‘Linear Algebra’
5
Definitions A variable quantity that can be resolved into components A straight line segment whose length is magnitude and whose orientation in space is direction Vectors are simple row-based data structures In XNA: Microsoft.XNA.Framework Vector2, Vector3, Vector4 public Vector2 ( float x, float y );
6
Let P be a point at (2,2) Then the vector p can be described as: p = [2, 2] Ex: [2,1], [1,3]
7
Vector Addition Add terms in similar positions Vector “Subtraction” Remember, vectors represent directions How to subtract direction? Add negative direction Scalar-Vector Multiplication Scaling a Vector up or down is easy, multiply each element by the scalar Similar for Division (multiply by scalar fraction) Vector Matrix Multiplication See later
8
Dot Product Helps determine the angle between 2 vectors Cross Product Creates another vector perpendicular to the other two vectors (normal) (3D) Normalizing Magnitude (length)
9
Storing values (positions) Directions (move direction, collision direction) Demo(s) Simple Vectors Vector Collision
10
Definition A rectangular array of quantities… set out by rows and columns, treated as a single element and manipulated accordingly… For us programmers, Multi-dimensional arrays A column is a 3x3 matrix if it has 3 rows and 3 columns Nxm matrix is a matrix with n rows and m columns
11
Square Matrix N-rows, N-columns Main Diagonal Runs from upper left corner down (includes non-square matrices) Diagonal Matrix Matrix where all entries outside of the main diagonal are zero (main diagonal entries can be zero) Identity Matrix The matrix equivalent of multiplying by 1; 1’s across the main diagonal with zero’s elsewhere (nxn sized)
12
3D Rendering is possible BECAUSE of matrices ModelViewProjection Matrix Model Matrix – Matrix describing the position/rotation/scale of your object Order is important (multiply in order of operations) View Matrix – Camera position, target, up direction (orientation) Projection Matrix – View frustum ‘squished’ (your monitor doesn’t display ‘3D’)
13
Math Demos Transformations! In XNA Microsoft.XNA.Framework Matrix 4x4 matrix (M11 – M44) Demos MatrixTransformations Camera Demo (from Tutorials)
14
Quaternions are compact descriptions of rotations… Quaternions DON’T Prevent Gimbal Lock Matrices use Euler numbers to calculate rotations which ‘cancels’ a direction After calculating, you can only rotate on the Z-Axis In all honesty, I’m still researching it!
15
(X, Y, Z, W) (X, Y, Z) is the axis to do rotations about (W) is the amount to rotate about that axis Arbitrary Axis Not global axis
16
Demo Quaternion Camera
17
http://www.insidegamer.org/XnaTutorials.aspx My tutorials (specifically Tutorial 4) http://www.ziggyware.com/readarticle.php?article_id=54 Specifically about Vectors in XNA http://hyperphysics.phy-astr.gsu.edu/hbase/vect.html Some Vector operations http://geekswithblogs.net/CodeBlog My (seldom updated) Blog
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.