Рисование 3D-фигур

Рисование 3D-фигур

Я хотел бы легко рисовать трехмерные фигуры. Мне это сложно. У меня есть изометрическая бумага, но сложно увидеть, где проводить линии.3-х мерная форма Вот мой 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

Решение более простое, чем предложенные. Просто начертите его в 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}]

Связанный контент