arco de posição em relação ao círculo

arco de posição em relação ao círculo

Possível duplicata:
Desenhe um arco em tikz quando o centro do círculo for especificado

uma pergunta muito trivial, mas não consigo! Desculpe, mas acho as coordenadas confusas.

Gostaria de desenhar um arco em torno de um círculo; ambos devem ter o mesmo centro de rotação. E quero posicionar o arco em relação ao círculo.

Aqui está o MWE para corrigir:

\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}

Como faço para ter o mesmo centro para ambas as formas, com posicionamento relativo do arco? Alguma ideia simples e brilhante?

Responder1

O problema é que arcvocê especifica o ponto inicial do arco, não o centro do círculo. Você poderia definir um comando personalizado como este:

O código

\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}

Agradecimentos especiais paraPaulo GaboriteJakepara simplificar isso.

O resultado

insira a descrição da imagem aqui

Responder2

Bem, não tenho uma ideia brilhante ... mas observe que isso arcsempre começa em uma determinada coordenada - no seu caso, no centro do círculo sh1, e seu centro é deslocado pela quantidade especificada no último argumento para arc- no seu caso por 2 cm. Portanto, se você mudar o início do arcna direção e quantidade apropriadas, obterá o que deseja (se entendi corretamente o seu problema).

No seu caso, tente:

\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}

informação relacionada