dibujar cruces en tikz

dibujar cruces en tikz

Si lo hago

\draw (1,1) circle (1pt)

tikz dibuja un pequeño círculo con un diámetro 1ptde (1,1).

¿Cómo puedo definir un camino crosstal que

\draw (1,1) cross (1pt)

¿Dibuja una pequeña cruz con diámetro 1pt(ajustable en tamaño al igual que el círculo)?

Respuesta1

crossEl comando equivalente a circleno existe TiKZpero puedes usar un cross outnodo de shapes.miscla biblioteca. Este tipo de nodo añade un texto cruzado sobre el nodo, pero es fácil adaptarlo para hacer lo que quieras.

\tikzset{cross/.style={cross out, draw, 
         minimum size=2*(#1-\pgflinewidth), 
         inner sep=0pt, outer sep=0pt}}

Debido a que circle (1pt)se dibuja un círculo con radio = 1 pt, su tamaño total será de 2 pt, entonces crossel tamaño del nodo se define con minimum size=2*(#1-\pgflinewidth)y innery outerlas separaciones fijadas en 0pt.

Si el ángulo transversal no es lo que desea, puede cambiarlo con rotatela opción. A continuación tienes algunos ejemplos. También los he colocado circlesencima para mostrar que el círculo y las cruces tienen el mismo tamaño.

\documentclass[tikz, border=2mm]{standalone}
\usetikzlibrary{shapes.misc}

\tikzset{cross/.style={cross out, draw=black, minimum size=2*(#1-\pgflinewidth), inner sep=0pt, outer sep=0pt},
%default radius will be 1pt. 
cross/.default={1pt}}

\begin{document}
\begin{tikzpicture}[]

\draw (0,0) circle (1pt);

\draw (.5,0) node[cross,rotate=10] {};
\draw (.5,0) circle (1pt);

\draw (0,.5) circle (1pt);
\draw (0,.5) node[cross,red] {};

\draw (.5,.5) node[cross,rotate=30] {};

\draw (0.25,.25) circle (2pt);
\draw (0.25,.25) node[cross=2pt,rotate=45,green]{};
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Solución alternativa usando pic:

\documentclass[]{standalone}

\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}

\tikzset{
    cross/.pic = {
    \draw[rotate = 45] (-#1,0) -- (#1,0);
    \draw[rotate = 45] (0,-#1) -- (0, #1);
    }
}

\begin{document}



\begin{tikzpicture}

    \draw (0,0) circle (1pt);

    \path (.5,0) pic[rotate = 10] {cross=1pt};
    \draw (.5,0) circle (1pt);

    \draw (0,.5) circle (1pt);
    \path (0,.5) pic[red] {cross=1pt};

    \draw (.5,.5) pic[rotate = 30] {cross=1pt};

    \draw (0.25,.25) circle (2pt);
    \draw (0.25,.25) pic[rotate=45,green] {cross=2pt};
\end{tikzpicture}

\end{document}

ingrese la descripción de la imagen aquí

Respuesta3

Puedes escribir una "x" en la posición respectiva:

\draw (1,1) node {x};

Luego puedes ajustar el tamaño usando tamaños de fuente como este:

\draw (1,1) node {\Huge x};

En realidad, el centro de la 'x' se coloca exactamente en las coordenadas dadas.

información relacionada