Hier ist noch ein Vorschlag mit TikZ, bei dem das Gitter in einem Makro definiert wird und deshalb mehrmals verwendet werden kann. Das Gitter selbst wird aus kleinen `pic` zusammen gesetzt, weshalb mindestens die Version 3.0 von `pgf/tikz` notwendig ist:
ist. Für das Eintragen der Punkte habe ich die Idee mit der Koordinatentransformation aus der Antwort von @Clemens übernommen.
\documentclass[tikz,margin=5mm]{standalone}
\usetikzlibrary{calc}
\tikzset{
dot/.style={draw,fill,circle,inner sep=1pt},% Stil für Punkte
gitter/.style={blue,dotted},% gitter/.style={dotted},% Stil für das Gitter
% Gitterelement als pic:
gitter/.pic={\draw(1,0)--++(120:2)--+(1,0)--(0,0)(0,0|-60:1)--+(1,0);}
}
\newcommand\Dreiecksgitter[5][]{%
\newcommand\xmin{#2}% linkes Ende der x-Achse
\newcommand\ymin{#3}% unteres Ende der y-Achse
\newcommand\xmax{#4}% rechtes Ende der x-Achse
\newcommand\ymax{#5}% oberes Ende der y-Achse
% Größe des gezeigten Bereichs:
\def\xmin{#2}\def\ymin{#3}
\def\xmax{#4}\def\ymax{#5}
% Gitter einfügen
\begin{scope}
% Gitterbereich beschneiden (lokal, da in scope):
\clip (\xmin,\ymin) rectangle (\xmax,\ymax);
% ganzzahlige Grenzen für die Schleife (lokal, da in scope)
\pgfmathsetmacro\xmin{floor(\xmin)};
\pgfmathsetmacro\xmax{ceil(\xmax)};
\pgfmathsetmacro\ymin{floor(\ymin/(sqrt(3))};
\pgfmathsetmacro\ymax{ceil(\ymax/sqrt(3))};
\pgfmathsetmacro\xmin{floor(\xmin)};\pgfmathsetmacro\ymin{floor(\ymin/(sqrt(3))};
\pgfmathsetmacro\xmax{ceil(\xmax)};\pgfmathsetmacro\ymax{ceil(\ymax/sqrt(3))};
% Einfügen der Gitterelement in Schleife
\pic foreach \x in {\xmin,...,\xmax} foreach \y in {\ymin,...,\ymax}
[gitter,#1] at (\x,{\y*sqrt(3)}){gitter};
\end{scope}
%
% Achsen und Ursprung einzeichnen
\draw[-latex] (\xmin,0) -- (\xmax,0) node[below left,inner xsep=0pt] {Re};
\draw[-latex] (0,\ymin) -- (0,\ymax) node[below left,inner ysep=0pt] {Im};
\node[dot,label={below }
\begin{document}
\begin{tikzpicture}
% Gitter mit Achsen einfügen
\Dreiecksgitter[blue]{-3.6}{-1}{3.6}{3}
% Eintragen der Punkte mit Koordinatentransformation
\begin{scope}[
cm={1,0,-0.5,{sqrt(3)/2},(0,0)}, % Koordinatentransformation
every node/.style={dot}
]
\node[label={below left:$0$}] at (0,0) {};
%
% Koordinate (omega) definieren
% (mit der kann man rechnen, wenn die tikzlibrary calc geladen ist)
\coordinate(omega)at(120:1);
}
\begin{document}
\node[label={below:$1$}] at (1,0) {};
\node[label={above left:$\omega$}] at (0,1) {};
\node[label={above right:$3 + 2\omega$}] at (3,2) {};
\node[label={above right:$-2 - \omega$}] at (-2,-1) {};
\end{scope}
\end{tikzpicture}
\begin{tikzpicture}
% Gitter mit Achsen einfügen
\Dreiecksgitter{-3.6}{-1}{3.6}{3}
% Einfügen von Punkten bei (\x,0)+\o*(omega) mit Label \l an Position \p
\foreach \x/\o/\p/\l in {
1/0/below/1,
0/1/above left/\omega,
3/2/above right/3 + 2\omega%
}\node[dot,label={\p:$\l$}]at ($(\x,0)+\o*(omega)$){};
\Dreiecksgitter[red]{-3.6}{-3}{8.6}{10.2}
\end{tikzpicture}
\begin{tikzpicture}
% Gitter mit Achsen einfügen
\Dreiecksgitter[red!20,dashed]{-3.6}{-3}{3.6}{3}
\end{tikzpicture}
\end{document}
![alt text][1]
[1]: http://texwelt.de/wissen/upfiles/dreiecksgitter.pnghttp://texwelt.de/wissen/upfiles/dreiecksgitter.PNG