Tikz를 사용하여 고리 모양의 그리드 그리기

Tikz를 사용하여 고리 모양의 그리드 그리기

제가 작성 중인 보고서에서 일부 그리드 변환을 시각화하려고 합니다. 첨부한 그림의 왼쪽 그리드에 만족합니다. 이제 오른쪽에 표시된 환형 메쉬를 만들어야 합니다. 동일한 수의 포인트를 갖는 것이 중요합니다. 왼쪽은 10x10 크기이므로 오른쪽에는 원주를 따라 10개의 점이 있고 벽의 법선 방향으로 10개가 있어야 합니다. 여기에 이미지 설명을 입력하세요

왼쪽 코드를 생성하는 데 사용한 코드는 다음과 같습니다.

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\usetikzlibrary{calc}

\begin{document}
\begin{figure}[h!]
    \centering
    \begin{tikzpicture}
        \coordinate (A) at (0,0);
        \coordinate (B) at (3,0);
        \coordinate (C) at (3,3);
        \coordinate (D) at (0,3);

        \foreach [evaluate=\i as \x using \i/10] \i in {0,...,10} 
        {
            \draw ($(A)!\x!(B)$) arc -- ($(D)!\x!(C)$);
            \draw ($(A)!\x!(D)$) -- ($(B)!\x!(C)$);
        }   
        \draw[->, >= Latex] (-0.1, -0.1) -- (1, -0.1);
        \draw[->, >= Latex] (-0.1, -0.1) -- (-0.1, 1);
        \draw[->, >= Latex] (-0.1, -0.1) -- (0.5, 0.5);
        \node[] at (1, -0.35) (y) {$\zeta$};
        \node[] at (-0.35, 1) (x) {$\eta$};
        \node[] at (-0.35, -0.10) (x) {$\xi$};
        \draw[->, >= Latex] (3.5, 1.5) -- (4.5, 1.5);
    \end{tikzpicture}
    \caption{Visualisation of a mapping from a computational grid to a physical space using 2D section.}
\end{figure}
\end{document}

조언이 있나요?

감사해요!

답변1

업데이트:귀하의 질문을 다시 읽은 후 원환체가 아닌 고리를 원한다는 것을 깨달았습니다. scope원래 코드에서 여기를 바꾸십시오 .

\begin{scope}[shift={(7,1.5)}]
    \foreach \t in {0,...,10}{
        \draw (0,0) circle[radius=1+.1*\t];
        \draw (36*\t:1)--(36*\t:2);
    }
\end{scope}

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

나머지 5개는 뒷면에 있으므로 5개의 세로 영역만 표시되기를 원한다고 가정합니다.

원래 솔루션:

몇 가지 제안:

  • grid직사각형 그리드의 코드를 단순화하는 데 사용됩니다 .
  • 더 간단한 배치를 위해 명령 에 노드를 포함할 수 있습니다 \draw.
  • A를 scope사용하면 토러스의 극좌표를 허용하여 계산을 더 쉽게 할 수 있습니다.

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

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{arrows.meta}

\begin{document}

\begin{figure}[h!]
    \centering
        \begin{tikzpicture}
        \draw[step=3mm] (0,0)grid(3,3);
        \draw[-Latex] (-0.1, -0.1) -- (1, -0.1) node[below]{$\zeta$};
        \draw[-Latex] (-0.1, -0.1) -- (-0.1, 1) node[left]{$\eta$};
        \draw[-Latex] (-0.1, -0.1) node[left]{$\xi$} -- (0.5, 0.5);
        
        \draw[-Latex] (3.5, 1.5) -- (4.5, 1.5);
        \begin{scope}[shift={(7,1.5)}]
            \foreach \t in {0,36,...,360}{
                \draw (0,0) circle[radius=1.5+.5*cos(\t)];
                \draw (\t:1)--(\t:2);
            }
        \end{scope} 
    \end{tikzpicture}
    \caption{Visualisation of a mapping from a computational grid to a physical space using 2D section.}
\end{figure}

\end{document}

관련 정보