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