绘制三维形状

绘制三维形状

我想轻松地画出三维图形。但我觉得很难。我有等距纸,但很难看出线条应该画在哪里。三维形状 这是我的 MWE。但绘制像我所附的形状的更简单的方法是什么?所有测量值都需要在形状上

% !TeX program = xelatex
% !TeX spellcheck = en_GB
\documentclass[12pt,addpoints]{exam}

\usepackage{tikz}
\usetikzlibrary{plotmarks}

\usetikzlibrary{quotes,angles}

\usetikzlibrary{quotes,arrows.meta} % needed for tikz pictures

\begin{document}
    


\begin{tikzpicture}[x={(0.86cm,0.5cm)},y={(-0.86cm,0.5cm)}, color=black]
    \clip (0,12.5) rectangle (18,12.5);
    \foreach \x in {0,...,25}
    \foreach \y in {0,...,25}
    {
        \fill (\x,\y) circle (2pt);
        \draw [red ] (4,11) -- (6,13);
        \draw [red ] (4,11) -- (4,15);
        \draw [red ] (4,15) -- (6,17);
        \draw [red] (6,13) -- (6,17);
        \draw [red ] (4,11) -- (10,11);
        \draw [red ] (6,13) -- (12,13);
        \draw [red ] (10,11) -- (12,13);
        \draw [red ] (12,13) -- (12,17);
        \draw [red ] (6,17) -- (12,17);
        %\draw [red, very thick] (12,17) -- (10,15);
        \draw (4,15)-- (10,15); 
        \draw (10,15)-- (12,17);
        \draw (10,15)-- (10,11);
    }
    
\end{tikzpicture}

\end{document}

答案1

解决方案比建议的更直接。只需按照 John 所说的在 3D 坐标中绘制它,即指定 (x,y,z)。坐标框架表示是(x,y)页面的平面,z是“深度”。当然,更复杂的形状需要更多的工作。

如果你正在处理更复杂的事情,你可能需要检查https://tikz.dev/library-perspective#autosec-6021

在此处输入图片描述

% !TeX spellcheck = en_GB
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary {perspective}

\begin{document}

\begin{tikzpicture}
\draw(0,0,0) -- (12,0,0) -- (12,5,0) -- (9,5,0) -- (9,2,0) -- (3,2,0) --(3,5,0) -- (0,5,0) -- cycle;
\draw(0,0,10) -- (12,0,10) -- (12,5,10) -- (9,5,10) -- (9,2,10) -- (3,2,10) --(3,5,10) -- (0,5,10) -- cycle;

\draw (0,0,0)-- (0,0,10);
\draw (12,0,0)-- (12,0,10);
\draw (12,5,0)-- (12,5,10);
\draw (9,5,0)-- (9,5,10);
\draw (9,2,0)-- (9,2,10);
\draw (3,2,0)-- (3,2,10);
\draw (3,5,0)-- (3,5,10);
\draw (0,5,0)-- (0,5,10);
\end{tikzpicture}

\end{document}

正如您所见,默认情况下它不是等距视图。它是透视图。

只需添加选项,isometric view例如\begin{tikzpicture}[isometric view]。当然这会翻转绘图。

最后,你可以尝试一下[3d view = {140}{50}]

相关内容