TikZ で座標を垂直方向と水平方向に揃える方法

TikZ で座標を垂直方向と水平方向に揃える方法

極座標と直交座標を混在させているため、無理座標の点があります。 あるものの x 値と別のものの y 値として座標を指定したいと思います。

この例では、左側の 2 本の線の左端点が同じになるようにします。

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}

  \begin{tikzpicture}
    \coordinate (left) at (155:2);
    \coordinate (top) at (65:2);
    \coordinate (bottom) at (245:2);
    \coordinate (right) at (335:2);

    \coordinate (leftEdge) at ($ (left) + (-2,0) $);
    \coordinate (bottomEdge) at ($ (bottom) + (0,-2) $);

    \path[draw=black] (left) -- (top) -- (right) -- (bottom) -- cycle;
    \path[draw=blue] (left) -- (leftEdge);
    \path[draw=black] (bottom) -- (bottomEdge);
    \path[draw=red] (bottom) -- ++(-2,0);
  \end{tikzpicture}

\end{document}

のようなものでこれを行う方法があると思います(leftEdge.x,bottom.y)が、うまく動作させることができませんでした。

ここに画像の説明を入力してください

赤い端を青い端と同じ左端に移動させるにはどうすればよいですか?

答え1

あなたの例では、 と言うだけで済みます\path[draw=red] (bottom) -- (bottom-|leftEdge);この素晴らしい答えこの構文について非常に詳しく説明します。

\documentclass[tikz]{standalone}
\usetikzlibrary{calc}

\begin{document}

  \begin{tikzpicture}
    \coordinate (left) at (155:2);
    \coordinate (top) at (65:2);
    \coordinate (bottom) at (245:2);
    \coordinate (right) at (335:2);

    \coordinate (leftEdge) at ($ (left) + (-2,0) $);
    \coordinate (bottomEdge) at ($ (bottom) + (0,-2) $);

    \path[draw=black] (left) -- (top) -- (right) -- (bottom) -- cycle;
    \path[draw=blue] (left) -- (leftEdge);
    \path[draw=black] (bottom) -- (bottomEdge);
    \path[draw=red] (bottom) -- (bottom-|leftEdge);
  \end{tikzpicture}

\end{document}

ここに画像の説明を入力してください

関連情報