\foreach에서 count의 산술 값에 액세스하고 이를 회전 상자{}에서 사용하는 방법은 무엇입니까?

\foreach에서 count의 산술 값에 액세스하고 이를 회전 상자{}에서 사용하는 방법은 무엇입니까?

에서 count의 수학적 값에 액세스하는 방법에 대한 질문이 있습니다 \foreach. 다음 코드에서 해당 값을 사용하여 일부 계산을 수행하겠습니다. 그러나 그것은 작동하지 않았습니다.

\documentclass[margin=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows,calc}
\begin{document}

\begin{tikzpicture}[line cap=round,line join=round,>=triangle    45,x=1.0cm,y=1.0cm]
\clip(-2.5,-3) rectangle (2.5,2.5);
% defining coordinates
\coordinate (origin) at (0,0);
\coordinate (1)      at (0,2);
\coordinate (2)      at ($(origin)!1!120:(1)$);
\coordinate (3)      at ($(origin)!1!120:(2)$);
\coordinate (1_)     at ($(origin)!0.8!-5:(1)$);
\coordinate (2_)     at ($(origin)!0.8!-5:(2)$);
\coordinate (3_)     at ($(origin)!0.8!-5:(3)$);
\coordinate (_1)     at ($(origin)!0.8!5:(1)$);
\coordinate (_2)     at ($(origin)!0.8!5:(2)$);
\coordinate (_3)     at ($(origin)!0.8!5:(3)$);
% draw the circle
\draw [color=black, line width=0.5pt](origin) circle (2 cm);
%draw symmetry elements
\foreach \coordname in {1,2,3}
     \draw [line width=0.5pt, color=black] (\coordname)--     ($(origin)!1!180:(\coordname)$);
\foreach \coordname [count=\i] in {1,2,3}{
     \draw[color=black,font=\large] (\coordname)   node  {\rotatebox{120}{rota}};}
 \draw[color=black,font=\large] (origin)   node {rota};
 % draw plane group notaton
 \draw[color=black] (0,-2.5) node {$222$};
 \end{tikzpicture}
 \end{document}

rota텍스트의 위치에 따라 원의 곡선 방향을 따라 텍스트가 필요합니다 .

그런 다음 몇 가지 코드를 추가합니다.

\documentclass[margin=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows,calc}
\begin{document}

\begin{tikzpicture}[line cap=round,line join=round,>=triangle    45,x=1.0cm,y=1.0cm]
\clip(-2.5,-3) rectangle (2.5,2.5);
% defining coordinates
\coordinate (origin) at (0,0);
\coordinate (1)      at (0,2);
\coordinate (2)      at ($(origin)!1!120:(1)$);
\coordinate (3)      at ($(origin)!1!120:(2)$);
\coordinate (1_)     at ($(origin)!0.8!-5:(1)$);
\coordinate (2_)     at ($(origin)!0.8!-5:(2)$);
\coordinate (3_)     at ($(origin)!0.8!-5:(3)$);
\coordinate (_1)     at ($(origin)!0.8!5:(1)$);
\coordinate (_2)     at ($(origin)!0.8!5:(2)$);
\coordinate (_3)     at ($(origin)!0.8!5:(3)$);
% draw the circle
\draw [color=black, line width=0.5pt](origin) circle (2 cm);
%draw symmetry elements
\foreach \coordname in {1,2,3}
     \draw [line width=0.5pt, color=black] (\coordname)--     ($(origin)!1!180:(\coordname)$);
\foreach \coordname [count=\i] in {1,2,3}{
     \pgfmathsetmacro{\n}{\numbers[\i]};  % add
     \draw[color=black,font=\large] (\coordname)   node  {\rotatebox{-120+30*\n}{rota}};}    %some modification
 \draw[color=black,font=\large] (origin)   node {rota};
 % draw plane group notaton
 \draw[color=black] (0,-2.5) node {$222$};
 \end{tikzpicture}
 \end{document}

그것은 작동하지 않았다. 여기에 무엇이 잘못되었는지에 대한 아이디어가 있는 사람이 있나요? 감사해요

답변1

따라서 귀하의 예에서는 \numbers[\i]그것이 무엇을 의미하는지 완전히 확신할 수 없습니다. 작동하지 않는 코드 부분을 제거하고 여러분이 찾고 있는 것이 무엇인지 확인하려고 노력했으며 여기에 내가 생각해낸 내용이 있습니다.

\documentclass[tikz,convert]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}    
  \coordinate (origin) at (0,0);

  % draw the circle
  \draw [color=black, line width=0.5pt] (origin) circle (2 cm);

  % draw symmetry elements
  \foreach \coordname [count=\i] in {1,2,...,6} {
    \draw [rotate around={60*\i:(origin)}]
          (origin) -- +(2, 0)
          node [rotate=60*\i, pos=1, right] {rota};
    \coordinate (c\coordname) at ($(origin) + (60*\i:2)$);
  }

  \draw (c1) -- (c2) -- (c3) -- (c4) -- (c5) -- (c6) -- cycle;
\end{tikzpicture}
\end{document}

출력은 다음과 같습니다.

산출

이것이 당신에게 도움이 되는 출발점이 되기를 바랍니다. 이 부분이 어떻게 작동하는지에 관해 질문이 있으면 언제든지 의견을 남겨주세요.

답변2

이 질문에 대한 솔루션을 업로드합니다.

\documentclass[margin=10pt]{standalone}
\DeclareFontFamily{U}{cry}{\hyphenchar\font=-1}
\DeclareFontShape{U}{cry}{m}{n}{ <-> cryst}{}
\newcommand{\cry}[1]{{\usefont{U}{cry}{m}{n} \symbol{#1}}}
\usepackage{tikz}
\usetikzlibrary{arrows,calc}
\begin{document}
\begin{tikzpicture}[line cap=round,line join=round,>=triangle 45,x=1.0cm,y=1.0cm]
\clip(-2.5,-3) rectangle (2.5,2.5);
% defining coordinates
\coordinate (origin) at (0,0);
\coordinate (1)      at (0,2);
\coordinate (2)      at ($(origin)!1!120:(1)$);
\coordinate (3)      at ($(origin)!1!120:(2)$);
% draw the circle
\draw [color=black, line width=0.5pt](origin) circle (2 cm);
%draw symmetry elements
\foreach \coordname in {1,2,3}
    \draw [line width=0.5pt, color=black] (\coordname)-- ($(origin)!1!180:(\coordname)$);
\foreach \coordname [count=\i] in {1,2,3}{
    \draw[color=black,font=\large] (\coordname)  node [rotate=-210+120*\i] {\cry{2}};
    \draw[color=black,font=\large] ($(origin)!-1!(\coordname)$)  node [rotate=-210+120*\i] {\cry{2}};
}
\draw[color=black,font=\large] (origin)   node {\cry{3}};
% draw plane group notaton
\draw[color=black] (0,-2.5) node {$32$};
\end{tikzpicture}
\end{document}

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

관련 정보