Posible duplicado:
Dibuja un arco en tikz cuando se especifica el centro del círculo
una pregunta muy trivial pero no puedo hacerlo! Lo siento, pero las coordenadas me parecen confusas.
Me gustaría dibujar un arco alrededor de un círculo; ambos deben tener el mismo centro de rotación. Y quiero posicionar el arco con respecto al círculo.
Aquí está el MWE para corregir:
\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}
¿Cómo consigo tener el mismo centro para ambas formas, con posicionamiento relativo del arco? ¿Alguna idea sencilla y brillante?
Respuesta1
El problema es que arc
usted especifica el punto inicial del arco, no el centro del círculo. Podrías definir un comando personalizado como este:
El 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}
Agradecimientos especiales aPablo Gaborityjakepor simplificar esto.
El resultado
Respuesta2
Bueno, no tengo una idea brillante... pero tenga en cuenta que eso arc
siempre comienza en una coordenada dada, en su caso en el centro del círculo sh1
, y su centro se desplaza en la cantidad especificada en el último argumento para arc
, en su caso. por 2 cm. Entonces, si cambia el inicio de arc
en la dirección y cantidad apropiadas, obtendrá lo que desea (si entiendo su problema correctamente).
En tu caso prueba:
\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}