  Virtual knots are defined diagrammatically as a collection of figures, called
virtual knot diagrams, that are considered equivalent up to finite sequences of
extended Reidemeister moves. By contrast, knots in $\mathbb{R}^3$ can be
defined geometrically. They are the points of a space $\mathbb{K}$ of knots.
The knot space has a topology so that equivalent knots lie in the same path
component. The aim of this paper is to use sheaf theory to obtain a fully
geometric model for virtual knots. The geometric model formalizes the intuitive
notion that a virtual knot is an actual knot residing in a variable ambient
space; the usual diagrammatic theory follows as in the classical case. To do
this, it is shown that there exists a site $(\textbf{VK}, J_{\textbf{VK}})$ so
that its category $\text{Sh}(\textbf{VK},J_{\textbf{VK}})$ of sheaves can be
naturally interpreted as the ``space of virtual knots''. A point of this
Grothendieck topos, that is a geometric morphism $\textbf{Sets} \to
\text{Sh}(\textbf{VK})$, is a virtual knot. The virtual isotopy relation is
generated by paths in this space, or more precisely, geometric morphisms
$\text{Sh}([0,1]) \to \text{Sh}(\textbf{VK},J_{\textbf{VK}})$. Virtual knot
invariants valued in a discrete topological space $\mathbb{G}$ are geometric
morphisms $\text{Sh}(\textbf{VK},J_{\textbf{VK}}) \to \text{Sh}(\mathbb{G})$,
just as classical knot invariants valued in $\mathbb{G}$ are continuous
functions $\mathbb{K} \to \mathbb{G}$. The embedding of classical knots into
virtual knots is also realized as a geometric morphism.
