TikZ 角度演算

TikZ 角度演算

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

関連情報