
답변1
3D에서 Tikz를 사용하는 것은 2D 대신 3D 좌표를 사용해야 한다는 점을 제외하면 2D에서와 거의 동일합니다.
3D 상자를 그리는 방법은 다음과 같습니다(보시다시피 2D와 3D 좌표를 혼합할 수 있습니다. 이 경우 2D 표현의 z 좌표는 자동으로 0으로 가정됩니다).
\beging{tikzpicture}
\draw (0,0) -- ++(8,0) -- ++(0,-4) -- ++(-8,0) -- ++(0,4) -- ++(0,0,-4) -- ++(8,0) -- ++(0,-4) -- ++(0,0,4) ++(0,4,0) -- ++(0,0,-4);
\draw[dashed] (0,-4) -- ++(0,0,-4) -- ++(8,0,0) ++(-8,0) -- ++(0,4);
\end{tikzpicture}
다음은 좀 더 복잡한 예입니다(전자기파).
\begin{tikzpicture}[x={(-10:1cm)},y={(90:1cm)},z={(210:1cm)}]
% Axes
\draw[->] (-1,0,0) node[above] {$x$} -- (5,0,0);
\draw[->] (0,0,0) -- (0,2,0) node[above] {$y$};
\draw[->] (0,0,0) -- (0,0,2) node[left] {$z$};
% Waves
\draw[red,thick] plot[domain=0:4.5,samples=200] (\x,{cos(deg(pi*\x))},0);
\draw[blue,thick] plot[domain=0:4.5,samples=200] (\x,0,{cos(deg(pi*\x))});
% Arrows
\foreach \x in {0.1,0.3,...,4.4} {
\draw[red] (\x,0,0) -- (\x,{cos(deg(pi*\x))},0);
\draw[blue] (\x,0,0) -- (\x,0,{cos(deg(pi*\x))});
}
% Labels
\node[red, above right] at (0,1,0) {$\vec{\bm{E}}$};
\node[below, blue] at (0,0,1) {$\vec{\bm{H}}$};
\end{tikzpicture}