Why can't you multiply vectors?

Freya Holmรฉr
26 Oct 202351:15
EducationalLearning
32 Likes 10 Comments

TLDRThe speaker, Freya, an independent game developer and educator, dives into the mathematical concepts underlying game development, specifically focusing on the question of why vectors cannot be multiplied in the traditional sense. She begins by addressing common misconceptions about vector multiplication, such as the dot and cross products, and then introduces the audience to more abstract mathematical ideas. Freya explores set theory, quaternions, and the algebraic structures that arise from vector multiplication, leading to the discovery of bivectors and the wedge product. She also touches on geometric algebra and Clifford algebra, showing how these frameworks can unify concepts like complex numbers and quaternions under a single, more intuitive system. The talk concludes with a discussion on the practical applications of these mathematical tools in game development, such as in the creation of splines and handling rotations in various dimensions.

Takeaways
  • ๐Ÿงฎ The talk discusses the mathematical concept of why traditional vector multiplication is not defined and explores the underlying math in game development.
  • ๐Ÿ˜ฒ Freya, the speaker, dives deep into math, sometimes to the point where it seems like abstract nonsense to game developers.
  • ๐Ÿ“ Set theory and quaternions are introduced as fundamental mathematical concepts that are important for understanding the structure of games.
  • ๐Ÿค” The speaker highlights a schism between math and programming, noting the different perspectives on loops and symbols in code versus mathematical notation.
  • ๐Ÿ“ˆ The concept of the dot product and cross product of vectors are explained, showing they are not the same as multiplying vectors in a traditional sense.
  • ๐Ÿ”ข The natural numbers, integers, rational numbers, real numbers, and complex numbers are discussed to build up to the algebraic structures that allow for vector-like multiplication.
  • ๐Ÿฆ„ The use of 'I' as an imaginary unit is described, which leads to the creation of complex numbers, an essential step in understanding how vectors can be treated algebraically.
  • ๐ŸŸข The multiplication of complex numbers is shown to result in another complex number, demonstrating closure under multiplication.
  • ๐Ÿ” The exploration of the 'wedge product' reveals that multiplying two vectors results in a bivector, which is a concept in geometric algebra.
  • ๐Ÿ“ฆ The talk introduces the idea of multivectors in 2D and 3D spaces, which combine scalars, vectors, and bivectors into a single algebraic structure.
  • ๐ŸŽฎ The applications of this mathematical framework are discussed in the context of game development, including the use of quaternions for rotations and the potential for developing tools across different engines.
Q & A
  • What is the main topic of Freya's talk?

    -The main topic of Freya's talk is to explore the mathematical concept of why vectors cannot be multiplied in the traditional sense and to delve into the underlying math in games, specifically focusing on set theory and quaternions.

  • What are the different types of products mentioned in the talk?

    -The talk mentions several types of products including the dot product, cross product, 2D cross product (also known as the perpendicular dot product, exterior product, determinant, wedge product, or anti-symmetric product), and the Hadamard product.

  • What is a quaternion?

    -A quaternion is a number system that extends complex numbers. It consists of a scalar (real) part and a three-dimensional vector part. Quaternions are used in three-dimensional space for representing rotations and orientations.

  • What is the significance of the Schism between math and programming?

    -The Schism signifies a gap in understanding and communication between mathematicians and programmers. It highlights the need to bridge the gap, as the speaker attempts to do, to ensure that both fields can effectively collaborate and understand each other's perspectives and methodologies.

  • What is the role of a technical artist?

    -A technical artist is a professional who works at the intersection of art and technology. They often deal with creating visual solutions to problems in games, which can include rendering, shader development, and other artistic and programming tasks that require a blend of artistic vision and technical skill.

  • What is the basis of the complex plane?

    -The basis of the complex plane consists of a real axis and an imaginary axis. These are used to represent complex numbers, which can be thought of as 2D vectors with a real part and an imaginary part.

  • How does the concept of natural numbers relate to the discussion of vector multiplication?

    -The concept of natural numbers is used as an analogy to explain the limitations of certain mathematical operations. Just as natural numbers are closed under addition and multiplication but not under subtraction, the talk explores whether vectors can undergo a similar operation of multiplication while remaining within the realm of vectors.

  • What is the result of multiplying two vectors in the context of the talk?

    -The result of multiplying two vectors, as explored in the talk, is not another vector but rather a quaternion, which is a more complex mathematical object that extends the properties of vectors and complex numbers.

  • What is the Clifford algebra?

    -Clifford algebra, also mentioned as geometric algebra in the talk, is a mathematical framework that generalizes complex numbers, quaternions, and other hypercomplex number systems. It allows for a unified treatment of various geometric objects such as points, lines, and planes.

  • How does the concept of curvature relate to the discussion in the talk?

    -The concept of curvature is brought up to illustrate how the wedge product, a part of geometric algebra, can be used to calculate curvature in a more generalized and simplified manner across different dimensions.

  • What are bivector and rotor components in the context of geometric algebra?

    -In geometric algebra, a bivector represents an oriented plane with an area, while a rotor is a combination of a scalar (real number) and a bivector. These components are part of a multivector, which encapsulates scalars, vectors, bivectors, and in 3D, also trivectors.

