我想要画出上面的图形,一个木质立方体,其中一个角被切掉并被阴影化。
我只能画立方体,不能用平面去掉立方体的一部分。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}[scale=0.5]
\draw[thick,black] (4,0,0) -- (0,0,0) -- (0,4,0) -- (4,4,0);
\draw[thick,black] (4,0,0) -- (4,0,-4) -- (4,4,-4) -- (4,4,0) -- cycle;
\draw[thick,black](0,4,0) -- (0,4,-4) -- (4,4,-4);
\draw[style=dashed, color=black] (4,0,-4) -- (0,0,-4)-- (0,4,-4);
\draw[style=dashed, color=black] (0,0,0) -- (0,0,-4);
\end{tikzpicture}
\end{document}
答案1
一个非常简短的代码pst-solides3d
:
\documentclass[12pt, border=6pt, svgnames]{standalone}
\usepackage{pst-solides3d}
\begin{document}
\psset{viewpoint=50 75 30 rtp2xyz, Decran=25, lightsrc=viewpoint}
\begin{pspicture}(-2,-2)(2,2)
\psSolid[action=draw*, object=cube, RotZ=40, fillcolor=ForestGreen!80, trunccoeff=.5, trunc=0]%
\end{pspicture}
\end{document}
答案2
这将绘制一个截角立方体。它使用正交视图。
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{patterns.meta,perspective}
\begin{document}
\begin{tikzpicture}[3d view={120}{15},line join=round,
declare function={a=4;b=2;}]
\draw[style=dashed, color=black] (a,0,-a) -- (0,0,-a)-- (0,a,-a);
\draw[style=dashed, color=black] (0,0,0) -- (0,0,-a);
\draw[thick,black] (a,0,0) -- (a,0,-a) -- (a,a,-a) -- (a,a,-b);
\draw[thick,black] (a,a-b,0) -- (a,0,0) -- (0,0,0) -- (0,a,0) -- (a-b,a,0);
\draw[thick,black](0,a,0) -- (0,a,-a) -- (a,a,-a);
\draw[thick,pattern={Lines[angle=45,distance={4.5pt}]}]
(a,a,-b) -- (a-b,a,0) -- (a,a-b,0) -- cycle;
\end{tikzpicture}
\end{document}
您可以在一定程度上改变视角(如果过度改变,虚线将出现在前景中),并改变立方体尺寸a
和缺失角的尺寸b
。例如,使用3d view={150}{15}
和declare function={a=4;b=1;}
您将获得
请注意patterns.meta
需要安装不太旧的 TeX。如果你的版本比较旧,请加载patterns
而不是patterns.meta
,并使用 egpattern=north east lines
而不是pattern={Lines[angle=45,distance={4.5pt}]}
。