Skip to content

Instantly share code, notes, and snippets.

@bjhomer
Last active December 16, 2015 03:29
Show Gist options
  • Save bjhomer/5369684 to your computer and use it in GitHub Desktop.
Save bjhomer/5369684 to your computer and use it in GitHub Desktop.
Explaining complex multiplication as rotation.

Imagine that a number line lives on a 2D plane. "Positive" on the number line is in the 0° direction, and "Negative" on the number line is in the 180° direction.

"1" is a vector of length 1, pointing in the direction 0°.

"-3" is a vector of length 3, pointing in the direction 180°.

Multiplication of these vectors can be understood as multiplying the lengths and adding the angle of each vector.

"1 * -3" is a vector of length (1*3 = 3), pointing in the direction (0° + 180° = 180°). In other words, "1 * -3" is a vector of length 3, pointing in the negative direction.

Likewise, "-2 * -6" is a vector of length 12 in the drection (180° + 180° = 360°) = 0°

So far, this hasn't added anything to what we learned in elementary school. But what happens if we use other angles? What if, say, we used 90°?

Vector X will be of length 2, pointing in the direction 90°.
Vector Y will be of length 3, pointing in the direction 90°.

What do we get from X * Y?
A vector length 6, pointing in the direction 90+90=180°. In other words, -6.

But what would a vector in the direction 90° mean? That's 'i', the supposedly imaginary number. Multiplying by 'i' rotates you 90°. So multiplying by 'i' twice rotates you 180°.

So 1 * i * i = -1, because we took a vector of length 1 in the positive direction, and rotated it by 90° twice, until it ended up pointing in the negative direction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment