重複の可能性あり:
円の中心が指定されている場合に 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
あなたの場合は 2cm)だけシフトされます。したがって、 の開始点を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}