Outlines
00:00
๐Ÿ˜€ Introduction to Mathematical Concepts in Game Development

The speaker, Freya, an independent game developer and educator, introduces the topic of mathematics in game development. She expresses her passion for math and its deep integration into game development processes. Freya discusses her journey from an environment artist to learning programming and delving into math. She addresses the perceived divide between math and programming and her goal to bridge this gap. She also outlines her professional background, including co-founding NE Corp, developing games like Budget Cuts, and creating Unity plugins.

05:01
๐Ÿงฎ Vector Multiplication and Mathematical Operations

Freya delves into the question of why vectors can't be multiplied using traditional arithmetic, which leads to an exploration of different types of vector products, such as the dot product, cross product, and Hadamard product. She explains the concept of a canonical product and how multiplying vectors doesn't result in a simple vector output, thus complicating the idea of a straightforward multiplication.

10:03
๐Ÿค” The Realm of Natural Numbers and Mathematical Closure

The speaker discusses the concept of mathematical closure in different number sets, starting with natural numbers, which are not closed under subtraction, leading to the introduction of integers. She explains that integers are closed under addition, multiplication, and subtraction, but not division, which introduces rational numbers. The exploration continues with exponentiation and the introduction of real numbers and complex numbers, which are closed under all operations.

15:04
๐Ÿ“ Interpreting Complex Numbers as Vectors

Freya draws parallels between complex numbers and vectors, noting their similar component structures. She explains how complex numbers can be visualized in a complex plane, analogous to a 2D vector space. The multiplication of complex numbers is explored, leading to an algebraic formula that results in another complex number, demonstrating the closure of complex numbers under multiplication.

20:05
๐Ÿ” Investigating the Algebraic Structure of Vector Multiplication

The speaker attempts to multiply two vectors directly, resulting in an algebraic expression that does not simplify to a standard vector. This leads to the conclusion that vectors are not closed under multiplication. However, the exploration doesn't end there; Freya seeks to understand the resulting algebraic structure, which she likens to a quest for knowledge.

25:08
๐ŸŒŸ The Divine Axiom and Vector Squared

Freya introduces a 'divine axiom' that states when a vector is multiplied by itself (squared), the result is the length of the vector squared. Using this axiom, she explores the multiplication of basis vectors and discovers that certain components, like YZ, ZX, and XY, behave similarly to the cross product. This leads to the accidental discovery of the dot product and the cross product through algebraic manipulation.

30:09
๐Ÿ› ๏ธ The Emergence of Quaternions and Complex Numbers from Vector Multiplication

The talk continues with the exploration of the algebraic constructs resulting from vector multiplication, leading to the emergence of quaternions in 3D and complex numbers in 2D. Freya explains that these constructs are not simply vectors but have their algebraic behaviors, which are foundational to understanding geometric algebra and Clifford algebra.

35:10
๐Ÿ“ฆ Generalized Curvature and Geometric Algebra

Freya connects the concept of curvature in mathematics and physics to the algebraic structures discussed earlier. She shows how the wedge product can simplify the understanding and calculation of curvature in various dimensions. The talk concludes with a discussion on geometric algebra, specifically Clifford algebra, and how it provides a unified framework for understanding complex numbers, quaternions, and the cross product.

40:10
๐Ÿ”ฉ Future Explorations and Tool Development

The speaker shares her ongoing work with quaternionic splines in a library for Unity and her interest in exploring further mathematical concepts. She discusses the potential application of her findings in game development and her YouTube channel's educational content. Freya also addresses questions about the practical use of the concepts presented, the possibility of her tools being adapted for other engines, and her future plans.

45:12
๐Ÿ“Œ Conclusion and Invitation for Further Discussion

Freya concludes the talk by thanking the audience for their attention and opens the floor for questions. She expresses her enthusiasm for sharing knowledge and invites the audience to discuss further or approach her after the talk. The speaker also hints at a potential return to game development and the possibility of creating standalone tools.

