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)
すでに初期座標に名前を付けているため) を使用します。また、1 つだけ使用することもでき\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}
4つの別々の操作を主張する場合は、次のようにします。
\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
。