我在尝试在 TikZ 图片中绘制矢量分量时遇到了问题。我希望能够让 TikZ 执行以下操作:1) 在 0 度处绘制一条长度为 4 的线 2) 从 (4,0) 处绘制一条长度为 3 的线,以 90 度为单位 3) 从 (4,3) 处绘制长度为 5 的斜边,以 210 度为单位
但是,在 TikZ 中使用坐标算法和角度时,我无法正确计算斜边。这是一个最小的工作示例:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\draw (0,0) coordinate (a);
\draw (a) -- ($(a)+(0:4)$) coordinate (b);
\draw (b) -- ($(b)+(90:3)$) coordinate (c);
\draw (c) -- ($(c)+(210:5)$);
\end{tikzpicture}
\end{document}
得出的结果为:
我一直在尝试寻找解决方案,但想法已用尽。任何帮助(包括指出愚蠢的错误)都将不胜感激。
欢呼吧,JLusk
答案1
问题是最终角度不是 210;要么使用适当的值atan(3/4)+180
,要么使用cycle
(或者(a)
因为您已经命名了初始坐标);还要注意,您可以只使用一个\draw
,并且使用可以++
简化您的代码(不需要库calc
):
\documentclass{article}
\usepackage{tikz}
\begin{document}
\noindent
\begin{tikzpicture}
\draw (0,0) coordinate (a) --
++(0:4) coordinate (b) --
++(90:3) coordinate (c) --
++({atan(3/4)+180}:5);
\end{tikzpicture}\bigskip
\noindent
\begin{tikzpicture}
\draw (0,0) coordinate (a) --
++(0:4) coordinate (b) --
++(90:3) coordinate (c) --
cycle;
\end{tikzpicture}
\end{document}
如果你坚持进行四次单独的操作,你可以这样做
\begin{tikzpicture}
\coordinate (a) at (0,0);
\draw (a) -- +(0:4) coordinate (b);
\draw (b) -- +(90:3) coordinate (c);
\draw (c) -- +({atan(3/4)+180}:5);
\end{tikzpicture}
或者简单地
\begin{tikzpicture}
\coordinate (a) at (0,0);
\draw (a) -- +(0:4) coordinate (b);
\draw (b) -- +(90:3) coordinate (c);
\draw (c) -- (a);
\end{tikzpicture}
两种选择仍然没有calc
。