Seite 1 von 1

Tikz; Vektoren an bestimmten Punkten einzeichnen

Verfasst: Mi 30. Mai 2012, 13:44
von zut
Hallo zusammen,

ich versuche gerade, mit tikz ein Vektorfeld zu zeichnen.
Das klappt soweit auch:

\begin{tikzpicture}
\foreach \x in {-3.5, -2.5, -2, -1.5, -1, -0.5, 0.5, 1.5, 2.5, 3.5} {
\foreach \y in {-3.5, -2.5, -2, -1.5, -1, -0.5, 0.5, 1.5, 2.5, 3.5} {
\node at (\x, \y)[circle, fill=black, scale=0.25] {};
\pgfmathsetmacro{\vx}{0.5*(-\y / abs(\y))}
\pgfmathsetmacro{\vy}{0.5*(\x / abs(\x))}
\draw[->] (\x,\y) -- (\x+\vx, \y+\vy);
}
}
\end{tikzpicture}


Nun gefällt mir die Darstellung noch nicht.
Ich möchte als Punkte, an denen die Vektoren dann angeheftet werden, Punkte auf einem Kreis.

Genauer: Jetzt hab ich an jedem der Punkte (x,y) mit x und y in {-3.5, -2.5, ...} einen Vektor. Ich will aber an jedem der Punkte (cos(t), sin(t)) mit t in einer geeigneten Menge einen Vektor.

Wie setzte ich das am Besten um?

Grüße,
zut

Verfasst: Mi 30. Mai 2012, 20:37
von esdd
Hallo,

ganz habe ich nicht verstanden, was du möchtest. Aber vielleicht hilft das Folgende weiter:
\documentclass{scrartcl}

\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}
\begin{tikzpicture} 
  \foreach \t in {0,30,...,330}{%
    \draw[->] (\t:1cm)node[circle,fill,scale=0.25]{}--($(\t:1cm)!-0.7cm!(0,0)$);%
  }
\end{tikzpicture}
\end{document}
Gruß
Elke

Verfasst: Sa 2. Jun 2012, 22:33
von feuersaenger
Hallo,

Je nachdem, wie Du Deine Vektorfelder darstellen willst, koennte auch die auf tikz basierende bibliothek pgfplots fuer Dich interessant sein (das Paket kann "quiver plots" darstellen, inklusive zugehoeriger Achse, automatischer skalierung, Beschriftung mit tick labels, vielseitiger eingabe Deiner Quellkoordinaten und vektorkoordinaten bzw. Quellausruecke / Vektorausdruecke fuer den math parser).

Hier koennten die Beispiele des pgfplots manuals unter http://pgfplots.sourceforge.net/pgfplots.pdf section 4.4.7 Quiver Plots (Arrows) schnell helfen.

Disclaimer: ich bin Author des Pakets.

Mit liebem Gruss

Christian