Ich versuche, ein Pfadgitter mit Löchern zu erstellen, indem ich Pascals Dreieck in Latex verwende. Auch der Kompass

Ich versuche, ein Pfadgitter mit Löchern zu erstellen, indem ich Pascals Dreieck in Latex verwende. Auch der Kompass

Das Bild unten vermittelt eine Vorstellung von dem, was ich versuche.

Außerdem bin ich nicht sicher, welches Tag ich für diese spezielle Frage verwenden soll.

Neues Bild

Der Code, den ich verwende:

 \documentclass[28pt]{article}

 \usepackage{fancyhdr}

 \usepackage[includeheadfoot,margin=1.0cm]{geometry} 
 \usepackage{amsmath,amsthm,amssymb}
 \usepackage{enumitem}
 \usepackage{mathtools}
 \usepackage{framed}
 \usepackage{chessfss} %chess figure for HW #2
 \usepackage[english]{babel} %table for problem A.43
 \usepackage{multirow} %table for problem A.43
%\usepackage[table]{xcolor} color certain blocks in a table
%\usepackage[pass,showframe]{geometry}  just to show the margins
 \usepackage[makeroom]{cancel}
 \usepackage{array}  %BETWEEN TWO 2-DIGIT NUMBERS

 \newcommand{\N}{\mathbb{N}}
 \newcommand{\Z}{\mathbb{Z}}
 \newcommand{\thedate}{\today}

 \newtheoremstyle{case}{}{}{}{}{}{:}{ }{}
 \theoremstyle{case}
 \newtheorem{case}{Case}


 \newenvironment{theorem}[2][Theorem]{\begin{trivlist}
 \item[\hskip \labelsep {\bfseries #1}\hskip \labelsep {\bfseries #2.}]}{\end{trivlist}}
 \newenvironment{lemma}[2][Lemma]{\begin{trivlist}
 \item[\hskip \labelsep {\bfseries #1}\hskip \labelsep {\bfseries #2.}]}{\end{trivlist}}
 \newenvironment{exercise}[2][Exercise]{\begin{trivlist}
 \item[\hskip \labelsep {\bfseries #1}\hskip \labelsep {\bfseries #2.}]}{\end{trivlist}}
 \newenvironment{problem}[2][Problem]{\begin{trivlist}
 \item[\hskip \labelsep {\bfseries #1}\hskip \labelsep {\bfseries #2.}]}{\end{trivlist}}
 \newenvironment{question}[2][Question]{\begin{trivlist}
 \item[\hskip \labelsep {\bfseries #1}\hskip \labelsep {\bfseries #2.}]}{\end{trivlist}}
 \newenvironment{corollary}[2][Corollary]{\begin{trivlist}
 \item[\hskip \labelsep {\bfseries #1}\hskip \labelsep {\bfseries #2.}]}{\end{trivlist}}

 \begin{document}

 \end{document}

Antwort1

Ich denke, das hier reicht aus:

\documentclass[tikz,border=5]{standalone}
\usetikzlibrary{math}
\begin{document}
\begin{tikzpicture}[x=2cm,y=-2cm, node 0/.style={fill=red!20}]
\tikzmath{%
  int \i, \j, \m, \n, \t;
  \m = 6; \n = 6;
  % Initialise board.
  for \i in {0,...,\m}{
    for \j in {0,...,\n}{
      \t{\i,\j} = 0;
    };
  };
  % Create holes.
  \t{0,3} = -1;
  \t{4,4} = -1;
  \t{5,1} = -1;
  \t{2,5} = -1;
  % Perform calculations.
  for \i1 in {0,...,\m}{
    for \j1 in {0,...,\n}{
      if (\t{\i1,\j1} == -1) then {
          \t{\i1,\j1} = 0;
      } else {
        if (\i1 == 0 || \j1 == 0) then  {
          \t{\i1,\j1} = 1;            
        } else {
          \i2 = \i1 - 1;
          \j2 = \j1 - 1;
          \t{\i1,\j1} = \t{\i2,\j1} + \t{\i1,\j2}; 
        };
      };
    };
  };
  % Draw nodes.
  for \i1 in {0,...,\m}{
    for \j1 in {0,...,\n}{
    { \node [circle, fill=blue!20, minimum size=1cm, node \t{\i1,\j1}/.try] 
        (n-\i1-\j1) at (\j1, \i1) {\t{\i1,\j1}}; };
    };   
  };
  % Draw edges.
  for \i1 in {0,...,\m}{
    for \j1 in {0,...,\n}{
      \i2 = \i1 + 1;
      \j2 = \j1 + 1;
      if (\i1 < \m) then {
        if (\t{\i2,\j1} > 0) then { 
              { \draw [thick, -stealth] (n-\i1-\j1) -- (n-\i2-\j1); };
          }; 
        };
        if (\j1 < \n) then {
        if (\t{\i1,\j2} > 0) then { 
              { \draw [thick, -stealth] (n-\i1-\j1) -- (n-\i1-\j2); };
        }; 
      };
    };
  };
}
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

Ohne „Löcher“ geht es viel einfacher:

\documentclass[tikz,border=5]{standalone}
\usepackage{xintexpr}
\begin{document}
\begin{tikzpicture}[x=2cm,y=2cm]
\draw [help lines] grid [step=1] (6,-6);
\foreach \x in {0,...,6}
  \foreach \y in {0,...,6}
    \node [circle, fill=blue!20, minimum size=1cm]
      at (\x, -\y) {\xinttheiiexpr binomial(\x+\y,\x)\relax};
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen