Knights Tour-Figurendiagramm

Knights Tour-Figurendiagramm

Ich konvertiere meine handschriftlichen Unterrichtsnotizen in LaTeX. Und es gibt einige Abbildungen, für die ich das Tikz-Paket verwendet habe. Ist es möglich, die folgende Abbildung, die die Bewegungen des Pferdes darstellt, in LaTeX umzuwandeln?Bewegungen des Pferdes

Antwort1

Eine andere Option, basierend auf \foreachSchleifen mit einigen Verschiebungen und Rotationen.

\documentclass[tikz,border=2mm]{standalone}

\begin{document}
\begin{tikzpicture}[scale=0.7]
% checkerboard, remove it if you want
\begin{scope}
  \clip (1.7,1.7) rectangle (7.3,7.3);
  \foreach\i in {1,2,3,4} \foreach\j in {1,...,7}
    \fill[gray!30] ({2*\i-1+mod(\j,2)},\j) rectangle++ (1,1);
\end{scope}
% axes
\foreach[count=\ii from 0]\i in {x,y}
  \draw[-latex,thick,shift={(-1,-1)},rotate=90*\ii] (1,0) --++ (9,0) 
   node[midway,shift={(-0.5*\ii,0.5*\ii-0.5)}] {$\i$};
% rectangles
\foreach\i in {0,4}
  \draw[thick] (\i,\i) rectangle (9-\i,9-\i);
% movements
\foreach\i in {0,90,180,270} \foreach\j in {-1,1}
  \draw[shift={(4.5,4.5)},rotate=\i] (0.5,0.25*\j) -|++ (1.5,0.75*\j)
   node[circle,fill,inner sep=0.5mm] {};
% (i,j)
\node at (7,-2.5) {$(i,j)$};
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

Antwort2

Dies kann ein Ausgangspunkt sein:

\documentclass[tikz, margin=5pt]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[
  , thick
  , box/.style = {
    , minimum width = #1
    , minimum height = #1
    , draw
  }
  , end/.style = {
    , draw
    , circle
    , minimum width = 2
    , fill = black
    , inner sep = 0
  }
  , arr/.style = {
    , -latex
  }
]
  \node (outer) [box = 100] {}; % a node named outer (of size 100x100)
  \node (inner) [box = 10] {};  % a node named inner (of size 10x10)
  \draw (inner.20) -| ++ (20pt, 10pt) node [end] {}; % from 20 degree of inner
  \draw (inner.-20) -| ++ (20pt, -10pt) node [end] {};
  \draw (inner.20+90) |- ++ (-10pt, 20pt) node [end] {};
  \draw (inner.-20+90) |- ++ (10pt, 20pt) node [end] {};
  \draw (inner.20-90) |- ++ (10pt, -20pt) node [end] {};
  \draw (inner.-20-90) |- ++ (-10pt, -20pt) node [end] {};
  \draw (inner.20+180) -| ++ (-20pt, -10pt) node [end] {};
  \draw (inner.-20+180) -| ++ (-20pt, +10pt) node [end] {};

  \draw [arr] ([yshift = -10]outer.south west) -- ([yshift = -10]outer.south east) node [midway, below] {$x$};
  \draw [arr] ([xshift = -10]outer.south west) -- ([xshift = -10]outer.north west) node [midway, left] {$y$};

  % use the positioning library
  \node [below right = 60pt and 30pt of inner] {$(i,j)$};
  
\end{tikzpicture}%
\end{document}

Ergebnis

verwandte Informationen