如何创建如下图所示的映射?

如何创建如下图所示的映射?

我正在尝试制作类似这张图片的映射

在此处输入图片描述

在此处输入图片描述

I tried
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{tikz-3dplot}
\begin{document}
    \tdplotsetmaincoords{110}{70}
        \begin{tikzpicture}[tdplot_main_coords ,declare function={a=6;b=2;h=1;
        }]
        \path
        (0,0,0) coordinate (A)
        (a,0,0) coordinate (B)
        (a,b,0) coordinate (C)
        (0,b,0) coordinate (D)
        (0,0,h) coordinate (E)
        (a,0,h) coordinate (F)
        (a,b,h) coordinate (G)
        (0,b,h) coordinate (H)
        ;
        \draw  (E)-- (F) -- (G) -- (H) --cycle  (A) -- (E)--(H) -- (D) --  (C) -- (G) -- (H) (A) -- (D);
        \end{tikzpicture}
\end{document}

在此处输入图片描述

如何创建如上图这样的映射?

答案1

我不确定这是否回答了问题,但屏幕截图似乎是在等距视图中,这是在perspective库中预定义的。

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{perspective}
\begin{document}
        \begin{tikzpicture}[isometric view ,declare function={a=6;b=4;h=2;
        }]
        \path
         foreach \X in {-1,...,7}
            {foreach \Y in {-1,...,5}
            {foreach \Z in {-1,...,3}
            {(\X,\Y,\Z)node[circle,inner sep=1pt,fill]{}}}}
         (0,0,0) coordinate (A)
        (a,0,0) coordinate (B)
        (a,b,0) coordinate (C)
        (0,b,0) coordinate (D)
        (0,0,h) coordinate (E)
        (a,0,h) coordinate (F)
        (a,b,h) coordinate (G)
        (0,b,h) coordinate (H)
        ;
        \draw  (E)-- (F) -- (G) -- (H) --cycle 
         (E) -- (A) -- (D) -- (H)
         (A) -- (B) -- (F)
        ;
        \end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

\draw[pattern= dots] (-1,0) rectangle +(12,2);之前添加 \end{tikzpicture}会产生点状背景,但它们不像图片中那样粗。您可以更改这一点。

完整代码

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{tikz-3dplot}
\usetikzlibrary{patterns}

\begin{document}
    \tdplotsetmaincoords{110}{70}
        \begin{tikzpicture}[tdplot_main_coords ,declare function={a=6;b=2;h=1;
        }]
        \path
        (0,0,0) coordinate (A)
        (a,0,0) coordinate (B)
        (a,b,0) coordinate (C)
        (0,b,0) coordinate (D)
        (0,0,h) coordinate (E)
        (a,0,h) coordinate (F)
        (a,b,h) coordinate (G)
        (0,b,h) coordinate (H)
        ;
        \draw  (E)-- (F) -- (G) -- (H) --cycle  (A) -- (E)--(H) -- (D) --  (C) -- (G) -- (H) (A) -- (D);
        \draw[pattern= dots] (-1,0) rectangle +(12,2);
        \end{tikzpicture}
\end{document}

输出

在此处输入图片描述

相关内容