3D 図形を簡単に描けるようになりたいのですが、難しいです。等角投影紙は持っていますが、どこに線を引けばよいのかわかりにくいです。 これが私の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}]