Hier ist eine Methode wie im Matheunterricht: Konstruktion. Dabei kann man [`tkz-euclide`][1] bequem verwenden, es scheint, als sei es genau für den Zweck entwickelt worden.
Unten ist nur die Koordinate von *A* (willkürlich) festgelegt, alle weiteren werden durch die nötige Konstruktion gefunden:
\documentclass{article}
\usepackage{tkz-euclide}
% damit man auch alle Befehle verwenden kann:
\usetkzobj{all}
\begin{document}
\begin{tikzpicture}[scale=.25]
\tikzset{ hilfslinie/.style={black!10} }
% gegeben (Achtung: Definitionen überschreiben bekannte LaTeX-Makros):
\def\a{7cm}
\def\b{24cm}
\def\c{15cm}
\def\d{20 cm}
\def\beta{90}
%
\tkzDefPoint(0,0){A}
% B: A um a verschieben, Winkel beliebig:
\tkzDefShiftPoint[A](10:\a){B}
% Konstruiere C im rechten Winkel bei B:
\tkzDefPointBy[rotation= center B angle -\beta](A) \tkzGetPoint{C'}
% Schnittpunkt Linie BC' und Kreis um B mit Radius b liefert C:
\tkzInterLC[R](B,C')(B,\b) \tkzGetPoints{C''}{C}
% Punkt D konstruieren =>
% Schnittpunkt der Kreise um A mit Radius d und um C mit Radius c:
\tkzInterCC[R](A,\d)(C,\c) \tkzGetPoints{D}{D'}
% Hilfslinien:
\tkzDrawArc[delta=10,hilfslinie](C,D)(D)
\tkzDrawArc[delta=10,hilfslinie](A,D)(D)
% Punkte zeichnen ...
\tkzDrawPoints(A,B,C,D)
% ... und beschriften:
\tkzLabelPoints[below](A,B)
\tkzLabelPoints[above](C)
\tkzLabelPoints[above left](D)
% Viereck zeichnen:
\tkzDrawPolygon(A,B,C,D)
\end{tikzpicture}
\end{document}
![alt text][2]
Ob der Winkel bei *D* 90° hat, kann man nicht mehr frei wählen, sondern ist durch die Konstruktion gegeben. Dass es so ist, lässt sich aber durch den Thaleskreis nachweisen:
\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\begin{tikzpicture}[scale=.25]
\tikzset{ hilfslinie/.style={black!10} }
\def\a{7cm}
\def\b{24cm}
\def\c{15cm}
\def\d{20 cm}
\def\beta{90}
\tkzDefPoint(0,0){A}
\tkzDefShiftPoint[A](10:\a){B}
\tkzDefPointBy[rotation= center B angle -\beta](A) \tkzGetPoint{C'}
\tkzInterLC[R](B,C')(B,\b) \tkzGetPoints{C''}{C}
\tkzInterCC[R](A,\d)(C,\c) \tkzGetPoints{D}{D'}
\tkzDrawArc[delta=10,hilfslinie](C,D)(D)
\tkzDrawArc[delta=10,hilfslinie](A,D)(D)
\tkzDrawPoints(A,B,C,D)
\tkzLabelPoints[below](A,B)
\tkzLabelPoints[above](C)
\tkzLabelPoints[above left](D)
\tkzDrawPolygon(A,B,C,D)
% Thaleskreis:
\tkzDefMidPoint(A,C) \tkzGetPoint{M}
\tkzDrawPoint(M)
\tkzDrawArc(M,C)(A)
\end{tikzpicture}
\end{document}
![alt text][3]
Das die Diagonale *e* tatsächlich rund 25cm lang ist, muss man auch nicht blind glauben:
\documentclass{article}
\usepackage{tkz-euclide,siunitx}
\usetkzobj{all}
\begin{document}
\begin{tikzpicture}[scale=.25]
\sisetup{round-precision=1,round-mode=places}
\tikzset{ hilfslinie/.style={black!10} }
\def\a{7cm}
\def\b{24cm}
\def\c{15cm}
\def\d{20 cm}
\def\beta{90}
\tkzDefPoint(0,0){A}
\tkzDefShiftPoint[A](10:\a){B}
\tkzDefPointBy[rotation= center B angle -\beta](A) \tkzGetPoint{C'}
\tkzInterLC[R](B,C')(B,\b) \tkzGetPoints{C''}{C}
\tkzInterCC[R](A,\d)(C,\c) \tkzGetPoints{D}{D'}
\tkzDrawArc[delta=10,hilfslinie](C,D)(D)
\tkzDrawArc[delta=10,hilfslinie](A,D)(D)
\tkzDrawPoints(A,B,C,D)
\tkzLabelPoints[below](A,B)
\tkzLabelPoints[above](C)
\tkzLabelPoints[above left](D)
\tkzDrawPolygon(A,B,C,D)
% Diagonale: Länge berechnen, einzeichnen:
\tkzCalcLength[cm](A,C)\tkzGetLength{e}
\tkzDrawSegment(A,C)
\tkzLabelSegment[sloped](A,C){\expandafter\SI\expandafter{\e}{cm}}
\end{tikzpicture}
\end{document}
![alt text][4]
[1]: http://www.ctan.org/pkg/tkz-euclide
[2]: http://texwelt.de/wissen/upfiles/tkz-euclide.png
[3]: http://texwelt.de/wissen/upfiles/tkz-euclide-2.pnghttp://texwelt.de/wissen/upfiles/tkz-euclide-2.png
[4]: http://texwelt.de/wissen/upfiles/tkz-euclide-3.png