Я столкнулся с проблемой при попытке нарисовать векторные компоненты на картинке TikZ. Я хочу, чтобы TikZ мог сделать следующее: 1) Нарисовать линию длиной 4 под углом 0 градусов 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
.