I am doing a report on the Ising model, without going into the complex details of the model, in its two-dimensional form it involves a lattice of points.
Which, when periodic boundary conditions are imposed can be though of as on a torus.
For clarification, what I mean by "periodic boundary conditions" is that the right neighbour to a point in the far right column is a point in the far left column in the same row, and the bottom neighbour to a point in the bottom row is a point in the top row in the same column.
Therefore, what I want to do is plot a grid on a torus, and place dots on that grid.
I also eventually want to place arrows going from one point to the next on the torus, as I did here for the lattice:
I'm just having a lot of trouble trying to put it all together. How can this be achieved with Tikz? If not with Tikz, then how can be achieved at all?
Thank you in advance for any answers or comments.
I've done a fair bit of research on drawing a torus:
- How to draw a torus
- Drawing a ring around a torus (doughnut) using TikZ
- Drawing checkered torus (doughnut)
- Need to plot a lattice and the topological building of a torus!
- How to draw a torus
And a few other things:
- LaTeX/PGF/TikZ
- Tikz: Draw simple shortened curved line between two coordinates in tikz
- Easy curves in TikZ
And if it helps, here is the source code to the drawings I made in this post:
\begin{tikzpicture}
\clip (-1,-1) rectangle (6cm,6cm);
\draw[style=help lines,thick] (0,0) grid[step=.5cm] (5,5);
\foreach \x in {0,1,...,10}
{
\foreach \y in {0,1,...,10}
{
\node[draw,circle,inner sep=2pt,fill] at (.5*\x,.5*\y) {};
}
}
\end{tikzpicture}
and...
\begin{tikzpicture}
\clip (-1,-1) rectangle (6cm,6cm);
\foreach \x in {0,1,...,10}
{
\foreach \y in {10,9,...,0}
{
\node[draw,circle,inner sep=1pt,fill] at (.5*\x,.5*\y) {};
\draw[thick,->] (.5*\x,.5*\y) -- (.5*\x+.4,.5*\y);
\draw[thick,->] (.5*\x,.5*\y) -- (.5*\x,.5*\y-.4);
}
}
\end{tikzpicture}
My only request is that graphics created in non-LaTeX applications like InkScape, Blender, etc not be suggested.