I propose the following two lines of tikz code just to get the figure with no labels!
\begin{tikzpicture}
\draw[make begin point and middle of lineto a coordinate =
{Middle}{Edge}] (0,0) rectangle ++(5,5);
\draw[mark angle] (Middle-3) -- (Edge-1) -- (Middle-2) -- cycle;
\end{tikzpicture}

So you want the labels. Ok, it'll take a few more lines of code, using a \foreach loop based on the node the two above lines of code created.
\begin{tikzpicture}
\draw[make begin point and middle of lineto a coordinate =
{Middle}{Edge}] (0,0) rectangle ++(5,5);
% Labels
\foreach \i/\NameEdge/\NameMiddle/\PosEdge/\PosMiddle in
{1/A//left/,2/D/E/left/above,3/C/F/right/right,4/B//right/} {%
\node[circle,fill,blue,inner sep=1pt,label=\PosEdge:$\NameEdge$] at
(Edge-\i) {};
\unless\ifx\NameMiddle\MyEmpty
\node[circle,fill,red,inner
sep=1pt,label=\PosMiddle:$\NameMiddle$] at (Middle-\i) {};
\fi}
% Segments and angles
\draw[mark angle] (Middle-3) -- (Edge-1) -- (Middle-2) -- cycle;
\end{tikzpicture}

How simple it is to work with tikz, isn't it! However, this won't work out of the box and I'm going to take you to a tour to the decorations.pathreplacing library, that is a really powerful tool (remember, in tikz/pgf, nearly everything is custumisable at user level).
Here is the complete code. Yes it might seem complex at first sight, but remember: the decoration library is a powerful tool so you have from time to time to deal with complex things ;-)
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc,decorations.pathreplacing}
\tikzset{%
make begin point and middle of lineto a coordinate/.style 2 args= {%
postaction = {%
/utils/exec = {\gdef\pgf@lib@decorations@countmacro{0}},
decorate,
decoration = {%
show path construction,
lineto code = {%
\xdef\pgf@lib@decorations@countmacro{%
\number\numexpr\pgf@lib@decorations@countmacro+1\relax}%
\path (\tikzinputsegmentfirst) -- node[coordinate]
(#1-\pgf@lib@decorations@countmacro) {} (\tikzinputsegmentlast);
\node[coordinate] (#2-\pgf@lib@decorations@countmacro) at
(\tikzinputsegmentfirst) {};},
closepath code={%
\xdef\pgf@lib@decorations@countmacro{%
\number\numexpr\pgf@lib@decorations@countmacro+1\relax}%
\path (\tikzinputsegmentfirst) -- node[coordinate]
(#1-\pgf@lib@decorations@countmacro) {} (\tikzinputsegmentlast);
\node[coordinate] (#2-\pgf@lib@decorations@countmacro) at
(\tikzinputsegmentfirst) {};}}}}}
\makeatletter
\pgfdeclaredecoration{mark angle}{init}{%
\state{init}[width = 0pt, next state = check for moveto,
persistent precomputation = {%
\xdef\pgf@lib@decorations@numofconsecutivelineto{0}}]{}
\state{check for moveto}[width = 0pt,
next state=check for lineto,persistent precomputation={%
\begingroup
\pgf@lib@decoraions@installinputsegmentpoints
\ifx\pgfdecorationpreviousinputsegment\pgfdecorationinputsegmentmoveto
\gdef\pgf@lib@decorations@numofconsecutivelineto{0}%
\fi
\endgroup}]{}
\state{check for lineto}[width=\pgfdecoratedinputsegmentremainingdistance,
next state=check for moveto,persistent precomputation={%
\begingroup
\pgf@lib@decoraions@installinputsegmentpoints
\ifx\pgfdecorationcurrentinputsegment\pgfdecorationinputsegmentlineto
\xdef\pgf@lib@decorations@numofconsecutivelineto{%
\number\numexpr\pgf@lib@decorations@numofconsecutivelineto+1\relax}%
\ifcase\pgf@lib@decorations@numofconsecutivelineto\relax
\or
\pgf@process{\pgf@decorate@inputsegment@first}%
\xdef\pgf@lib@decorations@first@lineto@point{\the\pgf@x,\the\pgf@y}%
\pgf@process{\pgf@decorate@inputsegment@last}%
\xdef\pgf@lib@decorations@second@lineto@point{\the\pgf@x,\the\pgf@y}%
\pgfmathanglebetweenpoints{\pgf@decorate@inputsegment@last}{%
\pgf@decorate@inputsegment@first}%
\xdef\pgf@lib@decorations@lineto@startangle{\pgfmathresult}%
\or
\pgf@process{\pgf@decorate@inputsegment@last}%
\xdef\pgf@lib@decorations@third@lineto@point{\the\pgf@x,\the\pgf@y}%
\pgfmathanglebetweenpoints{\pgf@decorate@inputsegment@first}{%
\pgf@decorate@inputsegment@last}%
\xdef\pgf@lib@decorations@lineto@endangle{\pgfmathresult}%
\pgfdecoratedmarkanglecode
\fi
\fi
\endgroup}]{}
}
\pgfqkeys{/pgf/decoration}{%
mark angle code/.store in = \pgfdecoratedmarkanglecode,
mark angle code = {%
\fill[red,nearly transparent]
(\pgf@lib@decorations@second@lineto@point) --
($(\pgf@lib@decorations@second@lineto@point)!1cm!
(\pgf@lib@decorations@first@lineto@point)$)
arc(\pgf@lib@decorations@lineto@startangle:
\pgf@lib@decorations@lineto@endangle:1cm) -- cycle;
\node at ($(\pgf@lib@decorations@second@lineto@point) +
({\pgf@lib@decorations@lineto@startangle +
(\pgf@lib@decorations@lineto@endangle -
\pgf@lib@decorations@lineto@startangle)/2}:1.25cm)$) {$\alpha$};}}
\makeatletter
\tikzset{mark angle/.style = {%
postaction = {%
decorate,
decoration = {mark angle}}}}
\def\MyEmpty{}
\begin{document}
\begin{tikzpicture}
\draw[make begin point and middle of lineto a coordinate =
{Middle}{Edge}] (0,0) rectangle ++(5,5);
% Labels
\foreach \i/\NameEdge/\NameMiddle/\PosEdge/\PosMiddle in
{1/A//left/,2/D/E/left/above,3/C/F/right/right,4/B//right/} {%
\node[circle,fill,blue,inner sep=1pt,label=\PosEdge:$\NameEdge$] at
(Edge-\i) {};
\unless\ifx\NameMiddle\MyEmpty
\node[circle,fill,red,inner
sep=1pt,label=\PosMiddle:$\NameMiddle$] at (Middle-\i) {};
\fi}
% Segments and angles
\draw[mark angle] (Middle-3) -- (Edge-1) -- (Middle-2) -- cycle;
\end{tikzpicture}
\end{document}
tikz/pgfdocumentation (p 30-31) contains some information on how to draw arcs. – Werner Nov 13 '11 at 00:13