Winding Number

Our aim is to understand the winding number in the Euclidean plane $\mathbb{R}^{2}$ and extend it to a more general topological setting.


Angles in the plane

  • When considering an angle formed by a vector in the plane, we consider that it is not single valued but rather an element of class $[\phi] = {\phi + 2\pi n : n \in \mathbb{Z}}$ of the quotient set $\mathbb{R}/(2\pi\mathbb{R})$.
  • For example: Consider $\vec{a} = (1, 1) \in \mathbb{R}^{2}$, then, $\arg{\vec{a}} = \frac{\pi}{4} + 2\pi n, n \in \mathbb{Z} = [\frac{\pi}{4}]$. We should also note that $\mathbb{R}/(2\pi\mathbb{R})$ is an abelian group.
  • To avoid this, we restrict $\arg$ to $\bar{\arg}$ where $\phi \in (-\pi, \pi]$.

Angle subtended by a line segment

  • If we let $\mathbf{a}, \mathbf{b}$ be two points in the place $\mathbb{R}^{2}$, then we denote $[\mathbf{a}, \mathbf{b}]$ as the directed line segment from $\mathbf{a}$ to $\mathbf{b}$. We parameterize this as: $$ \begin{equation} \gamma : [0, 1] \to \mathbb{R}^{2}; \gamma(t) = \mathbf{a} + t (\mathbf{b} - \mathbf{a}) \end{equation} $$
  • Define the support of $[\mathbf{a}, \mathbf{b}]$ as $| [\mathbf{a}, \mathbf{b}] |$ where $$ \begin{equation} |[\mathbf{a}, \mathbf{b}]| = {\mathbf{a} + t (\mathbf{b} - \mathbf{a}); t\in [0, 1]}. \end{equation} $$
  • It is the collection of points on our line segment.
  • Definition (Angle Co-cycle). Let $\mathbf{a}, \mathbf{b} \in \mathbb{R}^{2}$ and suppose that $0 \notin |[\mathbf{a}, \mathbf{b}]|$, then we define $\theta([\mathbf{a}, \mathbf{b}], 0)$ as the unique $\theta \in (-\pi, \pi)$ such that $[\theta] = \arg(\mathbf{b}) - \arg(\mathbf{a})$.
  • More generally we can define $\theta([a, b], \mathbf{x})$ as $\theta([\mathbf{a} - \mathbf{x}, \mathbf{b} - \mathbf{x}], 0)$. This angle co-cycle function is continuous over its domain $\mathbb{R}^{2} - |[\mathbf{a}, \mathbf{b}]|$.


  • Basic idea is how many times a curve winds around a point.
  • Let $\mathbf{x} \in \mathbb{R}^{2}$ plane and let $\gamma$ be an oriented closed curve in $\mathbb{R} - {\mathbf{x}}$. The winding number $w(\gamma, \mathbf{x})$ can be defined as

$$ \begin{equation} w(\gamma, \mathbf{x}) = ``\text{number of times } \gamma \text{ winds round } \mathbf{x}". \end{equation} $$

  • We define a convention that the winding number is signed: $+$ for counterclockwise rotations about a hole , $-$ for clockwise rotations.