Mindmap
Keywords
๐Ÿ’กVector
A vector is a quantity that has both magnitude and direction. In the context of the video, vectors are used to represent points in space or directions. The video explores the mathematical operations that can be performed with vectors, particularly focusing on why traditional multiplication is not defined for vectors and what alternatives exist, such as the dot product and cross product.
๐Ÿ’กDot Product
The dot product, also known as the scalar product, is an operation that takes two vectors and returns a single number (scalar). It is defined as the product of the magnitudes of the two vectors and the cosine of the angle between them. In the video, the dot product is mentioned as one of the ways vectors can be 'multiplied' to yield a scalar value, rather than another vector.
๐Ÿ’กCross Product
The cross product is an operation between two vectors in three-dimensional space. It results in a vector that is perpendicular to the plane containing the two input vectors. The length of the cross product vector is equal to the area of the parallelogram defined by the input vectors. In the video, it is discussed as a form of vector multiplication that yields a vector, not a scalar.
๐Ÿ’กQuaternion
A quaternion is a mathematical object that extends complex numbers. It is used in three-dimensional space to represent rotations. Quaternions have a real part and three imaginary parts, and they are particularly useful in computer graphics and game development for smooth and continuous rotations. The video touches on quaternions in the context of spline interpolations for rotations.
๐Ÿ’กGeometric Algebra
Geometric algebra is a unifying framework for various geometric and algebraic operations that are used in physics and engineering. It generalizes the concepts of points, lines, and planes into multivectors, which can be added, multiplied, and divided in a geometrically intuitive way. The video introduces geometric algebra as a way to understand the multiplication of vectors, leading to the discovery of the dot product and cross product as side effects.
๐Ÿ’กBivector
A bivector is an element of the geometric algebra that represents an oriented area with a magnitude. It is a multivector with two vector components. In the video, the concept of bivectors is introduced as a result of multiplying two vectors, which leads to the algebraic structure resembling quaternions in three dimensions and complex numbers in two dimensions.
๐Ÿ’กWedge Product
The wedge product is an operation in geometric algebra that combines two vectors to produce a bivector. It is used to represent the oriented area spanned by the two vectors. The video explains that the wedge product generalizes the cross product and results in a bivector, which is a natural extension of the concept of vectors.
๐Ÿ’กScalar
A scalar is a simple number, as opposed to a vector or tensor, that represents a quantity without direction. Scalars are the result of certain operations like the dot product of two vectors. The video discusses scalars in the context of vector operations, emphasizing that the dot product of a vector with itself yields the square of the vector's magnitude.
๐Ÿ’กComplex Numbers
Complex numbers are numbers that consist of a real part and an imaginary part. They are used in two-dimensional space and can be represented as points on a complex plane. The video draws an analogy between complex numbers and 2D vectors, showing that multiplication of complex numbers shares similarities with the geometric product of vectors.
๐Ÿ’กQuaternionic Splines
Quaternionic splines are a mathematical tool used to interpolate rotations in three-dimensional space using quaternions. They are a topic of interest for the speaker, who is developing a spline library for Unity that includes quaternionic splines. The video mentions quaternionic splines as part of the ongoing work and exploration in the field of game development and mathematics.
๐Ÿ’กGame Development
Game development is the process of creating a video game. The video is given by a game developer and educator, who discusses the mathematical underpinnings of game development, particularly focusing on the mathematical operations involving vectors which are fundamental in creating visuals and physics in games.
Highlights

Freya, an independent game developer and educator, aims to inspire attendees to consider the underlying math in games more deeply.

The talk challenges the common misconception that vectors cannot be multiplied, exploring the math behind this statement.

Set theory and quaternions are introduced as fundamental to understanding the complexities of game development and math.

Freya's journey from an environment artist to a tech artist deeply involved with math and programming is outlined.

The divide between math and programming is discussed, with Freya's goal to bridge this gap in the game development community.

The concept of summation symbols and the Capital Pi operator are explained in the context of for loops and multiplication.

Freya's work with NE Corp and the development of games like 'Budget Cuts' and 'Budget Cuts 2' is highlighted.

The creation of Unity plugins Shader Forge and Shapes, and the upcoming spline plugin, are mentioned.

The importance of understanding how to render lines aesthetically in games is emphasized.

Freya's exploration into quaternionic splines for interpolating orientations is discussed.

The anatomy of a vector is explained, including its components and basis in a coordinate system.

The difference between the dot product, cross product, and Hadamard product of vectors is clarified.

The natural numbers, integers, rational numbers, real numbers, and complex numbers are introduced to build a mathematical foundation.

The concept of a complex plane and its similarity to vector representation is explored.

The multiplication of complex numbers is demonstrated, leading to an understanding of vector multiplication.

The realization that vector multiplication results in a quaternion, which has implications for 3D game development.

The idea that geometric algebra, specifically Clifford algebra, provides a generalized framework for understanding various mathematical constructs is presented.

The practical application of these concepts in game development, such as the use of quaternions for rotations, is discussed.

Freya's future plans to explore quaternionic splines and their integration into a Unity library are shared.

The potential for standalone tools outside of specific engines like Unity is considered for future development.

Transcripts
Rate This

5.0 / 5 (0 votes)

Thanks for rating: