Skip to main content

Vectors as arrows

A vector is a length and a direction, drawn as an arrow that may sit anywhere. Learn to tell when two arrows are the same vector, to find an arrow’s length from its run and rise, and to meet the zero vector, before any coordinates are attached.
M02.1.1L1 Core25 minIn review

Before this lesson

M01.1 Numbers, algebra and notation M01.2 Coordinates and a first look at vectors

After this lesson you can

  • Describe a vector as a length together with a direction, and name the tail and the tip of an arrow that draws it.
  • Decide whether two arrows on a grid are the same vector by comparing their run and their rise.
  • Compute the length of an arrow from its run and rise with Pythagoras’ theorem.
  • Explain what the zero vector is and why it has no direction.

In review. The maths and code on this page are checked by automated tests on every change, but an independent reader has not signed it off yet. Spot a mistake or a confusing step? Tell us.

The question

A weather report says the wind is blowing at 20 kilometres an hour. That is not enough to fly a kite, land a plane or plan a bike ride: you also need to know which way it blows. What do you call a quantity that needs a size and a direction, how do you draw one, and when are two of them the same?

Intuition

Some quantities are complete with one number. The temperature is 18 degrees. The bag weighs 3 kilograms. A quantity like that is called a scalar.

Other quantities are not complete until you say which way. The wind blows at 20 kilometres an hour towards the north-east. You walk 5 kilometres up the valley. A quantity with a size and a direction is called a vector.

We draw a vector as an arrow. The length of the arrow shows the size, and the way the arrow points shows the direction. The end where the arrow starts is its tail. The pointed end is its tip.

Two panels. The left panel, titled One arrow: a length and a direction, shows a single blue arrow on a grid. Its starting end is labelled tail, its pointed end is labelled tip, the words length 5 run along it, and a green curved arrow from a dashed horizontal line up to the arrow is labelled direction. The right panel, titled Slide it anywhere: the same vector, shows a coordinate plane with three identical blue arrows in three different places, each labelled v. One of them starts at the origin and a note says this copy starts at the origin. Another note says same length, same direction. A sentence underneath reads: a vector is a length and a direction; where its arrow is drawn does not matter.
M02.1.1-F1

An arrow has a tail, a tip, a length and a direction. The vector is only the last two. Slide the arrow anywhere, without turning or stretching it, and it still draws the same vector \(\vect{v}\).

The right-hand panel holds the surprise. The place where the arrow is drawn is not part of the vector. “Walk 5 kilometres north-east” is the same instruction whether you start at the station or at the school. One vector can be drawn as many arrows, as long as they all have the same length and point the same way.

Machine learning is full of instructions of this kind. Each time a model learns from an example, it is told which way to nudge its adjustable numbers and how far. That nudge is a vector.

Build it up

To work with arrows we need a way to compare them that does not rely on the eye. Squared paper gives one.

Step 1. Put the arrow on a grid. Take the arrow whose tail is at the point \((1, 1)\) and whose tip is at the point \((5, 4)\). Each grid square is one kilometre.

Step 2. Go from tail to tip in two moves. First move across, then move up. For this arrow you go 4 squares across and 3 squares up. Call the first number the arrow’s run and the second its rise. Each is found by a subtraction, tip minus tail:

\[ \begin{aligned} \text{run} &= 5 - 1 = 4, \\ \text{rise} &= 4 - 1 = 3 . \end{aligned} \]

A negative run means “go left” and a negative rise means “go down”.

Step 3. The two moves and the arrow make a right-angled triangle. The run and the rise are its two short sides, and the arrow is its long side. Pythagoras’ theorem then gives the arrow’s length:

\[ \begin{aligned} \text{length} &= \sqrt{4^2 + 3^2} = \sqrt{16 + 9} \\ &= \sqrt{25} = 5 . \end{aligned} \]

Two panels showing the same blue arrow on a grid, from the point (1, 1) to the point (5, 4). In the left panel, titled Run and rise: tip minus tail, a dashed green horizontal line under the arrow is labelled run equals 5 minus 1 equals 4, and a dashed green vertical line at its right end is labelled rise equals 4 minus 1 equals 3. The two dashed lines meet at a right angle. In the right panel, titled Pythagoras gives the length, the same triangle has its sides labelled 4, 3 and 5, and above it is written: the square root of 4 squared plus 3 squared equals the square root of 25 equals 5.
M02.1.1-F2

Left: the run and the rise are read off the grid by subtracting, tip minus tail. Right: together with the arrow they form a right-angled triangle, so Pythagoras gives the length.