Winding number in discrete setting

  • Definition (Directed Polygon). Let $\gamma = P(\mathbf{a_0}, \mathbf{a_1}, \ldots, \mathbf{a_n})$ denote the polygon whose vertices are $\mathbf{a_0}, \mathbf{a_1}, \ldots, \mathbf{a_n} \in \mathbb{R}^{2}$ and whose edges are the directed line segments i.e. $[\mathbf{a_0}, \mathbf{a_1}], [\mathbf{a_1}, \mathbf{a_2}], \ldots, [\mathbf{a_{n-1}}, \mathbf{a_n}]$. We say that $\gamma$ is a directed polygon.

  • Definition (Closed). It is closed iff $\mathbf{a_0} = \mathbf{a_n}$.

  • Definition (Support). The support of $\gamma$ is the set of points $$ \begin{equation} |\gamma| = \bigcup_{k = 1}^{n} | [ \mathbf{a_{k-1}}, \mathbf{a_k}] | \end{equation} $$ on the edges of $\gamma$.

  • This is a subset of $\mathbb{R}^{2}$. We will often think of $\gamma$ as the sum of its edges: $$ \gamma = \sum_{k = 1}^{n} [\mathbf{a_{k-1}}, \mathbf{a_k}]. $$

  • Since addition is supposed to be commutative, this notation suggests that the order of the edges is not important.

  • Definition (Winding Number). Let $\gamma$ be a directed polygon as defined above, and let $\mathbf{x} \notin |\gamma|$, then we can finally define the winding number, or the number of times our polygon winds around the point $x$ as $$ \begin{equation} w(\gamma, \mathbf{x}) = \frac{1}{2\pi} \sum_{i = 1}^{n} \theta([\mathbf{a_{i - 1}}, \mathbf{a_i}], \mathbf{x}). \end{equation} $$ and $w(\gamma, \mathbf{x}) \in \mathbb{Z}$ (let’s prove it).

  • Theorem: Let $\gamma$ be a closed directed polygon, and let $\mathbf{x} \in \mathbb{R}^{2} - |\gamma|$, then the winding number is an integer.

    Proof. $\forall \mathbf{a_{i}}$ we assign a real number $\phi_{i} \in \arg(\mathbf{a_{i}} - \mathbf{x})$. Choose $\mathbb{R}$ such that our coset $[\phi_{i}] = \arg(\mathbf{a_{i}} - \mathbf{x})$. Assume that the polygon is closed (i.e. $\phi_{0} = \phi_{n}$). $\forall i$ we get

    $$ \begin{equation} \theta([\mathbf{a_{i-1}, \mathbf{a_{i}}}], \mathbf{x}) = \phi_{i} - \phi_{i-1} + 2\pi m_{k} \quad : m_{k} \in \mathbb{Z}. \end{equation} $$ Now. sum all of the terms in our winding number formula, we get $$ \begin{equation} 2\pi w(\gamma, \mathbb{x}) = 2\pi (m_0 + m_1 + \ldots + m_n) \quad : m_i \in \mathbb{Z}. \end{equation} $$ This proves that we always have an integer for our winding number given a closed directed polygon in the plane.

  • Definition (Crossing number). Define $R_{\phi}(\mathbf{x}) = { \mathbf{p} \in \mathbb{R}^{2} - { \mathbf{x}} : \arg(\mathbf{p} - \mathbf{x}) = [\phi] } \bigcup{ \mathbf{x}}$. Or, $R_{\phi}$ is just the ray originating at $\mathbf{x}$ and extending out at an angle $\phi$, then supposing $\mathbf{x} \notin |[\mathbf{a}, \mathbf{b}]|$ and $\mathbf{a}, \mathbf{b} \notin R_{\phi}(\mathbf{x})$ we define the crossing number $X([\mathbf{a}, \mathbf{b}], R_{\phi}(x))$ as simply

$$ X([\mathbf{a}, \mathbf{b}], R_{\phi}(x)) = \begin{cases} +1 & [\mathbf{a}, \mathbf{b}] \text{ crosses ray anticlockwise} \\ - 1 & [\mathbf{a}, \mathbf{b}] \text{ crosses ray clockwise} \\ 0 & [\mathbf{a}, \mathbf{b}] \text{ is disjoint from the ray}. \end{cases} $$


  • Property: Winding Number is additive.

    If we let $\gamma_{1}, \gamma_{2}$ be one cycles (a closed collection of one dimensional edges) then by definition so is $\gamma_{1} + \gamma_{2}$ and for some $\mathbf{x} \notin \mathbb{R}^{2} - |\gamma_{1} + \gamma_{2}|$ then $$ \begin{equation} w(\gamma_{1} + \gamma_{2}, \mathbf{x}) = w(\gamma_{1}, \mathbf{x}) + w(\gamma_{2}, \mathbf{x}). \end{equation} $$

  • Property: Winding number is locally constant.

    For a fixed $\gamma$, consider the domain $\mathbb{R}^{2} - |\gamma|$ of $\mathbf{x} \mapsto w(\gamma, \mathbf{x})$, then the function $f(\mathbf{x} = w(\gamma, \mathbf{x}))$ is constant on each connected component of our domain. Since $f$ is continuous as it is the sum of continuous functions $\theta$ and we also know it is integer valued, so it must be locally constant.

Permalink at

Published on Aug 6, 2021

Last revised on Apr 3, 2022