# Advanced C++ Programming Tutorial 3

From Chilipedia

The vector dot product. This saucy little number is gonna turn your world upside down, project it, and other such bullshits. Super powerful math stuff do not missit.

## Contents

## Topics

### Part 1

- Vector dot product
- Collision rebound physics calculation via vector operations

### Part 2

- Detecting collision
- Implementing vector collision response (rebound) calculation

## Video Timestamp Index

### Tutorial 3.1

- Introduction: using the vector dot product for rigid body physics problems 0:28

- E.g., ball bouncing off a wall (line in 2D) with an arbitrary inclination
- Using vector operations instead of angles & trigonometry

- What is a dot product? 2:52

- Basically: take vectors j and i: how much does a line j go in the direction of i
- If j and i are perpendicular, their dot product is 0

- How to calculate the dot product 5:54

- Most common usage: "dot with a unit vector" 10:51

- Determines how much a vector is going in the direction of the unit vector

### Tutorial 3.2

- Introducing the simuluation setup: plank and balls 0:38
- Coding the
`Plank`

class 1:08 - Coding the
`Ball`

class 4:08 - Spawning new balls and destructing when out of bounds 5:24
- Detecting ball collision 6:06
- Resolving ball collision (bounce) 15:20
- Homework assignment 18:50

## Links

## Homework

Fix the funky bug in the collision code.