tikzpic에서 패턴 만들기

tikzpic에서 패턴 만들기

내 기본 문서에서 호출하는 Tile.tex(별도의 파일)가 있습니다.

나는 두 가지 일을 하고 싶다.

  1. Tile.tex를 함께 연결하여 3x5 패턴을 만듭니다. 이것은 내가 Tile.tex를 15번 호출한다는 것을 의미합니다.
  2. 각 타일의 회전을 제어해야 합니다. 내 타일은 정사각형이므로 4개의 천사 0,90,180,270에서만 회전하겠습니다.

다음 코드에서 무엇을 해야 합니까?

\begin{document}
%-----------------------------
\begin{frame}
\frametitle{\color{blue}{Tile}}
\begin{figure}
\input{tile}
\end{figure}
\end{frame}
%-----------------------------
\end{document}

답변1

타일을 문서로 선언합니다 standalone.cls.

\documentclass[tikz]{standalone}
\begin{document}
\tikz \node[draw=red, thick, minimum size=2cm] {A};
\end{document}

생성 및 조정/자른 그림은 다음과 같습니다.

타일

graphic필요할 때마다 이 파일을 이미지로 포함하세요 . A를 tabular사용하면 열과 행을 구분하지 않고 그리드로 구성할 수 있습니다.

\documentclass{beamer}

\begin{document}
\begin{frame}{My title}

{\renewcommand{\arraystretch}{0}
\begin{tabular}{*{5}{@{}c}}
\includegraphics[origin=c,angle=0]{mytile} &
\includegraphics[origin=c,angle=90]{mytile} &
\includegraphics[origin=c,angle=180]{mytile} &
\includegraphics[origin=c,angle=270]{mytile} &
\includegraphics[origin=c,angle=0]{mytile} \\
\includegraphics[origin=c,angle=0]{mytile} &
\includegraphics[origin=c,angle=90]{mytile} &
\includegraphics[origin=c,angle=180]{mytile} &
\includegraphics[origin=c,angle=270]{mytile} &
\includegraphics[origin=c,angle=0]{mytile} \\
\includegraphics[origin=c,angle=0]{mytile} &
\includegraphics[origin=c,angle=90]{mytile} &
\includegraphics[origin=c,angle=180]{mytile} &
\includegraphics[origin=c,angle=270]{mytile} &
\includegraphics[origin=c,angle=0]{mytile} \\
\end{tabular}}

\end{frame}
\end{document}

미끄러지 다

그림을 정의하는 데 사용하는 경우 TikZ다른 솔루션을 사용하여 회전된 이미지 배열을 만드는 것이 가능합니다. 그 중 하나는 기본 이미지를 a로 정의 하고 열과 행 구분 없이 pica 내부에서 반복하는 것입니다 . matrix몇 가지 예는 다음과 같습니다. 원본 그림은 에서 가져왔습니다.내 tikzpic 코드에 대한 효율적인 대안을 찾고 있습니다..

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

\tikzset{
    myfigure/.pic={
        \fill[black] (0,0) rectangle ++(-1,-1);
        \fill[blue] (-1,0) rectangle ++(-3,-1);
        \fill[green] (-4,0)-- ++(-1,0)--++(1,-1)--cycle;
        \fill[blue] (0,-1) rectangle ++(-1,-3);
        \fill[green] (0,-4)-- ++(-1,0)--++(1,-1)--cycle;
        \fill[red] (-4,-1)-- ++(0,-3)--++(3,0)--cycle;
    }
}

\begin{document}
\begin{tikzpicture}
\matrix[column sep=0pt, row sep=0pt] (A) {
    \pic[rotate around={-90:(-2.5,-2.5)}]{myfigure}; & 
    \pic[rotate around={180:(-2.5,-2.5)}]{myfigure}; \\
    \pic{myfigure}; &   
    \pic[rotate around={90:(-2.5,-2.5)}]{myfigure}; \\}; 

\matrix[column sep=0pt, row sep=0pt, right=of A] (B){
    \pic[rotate around={90:(-2.5,-2.5)}]{myfigure}; &   
    \pic{myfigure}; \\ 
    \pic[rotate around={180:(-2.5,-2.5)}]{myfigure}; &  
    \pic[rotate around={-90:(-2.5,-2.5)}]{myfigure}; \\}; 

\matrix[column sep=0pt, row sep=0pt, below=of A]{
    \pic[rotate around={180:(-2.5,-2.5)}]{myfigure}; &  
    \pic[rotate around={90:(-2.5,-2.5)}]{myfigure}; \\ 
    \pic[rotate around={270:(-2.5,-2.5)}]{myfigure}; &  
    \pic[rotate around={0:(-2.5,-2.5)}]{myfigure}; \\}; 

\begin{scope}[shift={(10.5cm,-10.5cm)}]
    \pic at (0,0) {myfigure};
    \pic[rotate=90] at (0,-1) {myfigure};
    \pic[rotate=180] at (1,-1) {myfigure};
    \pic[rotate=270] at (1,0) {myfigure};
\end{scope}
\end{tikzpicture}
\end{document}

여기에 이미지 설명을 입력하세요

관련 정보