호로 만들어진 경로를 어떻게 닫을 수 있나요?

호로 만들어진 경로를 어떻게 닫을 수 있나요?

일부 스크립트에 의해 생성된 다음 코드가 있습니다. 경로의 첫 번째 좌표와 마지막 좌표는 동일합니다. TikZ에게 경로를 닫으라고 지시하는 방법을 모르겠습니다. --cycle을 추가하려고 시도했지만 첫 번째와 마지막 조정이 다른 경우에만 작동하는 것 같습니다. 해결 방법으로 마지막 지점을 약간 이동할 수 있지만(그런 다음 --cycle이 경로를 닫습니다) 이는 우아한 솔루션이 아닙니다. 경로를 어떻게 닫을 수 있나요?

\documentclass[tikz]{standalone}

\begin{document}

\begin{tikzpicture}[x=1cm,y=1cm]%
\filldraw[fill=green!20!white,line width=0.5mm]
   (-4.5:1)
   arc (-4.5 : 4.5   : 1)
   arc (94.5 : 115.5 : 5.3955171743191)
   arc (205.5: 214.5 : 1)
   arc (124.5: -4.5  : 0.47697553269816)
   arc (265.5: 274.5 : 1)
   arc (184.5: 85.5  : 0.85408068546347)
   -- cycle;
  \end{tikzpicture}

\end{document}

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

user3337813의 제안이 작동하지 않습니다. 이 예에서는 결함이 더 잘 보입니다.

\filldraw[fill=green!20!white] ( -4.5 :1)
arc ( -4.5 : 34.5 :1)
arc ( -55.5 : -64.5 : 12.706204736175 )
arc ( 205.5 : 214.5 :1)
arc ( 124.5 : -4.5 : 0.47697553269816 )
arc ( 265.5 : 274.5 :1)
arc ( 184.5 : 85.5 : 0.85408068546347 )
arc ( -4.5 : 34.5 :1)
-- cycle;
\end{tikzpicture}

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

--cycle을 제거하면 결과는 좋아 보이지만 기술적으로는 경로가 열려 있습니다.

답변1

첫 번째 호를 마지막 호로 추가할 수 있습니다.

편집하다. OP에서는 이중 호 모양이 바람직하지 않다고 언급합니다. 따라서 대안적인 접근 방식은 첫 번째 호를 두 개의 부분 호로 나누어 회로의 시작과 끝에 배치하는 것입니다.

\documentclass[tikz]{standalone}

\begin{document}

\begin{tikzpicture}[x=1cm,y=1cm]%
\filldraw[fill=green!20!white,line width=0.5mm]
   (-4.5:1)
   arc (-4.4 : 4.5   : 1)% PARTIAL ARC
   arc (94.5 : 115.5 : 5.3955171743191)
   arc (205.5: 214.5 : 1)
   arc (124.5: -4.5  : 0.47697553269816)
   arc (265.5: 274.5 : 1)
   arc (184.5: 85.5  : 0.85408068546347)
   arc (-4.5 : -4.4   : 1)% PARTIAL ARC (COMPLETED)
   -- cycle;
  \end{tikzpicture}
\end{document}

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

이 편집된 접근 방식은 OP의 편집된 질문에 표시된 반대 사례를 해결합니다.

\documentclass[tikz]{standalone}

\begin{document}

\begin{tikzpicture}[x=1cm,y=1cm]%
\filldraw[fill=green!20!white] ( -4.5 :1)
arc ( 0 : 34.5 :1)
arc ( -55.5 : -64.5 : 12.706204736175 )
arc ( 205.5 : 214.5 :1)
arc ( 124.5 : -4.5 : 0.47697553269816 )
arc ( 265.5 : 274.5 :1)
arc ( 184.5 : 85.5 : 0.85408068546347 )
arc ( -4.5 : 0 :1)
-- cycle;
\end{tikzpicture}

\end{document}

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

답변2

85.5어떤 이유에서인지 로 교체하면 작동하는 것 같습니다 85.6. 이것이 귀하의 지원서에 적합한지 모르겠습니다. 포인트가 너무 가까우면 사이클에 문제가 있을 수 있습니다.

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

\documentclass[border=1mm,tikz]{standalone}
\begin{document}
\begin{tikzpicture}[x=1cm,y=1cm]%
\draw[fill=green!20!white,line width=0.5mm]
   (-4.5:1)
   arc (-4.5 : 4.5   : 1)
   arc (94.5 : 115.5 : 5.3955171743191)
   arc (205.5: 214.5 : 1)
   arc (124.5: -4.5  : 0.47697553269816)
   arc (265.5: 274.5 : 1)
   arc (184.5: 85.6  : 0.85408068546347)
   -- cycle;
  \end{tikzpicture}
\end{document}

관련 정보