Step 4. Slide the arrow and measure again. Move the whole arrow 2 squares right and 1 square down. Its tail is now at \((3, 0)\) and its tip at \((7, 3)\). The run is \(7 - 3 = 4\) and the rise is \(3 - 0 = 3\), exactly as before. The run and the rise belong to the vector, not to the place where its arrow happens to be drawn.

So here is the test: two arrows are the same vector when they have the same run and the same rise. The next section shows why this agrees with “same length and same direction”.

The formal statement

NoteDefinition: vector, equal vectors

A vector in the plane is a length together with a direction. An arrow from a point \(P\), its tail, to a point \(Q\), its tip, represents the vector whose length is the distance from \(P\) to \(Q\) and whose direction is the direction of travel from \(P\) to \(Q\).

Two arrows represent the same vector when they have the same length and the same direction. Where the arrows sit plays no part. (One vector, the zero vector below, has no direction.)

A vector is written as a bold lower-case letter, \(\vect{v}\). By hand, where bold is awkward, people write \(\vec{v}\). The length of \(\vect{v}\) is written \(\norm{\vect{v}}\).

For an arrow from \(P = (p_1, p_2)\) to \(Q = (q_1, q_2)\), define

\[ \begin{aligned} \text{run} &= q_1 - p_1, \\ \text{rise} &= q_2 - p_2 . \end{aligned} \]

Four results follow.

Result 1: the length. Walk from \(P\) horizontally to the point \((q_1, p_2)\), then vertically to \(Q\). The first leg has length \(\abs{q_1 - p_1} = \abs{\text{run}}\) and the second has length \(\abs{q_2 - p_2} = \abs{\text{rise}}\). The legs meet at a right angle and the arrow is the side opposite it, so by Pythagoras’ theorem

\[ \begin{aligned} \norm{\vect{v}}^2 &= \abs{\text{run}}^2 + \abs{\text{rise}}^2 \\ &= \text{run}^2 + \text{rise}^2, \\ \text{so}\quad \norm{\vect{v}} &= \sqrt{\text{run}^2 + \text{rise}^2} . \end{aligned} \]

If the run or the rise is zero there is no triangle, but the formula still holds: a horizontal arrow has length \(\sqrt{\text{run}^2 + 0} = \abs{\text{run}}\).

Result 2: a slide changes neither the run nor the rise. A slide moves every point by the same amounts, say \(h\) across and \(k\) up. The tail goes to \((p_1 + h,\; p_2 + k)\) and the tip to \((q_1 + h,\; q_2 + k)\). Then

\[ \begin{aligned} \text{new run} &= (q_1 + h) - (p_1 + h) \\ &= q_1 - p_1, \\ \text{new rise} &= (q_2 + k) - (p_2 + k) \\ &= q_2 - p_2 . \end{aligned} \]

By Result 1 the length is unchanged too. And a slide does not turn anything, so the direction is unchanged. A slid arrow represents the same vector.

Result 3: same vector exactly when same run and same rise. There are two things to show.

Same run and rise gives the same vector. Let one arrow go from \(P\) to \(Q\) and another from \(P'\) to \(Q'\), both with run \(a\) and rise \(b\). So \(Q = (p_1 + a,\; p_2 + b)\) and \(Q' = (p'_1 + a,\; p'_2 + b)\). Slide the first arrow by \(h = p'_1 - p_1\) and \(k = p'_2 - p_2\). Its tail lands on \((p_1 + h,\; p_2 + k) = (p'_1, p'_2) = P'\). Its tip lands on

