我正在为材料力学和弹性理论课程创作插图!
我正在尝试创建一个楔子并在平面上放置箭头来显示作用的应力。
感谢您的帮助。
代码:我找到了立方体的代码!不知道从哪里开始!
答案1
代码不怎么样,但可以作为入门参考。此代码只是粗略编写的(可能需要更多时间)您提供的图形。这在数学上并不正确,只是从点 a 画到点 b-解决方案。还有其他方法可以更精确、更复杂地做到这一点。
如果您想要更好地控制图形,我建议您使用\coordinate
s 并大量使用calc
-library。您可以在 中找到有关此内容的所有信息pgfmanual
。还有许多示例可以帮助您收集所需的一切。
\documentclass[tikz, border=5mm]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[>=latex, font=\scriptsize]
\newcommand{\y}{1.5}
\newcommand{\yy}{\y/2}
% triangles
\draw (0,0,0) -- (4,0,0) -- (0,2,0) -- cycle;
\draw (0,0,\y) -- (4,0,\y) -- (0,2,\y) -- cycle;
% connectors of triangles
\draw (0,0,0) -- (0,0,\y);
\draw (4,0,0) -- (4,0,\y);
\draw (0,2,0) -- (0,2,\y);
% arrows
\draw [dashed, ->] (0,1,\yy) -- (0,.5,\yy) node [below] {{$\tau_{xy}$}};
\draw [->] (0,.75,\yy) -- ++(-.5,0,0) node [left] {$\sigma_x$};
\draw [dashed, ->] (3,0,\yy) -- (1,0,\yy) node [below] {$\tau_{xy}$};
\draw [->] (2,0,\yy) -- (2,-.5,\yy) node [below] {$\sigma_y$};
\draw [->] ($(4,0,\yy)!.5!(0,2,\yy)$) -- ($(4,0,\yy)!.75!(0,2,\yy)$) node [above left] {$\tau_n$} ;
\draw [->] ($(4,0,\yy)!.5!(0,2,\yy)$) -- ++(63:1cm) node [above] {$\sigma_n$};
\draw [dotted] ($(4,0,\yy)!.5!(0,2,\yy)$) -- ++(1,0,0);
% theta angles
\draw ($(4,0,\yy)!.5!(0,2,\yy)$) +(.5,0,0) arc (0:63:.5cm) node [midway, below left=-.1cm] {$\theta$};
\draw (0,2,\y) +(-90:.5cm) arc (-90:-27:.5cm) node [midway, above left=-.1cm] {$\theta$};
% t-label
\draw [dotted] (4,0,0) -- (4.5,-.25,0);
\draw [dotted] (4,0,\y) -- (4.5,-.25,\y);
\draw [<->] (4.25,-.12,0) -- (4.25,-.12,\y) node [midway, below right] {$t$};
\end{tikzpicture}
\end{document}
渲染图像: