라텍스에서 tikz 사진을 어떻게 회전하고 미러링할 수 있나요?

라텍스에서 tikz 사진을 어떻게 회전하고 미러링할 수 있나요?

누군가가 하나의 tikz 픽처 콘을 수평 위치에서 다른 콘과 마주보도록 배치하는 방법을 알고 있는지 궁금합니다.

\documentclass[varwidth,margin=0.5cm]{standalone}
\usepackage{tikz}
\usepackage{amssymb}
\usetikzlibrary{shadings}

\begin{document}
\begin{tikzpicture}
  \fill[top color=gray!50!black,bottom color=gray!10,middle color=gray,shading=axis,opacity=0.25] (0,0) circle (3cm and 0.5cm);
  \fill[left color=gray!50!black,right color=gray!50!black,middle  color=gray!50,shading=axis,opacity=0.25] (3,0) -- (0,6) -- (-3,0) arc (180:360:3cm and 0.5cm);
  \draw (-3,0) arc (180:360:3cm and 0.5cm) -- (0,6) -- cycle;
  \draw[densely dashed] (-3,0) arc (180:0:3cm and 0.5cm);
\end{tikzpicture}
\end{document}

산출

답변1

TiKZ 3.0.0(이미 사용 가능)CTAN) 신개념 콜을 소개합니다pic

"그림"은 노드를 삽입할 수도 있는 TikZ 그림의 어느 곳에나 삽입할 수 있는 "짧은 그림"(따라서 짧은 이름입니다...)입니다. 노드와 마찬가지로 사진에는 누군가가 정의한 "모양"(혼동을 피하기 위해 유형이라고 함)이 있습니다. 지정된 유형의 사진이 사용될 때마다 해당 유형의 코드가 실행되어 일부 그림이 현재 사진에 추가됩니다. 노드를 추가하고 사진에 사진을 추가하는 구문도 매우 유사합니다. 핵심적인 차이점은 사진은 일반적으로 노드보다 더 복잡하며 노드 자체와 이를 연결하는 복잡한 경로로 구성될 수 있다는 것입니다.

'사진'을 사용하면 그림의 모든 부분을 쉽게 이동하고, 회전하고, 대칭시킬 수 있습니다. 다음으로 두 가지 예가 있습니다.

\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{shadings}

\tikzset{
    cone/.pic={
        \fill[top color=gray!50!black, bottom color=gray!10, 
              middle color=gray,shading=axis,opacity=0.25]           
              (0,0) circle (3cm and 0.5cm);
        \fill[left color=gray!50!black, right color=gray!50!black,
              middle  color=gray!50,shading=axis,opacity=0.25] 
              (3,0) -- (0,6) -- (-3,0) arc (180:360:3cm and 0.5cm);
        \draw (-3,0) arc (180:360:3cm and 0.5cm) -- (0,6) -- cycle;
        \draw[densely dashed] (-3,0) arc (180:0:3cm and 0.5cm);
    },
    cone_inverted/.pic={
        \fill[top color=gray!50!black, bottom color=gray!10,
              middle color=gray, shading=axis, opacity=0.25]           
              (0,-6) circle (3cm and 0.5cm);
        \fill[left color=gray!50!black, right color=gray!50!black,
              middle  color=gray!50, shading=axis, opacity=0.25] 
              (3,-6) -- (0,0) -- (-3,-6) arc (180:360:3cm and 0.5cm);
        \draw (-3,-6) arc (180:360:3cm and 0.5cm) -- (0,0) -- cycle;
        \draw[densely dashed] (-3,-6) arc (180:0:3cm and 0.5cm);
    }
}
\begin{document}
\begin{tikzpicture}
    \path (0,0) pic {cone} pic [rotate=180] {cone};
\end{tikzpicture}
\begin{tikzpicture}
    \foreach \i in {0,60,...,360}
    \path (0,0) pic [rotate=\i] {cone_inverted};
\end{tikzpicture}
\end{document}

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

답변2

제공되는 솔루션으로하리시 쿠마르~에tikz에서 일부를 미러링할 수 있나요?Torbjørn이 제안한 것처럼 이것을 얻는 것은 쉽습니다.

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

이것이 원하는 것이라면 코드는 다음과 같습니다.

\documentclass[12pt]{article}
\usepackage{tikz}
\usepackage{amssymb}
\usetikzlibrary{shadings}
\begin{document}
\begin{tikzpicture}
\fill[top color=gray!50!black,bottom color=gray!10,middle color=gray,shading=axis,opacity=0.25]           (0,0) circle (3cm and 0.5cm);
\fill[left color=gray!50!black,right color=gray!50!black,middle  color=gray!50,shading=axis,opacity=0.25] (3,0) -- (0,6) -- (-3,0) arc (180:360:3cm and 0.5cm);
\draw (-3,0) arc (180:360:3cm and 0.5cm) -- (0,6) -- cycle;
\draw[densely dashed] (-3,0) arc (180:0:3cm and 0.5cm);

\begin{scope}[xscale=1,yscale=-1]
\fill[top color=gray!50!black,bottom color=gray!10,middle color=gray,shading=axis,opacity=0.25]           (0,0) circle (3cm and 0.5cm);
\fill[left color=gray!50!black,right color=gray!50!black,middle  color=gray!50,shading=axis,opacity=0.25] (3,0) -- (0,6) -- (-3,0) arc (180:360:3cm and 0.5cm);
\draw (-3,0) arc (180:360:3cm and 0.5cm) -- (0,6) -- cycle;
\draw[densely dashed] (-3,0) arc (180:0:3cm and 0.5cm);
\end{scope}
\end{tikzpicture}

\end{document}

관련 정보