Как выровнять координаты по вертикали и горизонтали в TikZ

Как выровнять координаты по вертикали и горизонтали в TikZ

У меня есть точки с иррациональными координатами, потому что я смешиваю полярные и декартовы координаты. Я хотел бы указать координату как x-значение одной вещи и y-значение другой вещи.

В этом конкретном примере я хочу, чтобы две линии слева имели одинаковые левые конечные точки.

\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}

введите описание изображения здесь

Связанный контент