In school, you learned how to plot points on “math paper”. Here are two example points:
We call the horizontal line x and the vertical line y. We draw a number line on each of them. Then we can describe any point on the paper using the point's position on each line. The red point has x=2 and y=3. What is the x value of the blue point?
No, that's actually the blue point's y value. To get its x value, read across the horizontal.
If a point has x=2 and y=3, a mathematician might write that the point is at (2,3), or . But we will write the point in Python notation:
[2,3]. We call this object
[2,3] a vector.
p = [2,3] is nicer than saying
px = 2 and
py = 3. Everything about the point is packaged in one object, and we don't have to make up names like
So far, we've been describing 2D space. The kind of space that old arcade games use. But now imagine a 3D space, like the one you live in. We usually imagine the lines x and y as before, plus a new line called z, which is perpendicular to the x and y lines. Imagine a point q in space which has x=5, y=2, and z=8. How would we write this point in vector notation?
Right, we're writing the vector in the order
You're not exactly wrong! Normally, we would write the vector in the order
[x,y,z]. But this is just a convention, and we certainly could write it as
[z,x,y], as you did. Let's continue with the order
Consider the point
[1,0,1,0,1]. It “lives” in some space. How many dimensions does that space have?
Mathematicians call this space R5. (Don't take the “to the power of 5” too seriously -- it's just notation.)
Which of these vectors lives in R1?
Now it's your chance to implement “vector-scalar multiplication”. Here's a Python shell for you to use: