1 / 17

Exploring Advanced Matrix Techniques: Cross Products, Dot Products, and Portal Transformations

Join Jonathan Blow at Ajou University on December 12, 2002, for an in-depth seminar on advanced matrix techniques relevant to game development. Discover essential concepts such as the dot product and cross product as matrix operations, how to use skew-symmetric matrices for transformations, and explore quaternion-based rotation. Additionally, the seminar covers Clifford algebras, mirror transformations, and the application of least-squares fitting in sample data analysis. Perfect for game developers and mathematicians looking to deepen their understanding of matrices and their applications.

Télécharger la présentation

Exploring Advanced Matrix Techniques: Cross Products, Dot Products, and Portal Transformations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. KIPA Game Engine Seminars Day 14 Jonathan Blow Ajou University December 12, 2002

  2. Matrix Tricks • Review of the dot product trick • a dot b = aTb

  3. Cross Product as Matrix • The skew-symmetric matrix is a trick for turning a cross product into a matrix multiply • Useful when you are doing math and need to transform cross products, invert them, etc • “skew-symmetric” because it is almost equal to its transpose, but for some negated terms

  4. Dot Product as a 3x3 Matrix • (plus a step at the end to extract the value)

  5. Quaternion-based rotation • x’ = qxq* • Discussion of how to expand this using Hamilton’s multiplication rules

  6. Cross Product • As determinant of pseudo-matrix containing (i, j, k) • Formulation from Lounesto’s book “Clifford Algebras and Spinors”

  7. v cross (v cross a) • A common expression to run into • We see r x (n x r) a lot in physics / rotation kinds of applications • Show what this means in terms of the skew symmetric matrix • (n x r) = -(r x n)

  8. Cross Product and Dot Product • Cross product as area of parallelogram • As lengths of vectors times sin(theta) • Dot product as lengths of vectors times cos(theta) • What happens when we square, add, square root these terms?

  9. Cross Product and Dot Product • It’s almost as though the cross and dot product are projections of the result of some “bigger product” onto orthogonal spaces • Review of unit vector and cos^2 + sin^2 = 1 • Re-discussion of the idea that any linear item can be broken into parallel and orthogonal components

  10. Clifford Basis Vectors • View the products of two vectors as creating bivectors, not vectors in the same space • Algebra a bit different from Hamilton’s

  11. Clifford Product • of a vector times a vector • How does this compare to the dot and cross products? • Clifford product decomposed as (a dot b) and (a wedge b)

  12. Clifford Product • of a vector times a bivector

  13. Clifford Inverse • of a vector

  14. Mirror transform • Matrix with determinant –1 • Example with X, Y, Z axes

  15. Portals, Teleports and Mirror Transforms • You can attach arbitrary transforms to portals (since you are basically “restarting” the viewing process at each portal) • A portal can look into somewhere spatially disjoint • A portal can look from a right-handed into a left-handed space • If the view transform reverses handedness, and is pointed back into the same room, you have a mirror.

  16. Least-Squares Fittingof Sample Data • Was asked as a question last week • Will do derivation now on whiteboard

  17. Static Mesh LOD • (block-based) • Using alpha blending to blend between pieces • (demonstration of software in progress)

More Related