答案1
欢迎!有几种可能。除此之外,tikz-3dplot
您还可以使用透视库。
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{perspective}
\begin{document}
\begin{tikzpicture}[3d view={30}{45},line cap=round,>=stealth,
dot/.style={circle,fill,inner sep=1pt}]
\draw(0,0,0) coordinate[dot,label=below:$A$] (A)
-- (0,2,0) coordinate[label=left:$B$] (B)
-- (2,2,0) coordinate[label=right:$C$] (C)
-- (2,0,0) coordinate[label=right:$D$] (D)-- cycle;
\draw[->] (A) -- node[left]{$e_1$} (B) ;
\draw[->] (A) -- node[below]{$e_2$} (D) ;
\end{tikzpicture}
\end{document}
然后您可以安装透视图,例如
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{perspective}
\begin{document}
\begin{tikzpicture}[3d view={30}{45},line cap=round,>=stealth,
dot/.style={circle,fill,inner sep=1pt},perspective={p={(5,0,0)}}]
\draw (tpp cs:x=0,y=0,z=0) coordinate[dot,label=below:$A$] (A)
-- (tpp cs:x=0,y=2,z=0) coordinate[label=left:$B$] (B)
-- (tpp cs:x=2,y=2,z=0) coordinate[label=right:$C$] (C)
-- (tpp cs:x=2,y=0,z=0) coordinate[label=right:$D$] (D)-- cycle;
\draw[->] (A) -- node[left]{$e_1$} (B) ;
\draw[->] (A) -- node[below]{$e_2$} (D) ;
\end{tikzpicture}
\end{document}
请注意,与第一个例子相比
- 添加了 perspective 键(与
p
默认的 不同,但您也可以更改q
和r
), - 每个坐标现在都是这样的形式,
(tpp cs:x=<x>,y=<y>,z=<z>)
而不仅仅是(<x>,<y>,<z>)
。
欲了解更多详情,请参阅64 三点透视绘图库pgfmanual v3.1.5。