Difference between revisions of "FSOSS 2010/processing.js/vectors"

From CDOT Wiki
Jump to: navigation, search
(Created page with '<b>Vectors</b> <ul> <li>Object with a direction and magnitude (length)</li> <li>Typically represented using coordinates for simplicity</li> <li>Used for storing position, velo…')
 
 
(3 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
  <li>Used for storing position, velocity, acceleration, etc.</li>
 
  <li>Used for storing position, velocity, acceleration, etc.</li>
 
  <li>Processing has a built-in <b>PVector</b> object for 2D and 3D</li>
 
  <li>Processing has a built-in <b>PVector</b> object for 2D and 3D</li>
 +
</ul>
 +
 +
<b>Operations</b><br />
 +
<br />
 +
<b>Addition</b>
 +
<ul>
 +
  <li>Graphically -> add head to tail</li>
 +
  <li>Algebraically -> add components [3, 3] + [1, 2] = [4, 5]</li>
 +
  <li>PVector.add(v1, v2);</li>
 +
  <li>vec.add(v);</li>
 +
</ul>
 +
 +
<b>Subtraction</b>
 +
<ul>
 +
  <li>Graphically -> flip the direction of one vector, then add</li>
 +
  <li>Algebraically -> subtract components [3, 3] - [1, 2] = [2, 1]</li>
 +
  <li>PVector.sub(v1, v2);</li>
 +
  <li>vec.sub(v);</li>
 +
</ul>
 +
 +
<b>Scale</b>
 +
<ul>
 +
<li>Graphically -> stretch or shrink</li>
 +
<li>Algebraically -> multiply components by scalar [1,3] * 2 = [2, 6]</li>
 +
<li>PVector.mult(float);</li>
 +
</ul>
 +
 +
<b>Calculate Magnitude</b>
 +
<ul>
 +
  <li>Graphically -> measure length</li>
 +
  <li>Algebraically -> use Pythagorean theorem</li>
 +
  <li>PVector.mag()</li>
 
</ul>
 
</ul>

Latest revision as of 07:05, 28 October 2010

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()