tikz에서 선을 노드로 사용

tikz에서 선을 노드로 사용

tikz에서 라인을 노드로 사용할 수 있는 구문이 있습니까? 다음 예에서는:

\documentclass{standalone}  
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}
    %dummy nodes
    \node (A) at (0,0) {};
    \node (B) at (5,0) {};
    \node (C) at (2,-5) {};
        \draw (A)--(B);
        \draw (C)--(2,0);
    \end{tikzpicture}
\end{document}

여기에 이미지 설명을 입력하세요

\draw (C)--[(A)--(B)]대신에 와 같은 것을 쓰고 싶습니다 \draw (C)--(2,0). 물론 이 예에서는 노드의 좌표를 명시적으로 알고 있지만 실제 다이어그램에서는 그렇지 않으며 크기를 변경하는 항목을 추가할 때마다 시행착오를 통해 명시적인 노드의 좌표를 조정해야 합니다. .

감사해요

답변1

local bounding box=<node name>여기에 필요한 것은 옵션 입니다.

\documentclass{standalone}  
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}
    %dummy nodes
    \node (A) at (0,0) {};
    \node (B) at (5,0) {};
    \node (C) at (2,-5) {};
        % this creates a rectangle node named AB
        \draw[local bounding box=AB] (A)--(B);
        \draw (C) |- (AB);
    \end{tikzpicture}
\end{document}

업데이트:투영 수정자 버전:

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

\begin{document}
    \begin{tikzpicture}
    %dummy nodes
    \node (A) at (0,0) {};
    \node (B) at (5,0) {};
    \node (C) at (2,-5) {};
        \draw (A)--(B);
        % draw a line from node C to the projection of C on line A to B
        % see pgfmanual, sec. 13.5.5 _The Syntax of Projection Modifiers_
        \draw (C) |- ($(A)!(C)!(B)$);
    \end{tikzpicture}
\end{document}

관련 정보