我有以下由某些腳本產生的程式碼。路徑中的第一個和最後一個座標相同。我不知道如何告訴 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}