\draw 직사각형, 원 등의 북쪽/남서쪽/등을 구합니다.

\draw 직사각형, 원 등의 북쪽/남서쪽/등을 구합니다.

다음 함수 를 사용하여 직사각형을 그렸다고 가정해 보겠습니다 \draw.

\begin{tikzpicture}
  \draw (0,0) rectangle (1,1);
\endtikzpicture}

이 경로 경계 상자의 "기본 측면"(북쪽, 북서쪽, 서쪽 등)에 액세스하는 적절한 방법은 무엇입니까(원, 부드러운 베지어 곡선 등일 수도 있음)? 이상적으로는 다음과 같은 작업을 수행하고 싶습니다.

\begin{tikzpicture}
  \draw[name=foo] (0,0) rectangle (1,1);
  \node[left=1cm of foo.east] {bar};
\endtikzpicture}

답변1

Schrödinger's cat 덕분에 이를 local bounding box정의하고 사용하여 원하는 좌표에 액세스할 수 있습니다.

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

이렇게 하면 다른 항목(이 경우 원)이 그려지고 실제 경계 상자는 그대로 유지됩니다(파란색으로 그리기).

암호:

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
  \draw (1,1) circle (0.5cm);
  
  \begin{scope}[local bounding box=MyRectangle]
      \draw (0,0) rectangle (1,1);
  \end{scope}
  
  \draw [red, thick] (MyRectangle.south west) -- (MyRectangle.north east);
  
  \draw [blue] (current bounding box.south west) rectangle (current bounding box.north east);
\end{tikzpicture}%
\end{document}

답변2

outer sep=0pt적절한 minimum width및 와 함께 노드를 사용할 수 있습니다 minimum height. 기본 모양은 입니다 rectangle.

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
  \path (0,0) node[draw,minimum width=1cm,minimum height=1cm,anchor=south
  west,outer sep=0pt](foo){};
  \draw[dashed,red] (0,0) rectangle (1,1);
  \node[left=1cm of foo.east] {bar};
\end{tikzpicture}
\end{document}

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

빨간색 대시는 경로가 일치한다는 것을 나타냅니다. 정사각형인 경우 를 사용할 수도 있습니다 minimum size. 유사한 진술이 원 등에 적용됩니다. 라이브러리 shapes.geometric에는 여러 기하학적 모양이 있으며 다른 shapes라이브러리도 있습니다.

관련 정보