Hallo Matti,
warum so umständlich? Pythagoras kannst du aus dem Spiel lassen: Du brauchst nicht die Länge, sondern die Koordinaten des Mittelpunktes. Bei gegebenen Endpunkten sind die einfach die arithmetischen Mittel von Ordinaten und Abszissen:
Delphi-Quellcode:
var
pt1, pt2, pt: TPoint;
begin
pt1 := Point(10, 10);
pt2 := Point(152, 125);
pt.X := Min(pt1.X, pt2.X) + Abs(pt2.X - pt1.X) div 2;
pt.X := Min(pt1.Y, pt2.Y) + Abs(pt2.Y - pt1.Y) div 2;
end;
Freundliche Grüße