![三维图形中平面上的圆弧](https://linux22.com/image/260422/%E4%B8%89%E7%BB%B4%E5%9B%BE%E5%BD%A2%E4%B8%AD%E5%B9%B3%E9%9D%A2%E4%B8%8A%E7%9A%84%E5%9C%86%E5%BC%A7.png)
我想使用 TikZ 做下图:
http://wstaw.org/m/2012/12/23/zeichnung.png
我知道如何在 2D 中使用\clip
、\draw
和arc
来实现\draw[->]
这一点。但是如何在位于 xz 平面的平面上绘制它?
答案1
这个tikz-3dplot
包太棒了。我刚刚在 xy 平面上画了图片,然后旋转它。唯一的警告是,这rectangle
不再起作用了,必须手动提供所有四个角。
http://wstaw.org/m/2012/12/24/zeichnung.png
\begin{tikzpicture}[scale=2]
\tdplotsetmaincoords{45}{200}
\begin{scope}[tdplot_main_coords]
\draw (0, 0) -- (5, 0) -- (5, 5) -- (0, 5) -- cycle;
\node[below right] at (0, 5) {$\R^3$};
\begin{scope}
\clip (0, 0) -- (5, 0) -- (5, 5) -- (0, 5) -- cycle;
\fill[opacity=20, color=black!20] ($(1, 1)+(45:3)+(0.5, 0)$) arc (0:360:0.5);
\begin{scope}[->, thick]
\draw (1, 1) -- ++(60:3) node[midway, below] {$t$};
\draw (1, 1) -- ++(100:2.5) node[midway, right] {$t_0$};
\draw (1, 1) -- ++(30:3.5) node[midway, below] {$t_1$};
\draw (1, 1) -- ++(0:1.5) node[midway, above] {$t$};
\end{scope}
\draw (4, 1) arc (0:360:3);
\draw (3.5, 1) arc (0:360:2.5);
\draw (4.5, 1) arc (0:360:3.5);
\draw (2.5, 1) arc (0:360:1.5);
\end{scope}
\draw[thick, ->] (5, 5, 0) -- ++(0, 0, 2) node[sloped, midway, above] {Zeitachse};
\end{scope}
\end{tikzpicture}