원을 기준으로 호 위치

원을 기준으로 호 위치

가능한 중복:
원의 중심이 지정되면 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에 대한 마지막 인수에 지정된 양만큼 이동합니다. arc2cm씩. 따라서 적절한 방향과 양으로 시작 부분을 이동하면 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}

관련 정보