\[ \begin{aligned} & (p_1 + a + h,\;\; p_2 + b + k) \\ &\quad = (p'_1 + a,\;\; p'_2 + b) = Q' . \end{aligned} \]

The first arrow has slid exactly onto the second. By Result 2 a slide keeps length and direction, so the two arrows represent the same vector.

The same vector gives the same run and rise. Let two arrows have the same length and direction. (If that length is 0, both have run 0 and rise 0.) Slide the first until its tail sits on the tail of the second. It now leaves the same point, in the same direction, and travels the same distance, so it ends at the same tip. The slid arrow is the second arrow. By Result 2 the slide did not change its run or rise, so the two arrows had the same run and rise all along.

Result 4: one arrow from the origin. Every vector has exactly one arrow whose tail is at the origin \((0, 0)\), and the tip of that arrow is the point \((\text{run}, \text{rise})\).

Why. Slide any arrow of the vector by \(h = -p_1\) and \(k = -p_2\). Its tail goes to \((0, 0)\) and its tip to \((q_1 - p_1,\; q_2 - p_2) = (\text{run}, \text{rise})\). There is no second such arrow: by Result 3 every arrow of this vector has the same run and rise, so if its tail is at the origin its tip can only be at \((\text{run}, \text{rise})\).

So a vector of the plane and a point of the plane carry the same information: two numbers. The next lesson starts from exactly this.

The zero vector. Suppose the tail and the tip are the same point. Then the run is 0, the rise is 0 and the length is \(\sqrt{0^2 + 0^2} = 0\). This is the zero vector, written \(\vect{0}\). It is the one vector with no direction, because an arrow of no length points nowhere. It answers the question “where did you end up, compared with where you began?” for someone who walked all the way round the block.

Go deeper: direction as a number

“Direction” can be pinned down by an angle. Let \(\theta\) be the angle from the positive horizontal direction round to the arrow, measured anticlockwise, with \(0^\circ \le \theta < 360^\circ\). Write \(L = \norm{\vect{v}}\) for the length. By the definitions of cosine and sine on a circle of radius \(L\),

\[ \begin{aligned} \text{run} &= L \cos\theta, \\ \text{rise} &= L \sin\theta . \end{aligned} \]

So a length and an angle fix the run and the rise. Conversely, the run and the rise fix \(L\) by Result 1, and when \(L > 0\) they fix \(\cos\theta = \text{run}/L\) and \(\sin\theta = \text{rise}/L\), which is enough to fix one angle between \(0^\circ\) and \(360^\circ\). For the arrow of this lesson, \(\cos\theta = 4/5\) and \(\sin\theta = 3/5\), which gives \(\theta \approx 36.87^\circ\). This is Result 3 again, with the word “direction” replaced by a number.

A slide changes neither the run nor the rise, so it changes neither \(L\) nor \(\theta\). Multiplying the run and the rise by one positive number multiplies \(L\) by it too, so \(\cos\theta\), \(\sin\theta\) and \(\theta\) stay as they were. A negative number reverses both signs, which turns \(\theta\) through \(180^\circ\): the opposite direction.

Worked example

Which of the arrows \(\vect{b}\), \(\vect{c}\) and \(\vect{d}\) is the same vector as \(\vect{a}\)?

A coordinate plane with four arrows, each drawn with dashed lines showing its run and rise. Arrow a, in blue, goes from (1, 1) to (5, 4) and is labelled run 4, rise 3, length 5. Arrow b, in blue, goes from (minus 5, minus 1) to (minus 1, 2) and is labelled run 4, rise 3, same vector as a. Arrow c, in vermillion, goes from (1, minus 1) down to (5, minus 4) and is labelled run 4, rise minus 3, direction differs. Arrow d, in vermillion, is a short arrow from (minus 5, minus 4.5) to (minus 3, minus 3), labelled run 2, rise 1.5, half the length.
M02.1.1-F3

Four arrows and their triangles. Only \(\vect{b}\) has the same run and the same rise as \(\vect{a}\).

For each arrow, subtract tail from tip, then use Result 1.

  • \(\vect{a}\): \((1, 1)\) to \((5, 4)\). Run \(5 - 1 = 4\), rise \(4 - 1 = 3\), length \(\sqrt{16 + 9} = 5\).
  • \(\vect{b}\): \((-5, -1)\) to \((-1, 2)\). Run \(-1 - (-5) = 4\), rise \(2 - (-1) = 3\), length \(\sqrt{16 + 9} = 5\).
  • \(\vect{c}\): \((1, -1)\) to \((5, -4)\). Run \(5 - 1 = 4\), rise \(-4 - (-1) = -3\), length \(\sqrt{16 + 9} = 5\).
  • \(\vect{d}\): \((-5, -4.5)\) to \((-3, -3)\). Run \(-3 - (-5) = 2\), rise \(-3 - (-4.5) = 1.5\), length \(\sqrt{4 + 2.25} = 2.5\).

Now apply Result 3.

  • \(\vect{b}\) has run 4 and rise 3, the same as \(\vect{a}\). It is the same vector, drawn elsewhere.
  • \(\vect{c}\) has the same length, 5, but its rise is \(-3\). It points down where \(\vect{a}\) points up. It is a different vector.
  • \(\vect{d}\) has run 2 and rise 1.5, each half of the matching number for \(\vect{a}\). Its triangle is a half-size copy, so it points the same way, but its length is 2.5. It is a different vector.

Last, where is the tip of \(\vect{a}\) when its tail is at the origin? By Result 4, at \((4, 3)\).

Code

First from scratch, with an arrow stored as a pair of points.

import math

def run_rise(tail, tip):
    """Tip minus tail: how far across and how far up the arrow goes."""
    return (tip[0] - tail[0], tip[1] - tail[1])

def length(tail, tip):
    run, rise = run_rise(tail, tip)
    return math.sqrt(run ** 2 + rise ** 2)

def same_vector(first, second):
    return run_rise(*first) == run_rise(*second)

arrows = {
    "a": ((1, 1), (5, 4)),
    "b": ((-5, -1), (-1, 2)),
    "c": ((1, -1), (5, -4)),
    "d": ((-5, -4.5), (-3, -3)),
}
for name, arrow in arrows.items():
    print(name, run_rise(*arrow), length(*arrow), same_vector(arrow, arrows["a"]))
a (4, 3) 5.0 True
b (4, 3) 5.0 True
c (4, -3) 5.0 False
d (2, 1.5) 2.5 False

Now the same with NumPy, where “tip minus tail” is one subtraction and np.linalg.norm is the length. The last lines slide the arrow at random a thousand times and confirm Result 2.

import numpy as np

tail, tip = np.array([1, 1]), np.array([5, 4])
v = tip - tail
print("run and rise:", v, " length:", np.linalg.norm(v))
print("direction in degrees:", round(float(np.degrees(np.arctan2(v[1], v[0]))), 2))

rng = np.random.default_rng(0)
slides = rng.integers(-100, 100, size=(1000, 2))  # a thousand random slides (h, k)
unchanged = all(np.array_equal((tip + s) - (tail + s), v) for s in slides)
print("run and rise survive every slide:", unchanged)
run and rise: [4 3]  length: 5.0
direction in degrees: 36.87
run and rise survive every slide: True

This is the angle found in the “Go deeper” note above.

Explore

This module’s interactive, the vector playground, lives in lesson M02.1.3. There you drag two arrows and watch their coordinates and their sum update together.

Pitfalls

Three small panels, each with two arrows on a grid. The first, marked with a cross and titled Lengths agree, shows two vermillion arrows of equal length pointing in different directions, with the note directions differ. The second, marked with a cross and titled Reversed, shows two parallel vermillion arrows of equal length pointing opposite ways, with the note opposite directions. The third, marked with a tick and titled Same vector, shows two green arrows of equal length pointing the same way in two different places, with the note only the place differs.
M02.1.1-F4

Wrong beside right. Equal lengths are not enough, and neither is lying along parallel lines. Two arrows are the same vector only when length and direction both agree.

“These two arrows are in different places, so they are different vectors.”

Position is not part of a vector. If the run and the rise agree, the arrows are the same vector, however far apart they are drawn. The thing that does have a position is a point. Lesson M02.1.2 compares the two.

“They have the same length, so they are the same vector.”

Length is half of the story. A wind of 20 kilometres an hour from the north and one of 20 kilometres an hour from the east are different winds. The same holds in machine learning: two training steps of the same size in different directions take a model to different places.

“An arrow and its reverse are the same vector, because they cover the same ground.”

The arrow from \((1, 1)\) to \((5, 4)\) has run 4 and rise 3. The arrow from \((5, 4)\) to \((1, 1)\) has run \(-4\) and rise \(-3\). The lengths agree and the directions are opposite, so the vectors are different. A vector is not a line segment: it knows which end is the tip.

“The zero vector is nothing, so it is not really a vector.”

It is a vector with length 0. Leaving it out would be like doing arithmetic without the number 0. Lesson M02.1.3 needs it as soon as a vector is added to its own reverse.

Check yourself

Recall

1. What two things make up a vector?

Show answer

A length and a direction.

2. What are the two ends of an arrow called?

Show answer

The tail, where it starts, and the tip, the pointed end where it finishes.

3. When do two arrows represent the same vector?

Show answer

When they have the same length and the same direction. On a grid, that is exactly when they have the same run and the same rise.

4. How do you find the run, the rise and the length of an arrow from \(P\) to \(Q\)?

Show answer

Subtract, tip minus tail: run \(= q_1 - p_1\) and rise \(= q_2 - p_2\). The length is \(\sqrt{\text{run}^2 + \text{rise}^2}\).

5. What is the zero vector, and what is unusual about it?

Show answer

The vector whose tail and tip coincide, written \(\vect{0}\). Its length is 0 and it is the only vector with no direction.

Exercises

1. ★ An arrow has its tail at \((2, -1)\) and its tip at \((-4, 7)\). Find its run, its rise and its length.

Show solution

Run \(= -4 - 2 = -6\). Rise \(= 7 - (-1) = 8\). Length \(= \sqrt{(-6)^2 + 8^2} = \sqrt{36 + 64} = \sqrt{100} = 10\).

2. ★★ Arrow \(\vect{p}\) goes from \((0, 3)\) to \((5, 1)\), arrow \(\vect{q}\) from \((-2, -2)\) to \((3, -4)\) and arrow \(\vect{r}\) from \((4, 0)\) to \((-1, 2)\). Which of them are the same vector? Where is the tip of \(\vect{p}\) when its tail is at the origin?

Show solution

\(\vect{p}\): run \(5 - 0 = 5\), rise \(1 - 3 = -2\). \(\vect{q}\): run \(3 - (-2) = 5\), rise \(-4 - (-2) = -2\). \(\vect{r}\): run \(-1 - 4 = -5\), rise \(2 - 0 = 2\).

\(\vect{p}\) and \(\vect{q}\) have the same run and rise, so they are the same vector. \(\vect{r}\) has the same length, \(\sqrt{25 + 4} = \sqrt{29}\), but both signs are reversed: it points the opposite way and is a different vector. With its tail at the origin, \(\vect{p}\) has its tip at \((5, -2)\).

3. ★★★ Two arrows, from \(P\) to \(Q\) and from \(P'\) to \(Q'\), represent the same vector. Show that the arrow from \(P\) to \(P'\) and the arrow from \(Q\) to \(Q'\) also represent one vector.

Show solution

Let the shared run be \(a\) and the shared rise be \(b\), so \(Q = (p_1 + a,\; p_2 + b)\) and \(Q' = (p'_1 + a,\; p'_2 + b)\).

The arrow from \(P\) to \(P'\) has run \(p'_1 - p_1\) and rise \(p'_2 - p_2\). The arrow from \(Q\) to \(Q'\) has run \((p'_1 + a) - (p_1 + a) = p'_1 - p_1\) and rise \((p'_2 + b) - (p_2 + b) = p'_2 - p_2\). The runs agree and the rises agree, so by Result 3 the two arrows are the same vector.

In a picture: the four points are the corners of a parallelogram, and opposite sides of a parallelogram are equal vectors.

Summary card

A vector is a length and a direction. Where its arrow is drawn does not matter.

The anchor figure again: on the left one blue arrow with its tail, tip, length and direction labelled; on the right three identical blue arrows in different places of a coordinate plane, all labelled v, one of them starting at the origin.
M02.1.1-F1

One vector, many arrows.

  • Tip minus tail. For an arrow from \(P\) to \(Q\): run \(= q_1 - p_1\), rise \(= q_2 - p_2\).
  • Same vector. Exactly when the runs agree and the rises agree.
  • Length. \(\norm{\vect{v}} = \sqrt{\text{run}^2 + \text{rise}^2}\).
  • From the origin. Each vector has one arrow with its tail at \((0, 0)\); its tip is \((\text{run}, \text{rise})\).
  • Zero vector. \(\vect{0}\) has length 0 and no direction.

Sources and next steps

Sources. Each was opened and checked against this lesson on 12 November 2026.

  • OpenStax, Calculus Volume 3, Section 2.1, Vectors in the Plane (open access). Defines a vector as a quantity with magnitude and direction, equivalent vectors, the zero vector, a standard-position vector, and the magnitude formula \(\sqrt{x^2 + y^2}\).
  • Sheldon Axler, Linear Algebra Done Right, 4th edition (open access), Section 1A. States that an arrow may be moved parallel to itself, without changing its length or direction, and still be thought of as the same vector.
  • Grant Sanderson, Vectors, what even are they?, 3Blue1Brown, Linear Algebra, chapter 1. What defines a vector is its length and the direction it points, and it can be moved around without changing.
  • Marc Peter Deisenroth, A. Aldo Faisal and Cheng Soon Ong, Mathematics for Machine Learning, Chapter 2 (free PDF). Its opening describes geometric vectors as directed segments, with a direction and a magnitude.

Next. M02.1.2 Vectors as lists of numbers takes Result 4 and turns every arrow into a short list of numbers that a computer can store.

This lesson unlocks

M02.1.2 Vectors as lists of numbers

Your progress is saved in this browser only. No account, no tracking.
Back to top