Eine Idee wäre, ein entprechendes Koordinatensystem (cs) zu verwenden. Dann könnte man mit `grid` schon mal zwei drittel des Netzes zeichnen. Das fehlende Drittel lässt sich dann mit `\foreach` zeichnen (im Beispiel mit einer weiteren Transformation des cs. Dann lassen sich auch später die Punkte einfach mit Koordinaten (x,omega) einzeichnen:
\documentclass{article}
\usepackage{tikz}
\begin{document}
zeichnen.
\begin{tikzpicture}[
cm={1,0,-.5,1,(0,0)} cm={1,0,-.5,.5*sqrt(3),(0,0)} , % Koordinatentransformation
dot/.style={draw,fill,circle,inner sep=1pt} , % Darstellung der Punkte
gridlines/.style={dotted} % Gitterstil
]
% Größe des gezeigten Bereichs:
\def\xmin{-3.6}\def\xmax{3.6}
\def\ymin{-1.3}\def\ymax{3.2}
\def\ymin{-1.3}\def\ymax{3.3}
% Gitter:
\draw[gridlines]
(\xmin,\ymin) grid (\xmax,\ymax) ;
\end{tikzpicture}
![alt text][1]
Damit ein rechteckiger Ausschnitt entsteht, schneide ich mit `clip` im Original-cs ein Rechteck aus. Damit ausßerdem im Rechteck keine Lücken enstehen, füge ich zum Gitter-Ausschnitt noch einen Pufferbereich hinzu. Die nötige Größe lässt sich durch ausprobieren mit einem genügend großen Wert finden. Damit zusätzlich die Linien, die noch fehlen, später bequem gezeichnet werden können, berechne ich die Gitter-Werte durch runden:
\begin{tikzpicture}[
cm={1,0,-.5,.5*sqrt(3),(0,0)} , % Koordinatentransformation
dot/.style={draw,fill,circle,inner sep=1pt} , % Darstellung der Punkte
gridlines/.style={dotted} % Gitterstil
]
% Größe des gezeigten Bereichs:
\def\xmin{-3.6}\def\xmax{3.6}
\def\ymin{-1.3}\def\ymax{3.3}
% überstehender Bereich des Gitters, damit keine Lücken enstehen:
\def\deltagrid{5}
% Berechnung des gezeichneten Bereichs:
\pgfmathsetmacro\xgridmin{round(\xmin-\deltagrid)}
\pgfmathsetmacro\xgridmax{round(\xmax+\deltagrid)}
\pgfmathsetmacro\ygridmin{round(\ymin-\deltagrid)}
\pgfmathsetmacro\ygridmax{round(\ymax+\deltagrid)}
% clip Rechteck mit Original-cs:
\clip[reset cm] (\xmin,\ymin) rectangle (\xmax,\ymax) ;
% Gitter:
\draw[gridlines]
(\xmin-1,\ymin-1) (\xgridmin,\ygridmin) grid (\xmax+1,\ymax+1) (\xgridmax,\ygridmax) ;
\end{tikzpicture}
![alt text][2]
Jetzt fehlen noch ein paar Linien. Die können mit einer for-Schleife gezeichnet werden, bei der ich eine weitere Transformation des cs vornehme. (Achtung: es ist eine Transformation des aktuellen, schon transformierten cs).
\foreach \x [evaluate=\x as in {\xgridmin,...,\xgridmax}
{
\show\x
\draw[gridlines,cm={1,0,1,1,(0,0)}]
(\x,\ygridmin) -- (\x,\ygridmax) ;
}
![alt text][3]
Jetzt fehlen noch die Achsen (im ursprünglichen cs) und die Punkte. Die Punkte können jetzt einfach mit (x,omega) angegeben werden.
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[
cm={1,0,-.5,.5*sqrt(3),(0,0)} , % Koordinatentransformation
dot/.style={draw,fill,circle,inner sep=1pt} , % Darstellung der Punkte
gridlines/.style={dotted} % Gitterstil
]
% Größe des gezeigten Bereichs:
\def\xmin{-4.6}\def\xmax{3.6}
\def\ymin{-3.3}\def\ymax{3.3}
% überstehender Bereich des Gitters, damit keine Lücken enstehen:
\def\deltagrid{5}
% Berechnung des gezeichneten Bereichs:
\pgfmathsetmacro\xgridmin{round(\xmin-\deltagrid)}
\pgfmathsetmacro\xgridmax{round(\xmax+\deltagrid)}
\pgfmathsetmacro\ygridmin{round(\ymin-\deltagrid)}
\pgfmathsetmacro\ygridmax{round(\ymax+\deltagrid)}
% clip Rechteck mit Original-cs:
\clip[reset cm] (\xmin,\ymin) rectangle (\xmax,\ymax) ;
% Gitter:
\draw[gridlines]
(\xgridmin,\ygridmin) grid (\xgridmax,\ygridmax) ;
\foreach \x using floor(\x)] in {\xmin,...,\xmax}
{\xgridmin,...,\xgridmax}
{
\show\x
\draw[gridlines,cm={1,0,1,1,(0,0)}]
(\x,{floor(\ymin-1)}) (\x,\ygridmin) -- (\x,{floor(\ymax+1)}) (\x,\ygridmax) ;
}
\draw[gridlines,cm={1,0,1,1,(0,0)}]
({floor(\xmin-1)},{floor(\ymin-1)}) -- ({floor(\xmin-1)},{floor(\ymax+1)})
({floor(\xmax+1)},{floor(\ymin-1)}) -- ({floor(\xmax+1)},{floor(\ymax+1)}) ;
% Achsen im Original-cs:
\draw[-latex]
(\xmin,0) -- (\xmax,0)
node[below left,inner xsep=0pt] {Re} ;
\draw[-latex,reset cm]
(0,\ymin) -- (0,\ymax)
node[below left,inner ysep=0pt] {Im};
% Punkte im neuen cs:
\node[dot,label={below left:$0$}] at (0,0) {};
\node[dot,label={below:$1$}] at (1,0) {};
\node[dot,label={above left:$\omega$}] at (0,1) {};
\node[dot,label={above right:$3 + 2\omega$}] at (3,2) {};
\node[dot,label={above right:$-2 right:$-4 - \omega$}] 2\omega$}] at (-2,-1) (-4,-2) {};
\end{tikzpicture}
\end{document}
![alt text][1]
text][4]
[1]: http://texwelt.de/wissen/upfiles/gitter.pnghttp://texwelt.de/wissen/upfiles/gitter1.png
[2]: http://texwelt.de/wissen/upfiles/gitter2.png
[3]: http://texwelt.de/wissen/upfiles/gitter3.png
[4]: http://texwelt.de/wissen/upfiles/gitter4.png