我想用 TikZ 画一个立方体。但是当我把边加厚时,立方体变成了:
代码如下:
\begin{tikzpicture}
\draw[black,line width=2pt] (0,2,0) -- (2,2,0) -- (2,2,2) -- (0,2,2) -- (0,2,0) --cycle;
\draw[black,line width=2pt] (0,2,2) -- (2,2,2) -- (2,0,2) -- (0,0,2) -- (0,2,2) --cycle;
\draw[black,line width=2pt] (2,2,2) -- (2,2,0) -- (2,0,0) -- (2,0,2) -- (2,2,2) --cycle;
\end{tikzpicture}
有没有什么简单的方法来剪裁“抹布”,或者有没有什么其他方法来绘制立方体?
答案1
我回答这个问题是因为我在任何其他关于立方体的帖子中都看不到这个解决方案。
首先绘制立方体的凸包,然后用绘制所有其他线段line cap=round
,使它们不突出边框。
\documentclass[tikz, border=1cm]{standalone}
\begin{document}
\begin{tikzpicture}[line width=2pt]
\draw (0,2,0) -- (2,2,0) -- (2,0,0) -- (2,0,2) -- (0,0,2) -- (0,2,2) -- cycle;
\draw[line cap=round] (2,2,2) -- (0,2,2) (2,2,2) -- (2,0,2) (2,2,2) -- (2,2,0);
\end{tikzpicture}
\end{document}
用 绘制所有东西line join=round
都会使立方体的所有角都圆整,这取决于用例,这可能是可以接受的。这样做的一个优点是,绘制顺序无关紧要。
编辑:实际上line cap=round
根本不需要。默认line cap=butt
不会突出。对于其他具有更锐利外角的形状,可能需要剪裁额外的线段。
答案2
一个立方体马查。
\documentclass[a4paper,12pt]{article}
\usepackage{tikz}
\begin{document}
\tikzset{every picture/.style={line width=0.75pt}}
\begin{tikzpicture}[x=0.75pt,y=0.75pt,yscale=-1,xscale=1]
\draw [line width=1.5] (206,177.74) -- (253.94,129.8) -- (372.8,129.8) -- (372.8,241.66) -- (324.86,289.6) -- (206,289.6) -- cycle ; \draw [line width=1.5] (372.8,129.8) -- (324.86,177.74) -- (206,177.74) ; \draw [line width=1.5] (324.86,177.74) -- (324.86,289.6) ;
\end{tikzpicture}
\end{document}