Wie zeichnet man solche Ziele?

Wie zeichnet man solche Ziele?

Ich möchte einige Stimulatoreigenschaften in Statistiken anzeigen. Ich bin ein absoluter LaTeX-Anfänger und brauche daher etwas Hilfe.

gesucht

Antwort1

Diese Art von Diagramm ist ganz einfach zu zeichnen mittikz/pgf. Es gibt ein ausführliches und gut geschriebenes Handbuch, sodass Sie durch das Lesen eine gute Vorstellung davon bekommen sollten, was Sie tun müssen. Hier ist ein ähnliches Beispiel, um Ihnen den Einstieg zu erleichtern:

\documentclass[border=5mm,tikz]{standalone}
\usepackage{mwe}
\usepackage{tikz}
\begin{document}

  \begin{tikzpicture}
    \draw (0,0) circle[radius=1];
    \draw[red] (0,0) circle[radius=2];
    \draw[blue] (0,0) circle[radius=3];
    \foreach \x in {-1,0,1} {
      \foreach \y in {-1,0,1} {
        \node[fill=white] at (\x,\y) {x};
      }
    }
  \end{tikzpicture}

\end{document}

Es ergibt sich folgendes Bild:

Bildbeschreibung hier eingeben

Wenn Sie an einer bestimmten Liste von Koordinaten zeichnen möchten, xgeht das am einfachsten mit etwas wie:

\foreach \x/\y in {-1/1,0/1,-1/0,-1/0,0/0,1/0,-1/-1,0/-1,-1/-1} {
    \node[fill=white] at (\x,\y) {x};
}

Tatsächlich entspricht dies dem Code im obigen Beispiel.

Antwort2

So etwas kann man auch schön zeichnen inMetapost, was Ihnen vielleicht Spaß macht. Hier habe ich den integrierten normaldeviateBefehl verwendet, um einige geeignete zufällige Zieltreffer zu generieren.

Bildbeschreibung hier eingeben

prologues := 3;
outputtemplate := "%j%c.eps";
beginfig(1);
numeric s;
picture target, cross;
s = 24;
target = image(for r=1 upto 3: draw fullcircle scaled (r*s); endfor);
cross  = image(draw (left--right) rotated 45; draw (left--right) rotated -45;);
picture A, B, C, D;
A = target shifted (-2s,+2s);
B = target shifted (+2s,+2s);
C = target shifted (-2s,-2s);
D = target shifted (+2s,-2s);

% mark "n" hits centered at "p" with "r" degree of scattering
vardef mark_hits(expr n, p, r) = 
  for i=1 upto n:
     draw cross shifted p shifted (r * normaldeviate, r * normaldeviate);
  endfor
enddef;

draw A; mark_hits(12, center A, 3); 
draw B; mark_hits(12, center B, 12);
draw C; mark_hits(12, center C shifted (-s/2,s/2), 3);
draw D; mark_hits(12, center D shifted (s/2,-s/2),12);

label.bot("(a)", 1/2[llcorner A, lrcorner A]);
label.bot("(b)", 1/2[llcorner B, lrcorner B]);
label.bot("(c)", 1/2[llcorner C, lrcorner C]);
label.bot("(d)", 1/2[llcorner D, lrcorner D]);

setbounds currentpicture to bbox currentpicture scaled 1.05;

endfig;


end

verwandte Informationen