Handmade Hero»Episode Guide
Inverting a 2x2 Matrix by Hand
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu Movement

a
w
s
d
h j k l


Quotes and References Menus

Enter Jump to timecode

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
0:14Recap and set the stage for the day
0:14Recap and set the stage for the day
0:14Recap and set the stage for the day
1:54Blackboard: Inverting a 2x2 Matrix
1:54Blackboard: Inverting a 2x2 Matrix
1:54Blackboard: Inverting a 2x2 Matrix
3:28Blackboard: Producing the four scalar equations for the inverse of the A matrix
3:28Blackboard: Producing the four scalar equations for the inverse of the A matrix
3:28Blackboard: Producing the four scalar equations for the inverse of the A matrix
8:40Blackboard: Solve for y by back-substituting
8:40Blackboard: Solve for y by back-substituting
8:40Blackboard: Solve for y by back-substituting
12:08Blackboard: Simplify the term for y
12:08Blackboard: Simplify the term for y
12:08Blackboard: Simplify the term for y
14:14Blackboard: Solve for x, noting how it is a similar term to that for y
14:14Blackboard: Solve for x, noting how it is a similar term to that for y
14:14Blackboard: Solve for x, noting how it is a similar term to that for y
16:14Blackboard: Consider taking a shortcut to the solutions for z and w
16:14Blackboard: Consider taking a shortcut to the solutions for z and w
16:14Blackboard: Consider taking a shortcut to the solutions for z and w
17:36Blackboard: Solve for w
17:36Blackboard: Solve for w
17:36Blackboard: Solve for w
20:53Blackboard: Solve for z
20:53Blackboard: Solve for z
20:53Blackboard: Solve for z
22:08Blackboard: Call for an algebraic blackboard program and note how the terms have the same divisor, before double-checking the workings
22:08Blackboard: Call for an algebraic blackboard program and note how the terms have the same divisor, before double-checking the workings
22:08Blackboard: Call for an algebraic blackboard program and note how the terms have the same divisor, before double-checking the workings
24:16Blackboard: Try multiplying our new matrix by the original one in order to see if we end up with the identity matrix
24:16Blackboard: Try multiplying our new matrix by the original one in order to see if we end up with the identity matrix
24:16Blackboard: Try multiplying our new matrix by the original one in order to see if we end up with the identity matrix
26:33Blackboard: Double-check the workings for z
26:33Blackboard: Double-check the workings for z
26:33Blackboard: Double-check the workings for z
27:27Blackboard: Compact our inverse of the A matrix
27:27Blackboard: Compact our inverse of the A matrix
27:27Blackboard: Compact our inverse of the A matrix
28:17Blackboard: Mnemonically remembering the determinant of a 2D matrix
28:17Blackboard: Mnemonically remembering the determinant of a 2D matrix
28:17Blackboard: Mnemonically remembering the determinant of a 2D matrix
29:42Blackboard: Matrix transpose vs matrix inverse
29:42Blackboard: Matrix transpose vs matrix inverse
29:42Blackboard: Matrix transpose vs matrix inverse
33:21Blackboard: Our actual equation for doing the UV mapping
33:21Blackboard: Our actual equation for doing the UV mapping
33:21Blackboard: Our actual equation for doing the UV mapping
36:15Run the game and demo the current situation
36:15Run the game and demo the current situation
36:15Run the game and demo the current situation
36:41handmade_render.cpp: Look through how DrawRectangleQuickly() is currently working
36:41handmade_render.cpp: Look through how DrawRectangleQuickly() is currently working
36:41handmade_render.cpp: Look through how DrawRectangleQuickly() is currently working
39:00Blackboard: Note that we can compute UxVy - UyVx ahead of time, keeping the code otherwise identical
39:00Blackboard: Note that we can compute UxVy - UyVx ahead of time, keeping the code otherwise identical
39:00Blackboard: Note that we can compute UxVy - UyVx ahead of time, keeping the code otherwise identical
40:08handmade_render.cpp: Make DrawRectangleQuickly() compute the variables according to our equation
40:08handmade_render.cpp: Make DrawRectangleQuickly() compute the variables according to our equation
40:08handmade_render.cpp: Make DrawRectangleQuickly() compute the variables according to our equation
43:24Run the game, see that it's not right and investigate why
43:24Run the game, see that it's not right and investigate why
43:24Run the game, see that it's not right and investigate why
48:18build.bat: Switch to -Od, break into DrawRectangleQuickly() and inspect the values
48:18build.bat: Switch to -Od, break into DrawRectangleQuickly() and inspect the values
48:18build.bat: Switch to -Od, break into DrawRectangleQuickly() and inspect the values
52:00handmade_render.cpp: Make DrawRectangleQuickly() correctly compute the nXAxis and nYAxis
52:00handmade_render.cpp: Make DrawRectangleQuickly() correctly compute the nXAxis and nYAxis
52:00handmade_render.cpp: Make DrawRectangleQuickly() correctly compute the nXAxis and nYAxis
52:24Run the game and see that it now works perfectly
52:24Run the game and see that it now works perfectly
52:24Run the game and see that it now works perfectly
53:23A few words on the importance of understanding maths concepts in diagnosing and solving programming problems
53:23A few words on the importance of understanding maths concepts in diagnosing and solving programming problems
53:23A few words on the importance of understanding maths concepts in diagnosing and solving programming problems
56:06Q&A
🗩
56:06Q&A
🗩
56:06Q&A
🗩
56:43Miblo Semi-off-topic: Any chance you could describe a little more what you'd want of an algebraic blackboard program?
🗪
56:43Miblo Semi-off-topic: Any chance you could describe a little more what you'd want of an algebraic blackboard program?
🗪
56:43Miblo Semi-off-topic: Any chance you could describe a little more what you'd want of an algebraic blackboard program?
🗪
57:18Blackboard: Why Casey Doesn't Like Mathematica
57:18Blackboard: Why Casey Doesn't Like Mathematica
57:18Blackboard: Why Casey Doesn't Like Mathematica
1:02:37thesizik Whoa...
🗪
1:02:37thesizik Whoa...
🗪
1:02:37thesizik Whoa...
🗪
1:02:48areriff Will there be more things like this that require math like this in further parts of the game? Although it was pretty basic, my math is a bit rusty
🗪
1:02:48areriff Will there be more things like this that require math like this in further parts of the game? Although it was pretty basic, my math is a bit rusty
🗪
1:02:48areriff Will there be more things like this that require math like this in further parts of the game? Although it was pretty basic, my math is a bit rusty
🗪
1:06:35bryanwwag Do you consider math to be more of a tool to solve problems or more of a learned art to be mastered?
🗪
1:06:35bryanwwag Do you consider math to be more of a tool to solve problems or more of a learned art to be mastered?
🗪
1:06:35bryanwwag Do you consider math to be more of a tool to solve problems or more of a learned art to be mastered?
🗪
1:08:38lkey144 Googling what I believe you wanted turned up: http://reduce-algebra.com/ Automatic and user-controlled simplification of expressions and calculations with symbolic matrices
🗪
1:08:38lkey144 Googling what I believe you wanted turned up: http://reduce-algebra.com/ Automatic and user-controlled simplification of expressions and calculations with symbolic matrices
🗪
1:08:38lkey144 Googling what I believe you wanted turned up: http://reduce-algebra.com/ Automatic and user-controlled simplification of expressions and calculations with symbolic matrices
🗪
1:09:17symbolic_butt I just wanted to note how your intuition of the transform seemed really important at finding the bug, way more important than typing the correct formula. Uh no wait
🗪
1:09:17symbolic_butt I just wanted to note how your intuition of the transform seemed really important at finding the bug, way more important than typing the correct formula. Uh no wait
🗪
1:09:17symbolic_butt I just wanted to note how your intuition of the transform seemed really important at finding the bug, way more important than typing the correct formula. Uh no wait
🗪
1:14:46zilarrezko I actually just learned about determinants in Linear Algebra today. Do you think we will see them later on? Are determinants used often?
🗪
1:14:46zilarrezko I actually just learned about determinants in Linear Algebra today. Do you think we will see them later on? Are determinants used often?
🗪
1:14:46zilarrezko I actually just learned about determinants in Linear Algebra today. Do you think we will see them later on? Are determinants used often?
🗪
1:15:48gasto5 Do you get annoyed by some symbols meaning different things in different subcategories of math?
🗪
1:15:48gasto5 Do you get annoyed by some symbols meaning different things in different subcategories of math?
🗪
1:15:48gasto5 Do you get annoyed by some symbols meaning different things in different subcategories of math?
🗪
1:17:06cubercaleb What about 3D with an isometric view?
🗪
1:17:06cubercaleb What about 3D with an isometric view?
🗪
1:17:06cubercaleb What about 3D with an isometric view?
🗪
1:18:10jpmontielr What do you think of Khan Academy as a math learning resource?
🗪
1:18:10jpmontielr What do you think of Khan Academy as a math learning resource?
🗪
1:18:10jpmontielr What do you think of Khan Academy as a math learning resource?
🗪
1:19:39cubercaleb Yeah, I mean a 2D game that is drawn in 3D
🗪
1:19:39cubercaleb Yeah, I mean a 2D game that is drawn in 3D
🗪
1:19:39cubercaleb Yeah, I mean a 2D game that is drawn in 3D
🗪
1:20:47lkey144 Recognizing "the kinds of things you are working with, and the kind of problem you are working on" is a fundamental skill. I'm not all that sure how to teach that directly, though, beyond doing something like what you are doing here, and / or repeated experience with solving problems
🗪
1:20:47lkey144 Recognizing "the kinds of things you are working with, and the kind of problem you are working on" is a fundamental skill. I'm not all that sure how to teach that directly, though, beyond doing something like what you are doing here, and / or repeated experience with solving problems
🗪
1:20:47lkey144 Recognizing "the kinds of things you are working with, and the kind of problem you are working on" is a fundamental skill. I'm not all that sure how to teach that directly, though, beyond doing something like what you are doing here, and / or repeated experience with solving problems
🗪
1:24:57Imagining a series that is more focused on mathematical problem identification and solving
🗩
1:24:57Imagining a series that is more focused on mathematical problem identification and solving
🗩
1:24:57Imagining a series that is more focused on mathematical problem identification and solving
🗩
1:26:10Close down
🗩
1:26:10Close down
🗩
1:26:10Close down
🗩