Cantor 세트의 다음 TiKZ 사진이 있습니다.
\documentclass[tikz,border=5pt]{standalone}
\usetikzlibrary{decorations.fractals}
\begin{document}
\begin{tikzpicture}[decoration=Cantor set,line width=2mm]
\draw (0,0) -- (12,0);
\draw decorate{ (0,-.5) -- (12,-.5) };
\draw decorate{ decorate{ (0,-1) -- (12,-1) }};
\draw decorate{ decorate{ decorate{ (0,-1.5) -- (12,-1.5) }}};
\draw decorate{ decorate{ decorate{ decorate{ (0,-2) -- (12,-2) }}}};
\draw decorate{ decorate{ decorate{ decorate{ decorate{ (0,-2.5) -- (12,-2.5) }}}}};
\draw decorate{ decorate{ decorate{ decorate{ decorate{ decorate{ (0,-3) -- (12,-3) }}}}}};
\end{tikzpicture}
\end{document}
이 그림에서 단일 간격(예: 4번째 줄 왼쪽에서 세 번째)의 색상을 어떻게 변경합니까?
답변1
Cantor 세트 구성 뒤에 있는 수학을 수행해야 합니다. 코드를 약간 수정하고 몇 가지 매개변수를 삽입했습니다. 주로 \N = 3
수정된 세그먼트를 가져옵니다. 실제로 나는 사용되는 수학 공식을 설명하기 위해 두 부분을 수정했습니다.
코드
\documentclass[tikz,border=5pt]{standalone}
\usetikzlibrary{decorations.fractals}
\usetikzlibrary{math}
\begin{document}
\begin{tikzpicture}[evaluate={%
real \L, \dy; \L = 12; \dy = -.5;
integer \N; \N = 3;},
decoration=Cantor set, line width=2mm]
\draw (0, 0) -- ++(\L, 0);
\draw decorate{ (0, 1*\dy) -- ++(\L, 0) };
\draw decorate{
decorate{ (0, 2*\dy) -- ++(\L, 0) }
};
\draw decorate{
decorate{
decorate{ (0, 3*\dy) -- ++(\L, 0) }
}
};
\draw decorate{
decorate{
decorate{
decorate{ (0, 4*\dy) -- ++(\L, 0) }
}
}
};
\draw decorate{
decorate{
decorate{
decorate{
decorate{ (0, 5*\dy) -- ++(\L, 0) }
}
}
}
};
\draw decorate{
decorate{
decorate{
decorate{
decorate{
decorate{ (0, 6*\dy) -- ++(\L, 0) }
}
}
}
}
};
\draw[red] ({\L*(2/pow(3, \N-1))}, \N*\dy)
-- ++({\L*(1/pow(3, \N))}, 0);
\draw[blue] ({\L*(2/pow(3, \N-1) +2/pow(3, \N))}, \N*\dy)
-- ++({\L*(1/pow(3, \N))}, 0);
\end{tikzpicture}
\end{document}