Höhensatz des Euklid

A O B C p q h a b
Behauptung:
Im rechwinkligen Dreieck A B C
mit der Höhe h und c=p+q  gilt
  h^2 = p*q  (hellblaues Quadrat = rotes Rechteck)

Konstruktion:
1. Errichte Thaleskreis (Halbkreis) ueber Strecke AB.
2. Errichte von beliebigem Punkt U,
   der die Seite c in p und q aufteilt,
   eine Senkrechte, die den Thaleskreis in C schneidet.

Die Strecken sind:
a = Strecke BC
b = Strecke AC
c = Strecke AB
p = Strecke AU
q = Strecke UB
h = Strecke UC

Es gelten für die drei rechtwinkligen Dreiecke nach Pythagores:
(1) a^2 + b^2 = c^2 
(2) h^2 + p^2 = a^2
(3) h^2 + q^2 = b^2
und es gilt nach Voraussetzung:
(4) c = p + q

Beweis:
 a^2         +  b^2        = (p+q)^2
 (h^2 + p^2) + (h^2 + q^2) =  p^2 + 2*p*q + q^2
 // links und rechts p^2 und q^2 abziehen
 2 * h^2 = 2 * p*q
 h^2 = p*q

// Das folgende Recapisprogramm erstellt die anschließende SVG-Datei,
// die in dieser HTML-Datei am Anfang als Graphik inkludiert ist.
// Konstruiere aus einem Rechteck ein flächengleiches Quadrat!
// U ist der Ursprung des Koordinatensystems
p=0.7;
q=0.3;
h=wurzel(p*q);
svg_open    (2.2,2.2,1.1,1.1,50);
svg_rechteck(-p,-q,p,q,'sd=0.5',"ff=red");
svg_rechteck( 0, 0,h,h,'sd=0.5',"ff=aqua");
svg_strecke (-1, 0, 1, 0);              // x-Koordinate
svg_strecke ( 0,-1, 0, 1);              // y-Koordinate
svg_strecke (-p, 0, 0, h);              // Seite a = AC
svg_strecke ( q, 0, 0, h);              // Seite b = BC
svg_bogen   (q-(p+q)/2,0,(p+q)/2,0,PI); // Thaleskreis ueber AB
svg_bogen   (0, 0, q, 3/2*PI, 2*PI);    // Viertelbogen
svg_text (-p,0,"A");
svg_text ( 0  ,0    ,"U");
svg_text ( q  ,0    ,"B");
svg_text ( 0  ,h    ,"C");
svg_text (-p/2,-0.05,"p");
svg_text ( q/2,-0.05,"q");
svg_text (   0,h/2  ,"h");
svg_text (-p/2,h/2  ,"b");
svg_text ( q/2,h/2  ,"a");
svg_close;

Hier die SVG-Datei:

<svg width='418.0' height='418.0'
 xmlns='http://www.w3.org/2000/svg'>
<rect x='76.0' y='209.0' width='133.0' height='57.0' stroke-width='1.9' stroke='black' fill='red' />
<rect x='209.0' y='121.9' width='87.1' height='87.1' stroke-width='1.9' stroke='black' fill='aqua' />
<line x1='19.0' y1='209.0' x2='399.0' y2='209.0' stroke-width='1.0' stroke='black' />
<line x1='209.0' y1='399.0' x2='209.0' y2='19.0' stroke-width='1.0' stroke='black' />
<line x1='266.0' y1='209.0' x2='209.0' y2='121.9' stroke-width='1.0' stroke='black' />
<line x1='76.0' y1='209.0' x2='209.0' y2='121.9' stroke-width='1.0' stroke='black' />
<path d='M209.0,266.0 A57.0,57.0 0,0,0 266.0 209.0' fill='none' stroke-width='1.0' stroke='black' />
<path d='M266.0,209.0 A95.0,95.0 0,0,0 76.0 209.0' fill='none' stroke-width='1.0' stroke='black' />
<text x='76.0' y='209.0'>A</text>
<text x='209.0' y='209.0'>O</text>
<text x='266.0' y='209.0'>B</text>
<text x='209.0' y='121.9'>C</text>
<text x='142.5' y='218.5'>p</text>
<text x='237.5' y='218.5'>q</text>
<text x='209.0' y='165.5'>h</text>
<text x='142.5' y='165.5'>b</text>
<text x='237.5' y='165.5'>q</text>
</svg>