Inverting a 2x2 Matrix by Hand

?

?

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)

X, ShiftSpace Toggle category and focus previous

v Invert topics / media as per focus

# Keyboard Navigation

## Global Keys

[, < / ], > Jump to previous / next episodeW, 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

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 nextX, 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)⏫

Previous: 'Inverse and Transpose Matrices'

⏫

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

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

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

56:06Q&A

🗩

56:06Q&A

🗩

56:06Q&A

🗩

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: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

🗩

⏬

Next: 'Multiple OpenGL Render Targets'

⏬