可能的重複:
指定圓心時在 tikz 中繪製圓弧
一個非常微不足道的問題,但我做不到!抱歉,但我發現座標令人困惑。
我想圍繞一個圓畫一條弧;兩者應具有相同的旋轉中心。我想相對於圓定位圓弧。
這是要更正的 MWE:
\documentclass{article}
\usepackage{tikz}
\usepackage{graphicx}
\tikzset{state/.style={circle,draw=black, very thick,minimum size=4em}}
\begin{document}
\begin{tikzpicture}
\node[state, fill=black!20] (sh1) at (1,3) {Circle};
\draw[thick] (sh1) arc (0:300:2cm);
\end{tikzpicture}
\end{document}
如何使兩個形狀具有相同的中心以及圓弧的相對定位?有什麼簡單又絕妙的主意嗎?
答案1
問題是arc
您指定圓弧的起點,而不是圓的中心。您可以像這樣定義自訂命令:
程式碼
\documentclass{article}
\usepackage{tikz}
\tikzset{state/.style={circle,draw=black, very thick,minimum size=4em}}
\def\centerarc[#1] (#2) (#3:#4:#5)% [draw options] (center) (initial angle:final angle:radius)
{ \draw[#1] (#2) ++(#3:#5) arc (#3:#4:#5);
}
\begin{document}
\begin{tikzpicture}
\node[state, fill=black!20] (sh1) at (1,3) {Circle};
\centerarc[thick] (sh1) (0:300:2cm)
\end{tikzpicture}
\end{document}
特別感謝保羅·加博里特和傑克為了簡化這個。
結果
答案2
好吧,我沒有一個絕妙的主意......但請注意,它arc
總是從給定的坐標開始 - 在你的情況下是在圓的中心sh1
,並且它的中心移動了最後一個參數中指定的量arc
- 在你的情況下2公分。因此,如果您arc
以適當的方向和數量移動開始,您將得到您想要的東西(如果我正確理解您的問題)。
在你的情況下嘗試:
\documentclass{article}
\usepackage{tikz}
\usepackage{graphicx}
\tikzset{state/.style={circle,draw=black, very thick,minimum size=4em}}
\begin{document}
\begin{tikzpicture}
\draw[help lines] (-3,-3) grid + (9,9);
\node[state, fill=black!20] (sh1) at (1,3) {Circle};
\draw[thick] ([xshift=20mm] sh1.center) arc (0:300:2cm);
\end{tikzpicture}
\end{document}