Estoy tratando de dibujar un círculo y marcar algunos puntos de la siguiente manera:
\begin{tikzpicture}
\draw (2,2) circle (2cm);
\fill[black!100!] (1,0.25) circle (0.10cm);
\fill[black!100!] (4,2) circle (0.10cm);
\fill[black!100!] (2.4,3.97) circle (0.10cm);
\fill[red!100!] (2,2) circle (0.10cm);
\node at (0.5,-0.25) {$(x_1,y_1)$};
\node at (5,2) {$(x_2,y_2)$};
\node at (2.4,4.57) {$(x_3,y_3)$};
\node at (2,1.5) {$(a_1,a_2)$};
\end{tikzpicture}
Que traza esto:
Estaba buscando una forma más sencilla de etiquetar los nodos sin tener que calcular manualmente la posición de cada punto en relación con el punto trazado, cuando encontré esta publicación:Etiquetar una sola coordenada (pgfplots). Cuando intenté usar el diagrama pgf, pude etiquetar los puntos fácilmente, pero no pude eliminar los diferentes ejes y diagramas que aparecían. ¿Existe una forma más limpia de hacer esto?
Respuesta1
- El uso del sistema de coordenadas polares permite definir de forma sencilla la posición de los círculos y su etiquetado.
- En lugar de dibujar círculos, sugiero usar nodos, que pueden etiquetarse fácilmente por opción
label
:
\documentclass[tikz, margin=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[
dot/.style = {circle, fill=#1, minimum size=2mm, inner sep=0pt},
dot/.default = black
]
% circle
\draw (0,0) circle (2cm);
% nodes
\node [dot=red, label=below:{$(a_1,a_2)$}] {};
\node [dot,label= 85:{$(x_3,y_3)$}] at (85:2) {};
\node [dot,label= 0:{$(x_2,y_2)$}] at ( 0:2) {};
\node [dot,label=240:{$(x_1,y_1)$}] at (240:2) {};
\end{tikzpicture}
\end{document}
Apéndice:
Si le gusta dibujar líneas entre nodos en el diagrama anterior, puede hacerlo simplemente con nodos nombrados y luego dibujar líneas \draw (<node name>) -- (<node name>);
por ejemplo:
\documentclass[tikz, margin=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[
dot/.style = {circle, fill=#1, minimum size=2mm,
inner sep=0pt, outer sep=0pt},
dot/.default = black
]
% circle
\draw (0,0) circle (2cm);
% nodes
\node (O) [dot=red, label=below:{$(a_1,a_2)$}] {};
\node (a) [dot,label= 85:{$(x_3,y_3)$}] at (85:2) {};
\node (b) [dot,label= 0:{$(x_2,y_2)$}] at ( 0:2) {};
\node (c)[dot,label=240:{$(x_1,y_1)$}] at (240:2) {};
% lines
\draw (O) -- (b);
\end{tikzpicture}
\end{document}
Por supuesto, puedes trazar una línea entre dos coordenadas definidas por coordenadas polares. Por ejemplo:
\draw (0:0) -- (0:2):
Usar esto en el MWE anterior no dará el mismo resultado que se muestra en la imagen de arriba: aparecerá una línea entre el centro de los nodos en esas coordenadas, mientras que en el MWE anterior está entre los bordes de los nodos.
Respuesta2
\begin{tikzpicture}
\draw (2,2) circle (2cm);
\fill[black!100!] (1,0.25) circle (0.10cm) node[below]{$(x_1,y_1)$};
\fill[black!100!] (4,2) circle (0.10cm)node[right]{$(x_2,y_2)$};
\fill[black!100!] (2.4,3.97) circle (0.10cm)node[above]{$(x_3,y_3)$};
\fill[red!100!] (2,2) circle (0.10cm)node[below] {$(a_1,a_2)$};
\end{tikzpicture}