FSOSS 2010/processing.js/vectors
Vectors
- Object with a direction and magnitude (length)
- Typically represented using coordinates for simplicity
- Used for storing position, velocity, acceleration, etc.
- Processing has a built-in PVector object for 2D and 3D
Operations
Addition
- Graphically -> add head to tail
- Algebraically -> add components [3, 3] + [1, 2] = [4, 5]
- PVector.add(v1, v2);
- vec.add(v);
Subtraction
- Graphically -> flip the direction of one vector, then add
- Algebraically -> subtract components [3, 3] - [1, 2] = [2, 1]
- PVector.sub(v1, v2);
- vec.sub(v);
Scale
- Graphically -> stretch or shrink
- Algebraically -> multiply components by scalar [1,3] * 2 = [2, 6]
- PVector.mult(float);
Calculate Magnitude
- Graphically -> measure length
- Algebraically -> use Pythagorean theorem
- PVector.mag()