With PSTricks just for fun! The remaining tedious parts can be easily added by yourself.
\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-node}
\addtopsstyle{gridstyle}{gridlabels=0pt,strokeopacity=.25}
\begin{document}
\begin{pspicture}[showgrid=top](8,8)
\multips(0,.5)(0,1){8}{%
\multips(.5,0)(1,0){8}{%
\psline[linecolor=red](6pt;-135)(6pt;45)
\psline[linecolor=red](6pt;135)(6pt;-45)}}
\pscustom
[
dimen=middle,
fillstyle=eovlines*,
fillcolor=white,
hatchcolor=blue,
linecolor=blue,
]
{
\psframe(8,8)
\pspolygon
(3,1)
(3,4)
(1,4)
(1,6)
(2,6)
(2,7)
(7,7)
(7,4)
(6,4)
(6,6)
(5,6)
(5,4)
(6,4)
(6,3)
(7,3)
(7,1)
(6,1)
(6,2)
(5,2)
(5,1)
}
\psset{linecolor=blue,nodesep=7pt}
\pscircle*(4,2){2pt}
\pscircle*(4,3){2pt}
\pcline(4,2)(4,3)
\end{pspicture}
\end{document}
update
here is my response to barbara beeton's comment:
As you didn't answer my comment yet, I will just post my solution to the problem I think you are trying to solve.
You may just use the code, given in my answer to this question: Add arrows to a smooth tikz function
Next you will need to remove the smooth
statement, because it will interfere with decorate
and give you nice errors like ? Dimension too large
. This won't have an effect on the smoothness of your drawing, because you already use sufficiently many samples.
Implementation
\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\tikzset{
set arrow inside/.code={\pgfqkeys{/tikz/arrow inside}{#1}},
set arrow inside={end/.initial=>, opt/.initial=},
/pgf/decoration/Mark/.style={
mark/.expanded=at position #1 with
{
\noexpand\arrow[\pgfkeysvalueof{/tikz/arrow inside/opt}]{\pgfkeysvalueof{/tikz/arrow inside/end}}
}
},
arrow inside/.style 2 args={
set arrow inside={#1},
postaction={
decorate,decoration={
markings,Mark/.list={#2}
}
}
},
}
\begin{document}
\begin{tikzpicture}
\draw node [circle] at (-1,0) {$z_0$};
\begin{scope}[very thick,rotate=45]
\draw[domain=0:6.28,samples=200] plot (xy polar cs:angle=\x r,radius={1-sin(2*\x r)}) [arrow inside={}{0.25,0.5,0.75}];
\end{scope}
\end{tikzpicture}
\end{document}
Output
Best Answer