program DreiecksPunkte;
VAR
lat1, lon1, lat2, lon2, lat3, lon3: real;
lat, lon, R: real;
Flat1, Flon1, Flat2, Flon2, Flat3, Flon3: real;
Ax1, Ay1, AR1, Ax2, Ay2, AR2, Ax3, Ay3, AR3: real;
i: integer;
begin
lat1:=49.0000;
lon1:= 8.0000;
lat2:=49.5000;
lon2:= 8.0000;
lat3:=49.0000;
lon3:= 8.5000;
LemoinePunkt(lat1, lon1, lat2, lon2, lat3, lon3, lat, lon);
Writeln('Lemoine: ', WGS84(Lat,lon));
NapoleonPunkt(lat1, lon1, lat2, lon2, lat3, lon3, lat, lon);
Writeln('Napoleone: ', WGS84(Lat,lon));
FeuerbachPunkt(lat1, lon1, lat2, lon2, lat3, lon3, lat, lon);
Writeln('Feuerbach: ', WGS84(Lat,lon));
SpiekerPunkt(lat1, lon1, lat2, lon2, lat3, lon3, lat, lon);
Writeln('Speaker: ', WGS84(Lat,lon));
GergonnePunkt(lat1, lon1, lat2, lon2, lat3, lon3, lat, lon);
Writeln('Gergonne: ', WGS84(Lat,lon));
Innenkreis(lat1, lon1, lat2, lon2, lat3, lon3, lat, lon, R);
Writeln('Innenkreis: ', WGS84(Lat,lon),R:10:2);
UmKreis(lat1, lon1, lat2, lon2, lat3, lon3, lat, lon, R);
Writeln('Umkreis: ', WGS84(Lat,lon),R:10:2);
Feuerbachkreis(lat1, lon1, lat2, lon2, lat3, lon3, lat, lon, R);
Writeln('Feuerbachkreis: ', WGS84(Lat,lon),R:10:2);
HalbeWinkelPunkte(lat1, lon1, lat2, lon2, lat3, lon3, Flat1, Flon1, Flat2, Flon2, Flat3, Flon3);
Writeln('Halbewinkel: ', WGS84(FLat1,Flon1),' ',WGS84(FLat2,Flon2),' ',WGS84(FLat3,Flon3) );
HalbeSteitenPunkte(lat1, lon1, lat2, lon2, lat3, lon3, Flat1, Flon1, Flat2, Flon2, Flat3, Flon3);
Writeln('HalbeSeiten: ', WGS84(FLat1,Flon1),' ',WGS84(FLat2,Flon2),' ',WGS84(FLat3,Flon3) );
SymmedianPunkte(lat1, lon1, lat2, lon2, lat3, lon3, Flat1, Flon1, Flat2, Flon2, Flat3, Flon3);
Writeln('Symmedian: ', WGS84(FLat1,Flon1),' ',WGS84(FLat2,Flon2),' ',WGS84(FLat3,Flon3) );
XYHoehenPunkte(0.0,0.0,10,0.0,1.5,4.5, Ax1, Ay1, Ax2, Ay2, Ax3, Ay3);
writeln;
Writeln(Ax1:6:1,Ay1:5:1);
Writeln(Ax2:6:1,Ay2:5:1);
Writeln(Ax3:6:1,Ay3:5:1);
XYAnkreise(0.0,0.0,10,0.0,1.5,4.5, Ax1, Ay1, AR1, Ax2, Ay2, AR2, Ax3, Ay3, AR3);
writeln;
Writeln(Ax1:6:1,Ay1:6:1,AR1:10:1);
Writeln(Ax2:6:1,Ay2:6:1,AR2:10:1);
Writeln(Ax3:6:1,Ay3:6:1,AR3:10:1);
end.