벽에 울타리

벽에 울타리

다음 코드가 있습니다. 벽과 직사각형을 갖고 싶은데 모양이 좋지 않습니다. 나는 그것이 더 좋아지기를 원합니다. 즉, 3차원적으로 더 좋아 보이길 원합니다. 서있는 벽을 의미합니다. 어떻게 해야 합니까?

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{patterns}
\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing}
\definecolor{brickcolor}{HTML}{F0D8B2}
\begin{document}

\usetikzlibrary {patterns}
\def\wall{ \fill     [fill=brickcolor]  (0,-1) rectangle (8,.5);
           \pattern  [pattern=bricks,pattern color=white] (0,-1) rectangle (8,.5);
          }

\begin{tikzpicture}
\draw[red, very thick, text=black](2,0)--node[above left]{$x$}(2,2)--node[above]{$y$}(6,2)--node[above right]{$x$}(6,0 );
  \wall
\end{tikzpicture}

\end{document}

답변1

Ti를 사용할 수 있습니다.케이옵션을 위한 Z 3d라이브러리 canvas is.... 이 옵션을 사용하면 좌표 평면에 평행한 평면에 그릴 수 있습니다. 그런 다음 몇 개의 클립만 있으면 됩니다.

업데이트:나는 그것을 도울 수 없었다. 이건 오리가 필요해!!!

이 같은:

\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{3d,perspective}
\usetikzlibrary{ducks} % only for the duck, obviously

\definecolor{brickcolor}{HTML}{F0D8B2}

\begin{document}
\begin{tikzpicture}[line cap=round,line join=round,3d view={210}{20}]
% wall
\begin{scope}[canvas is xz plane at y=0]
  \clip (-3.99,0) rectangle (3.99,2.5);
  \foreach\y in {0,...,9} \foreach\x in {-8,...,8}
    \fill[brickcolor] ({0.5*\x-0.24-0.25*mod(\y,2)},0.25*\y) rectangle ++ (0.48,0.23);
\end{scope}
% duck
\draw[canvas is xz plane at y=1] (1,0) pic[duck/water=blue!50,scale=0.25] {duck};
% fence, x
\foreach\i in {-2,2}
{
  \begin{scope}[canvas is yz plane at x=\i,green!50!black]
    \draw[thick] (0,0) rectangle (2,2);
    \clip (0,0) rectangle (2,2);
    \foreach\x in {-3.8,-3.6,...,1.8}
      \draw (\x,0) --++ (2,2) --++ (2,-2);
  \end{scope}
}
\node[below] at (-2,1) {$x$};
% fence, y
\begin{scope}[canvas is xz plane at y=2,green!50!black]
  \draw[thick] (-2,0) rectangle (2,2);
  \clip (-2,0) rectangle (2,2);
  \foreach\x in {-5.8,-5.6,...,1.8}
    \draw (\x,0) --++ (2,2) --++ (2,-2);
\end{scope}
\node[below] at (0,2) {$y$};
\end{tikzpicture}
\end{document}

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

관련 정보