Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Mittelpunkt einer Linie errechnen ? [Dummithread - gelöst] (https://www.delphipraxis.net/110632-mittelpunkt-einer-linie-errechnen-%5Bdummithread-geloest%5D.html)

turboPASCAL 21. Mär 2008 05:54


Mittelpunkt einer Linie errechnen ? [Dummithread - gelöst]
 
Hi,

ICh komm nicht drauf, wie verflixt belomme ich den Mittelpunkt einer Linie ? :gruebel:

Code:
Line(10, 10, 152, 125);

oder:

Line(152, 125, 10, 10);

// Edit: Manchmal schreibt man schneller als man nachdenkt und oder nachgedacht hat.

Die Lösung ist doch klar.

* Die länge der Linie mit dem Satz des alten Mannes errechnen
* Mittelpunkt = Startpunkt + Länge * (Endpunkt - Startpunkt)
* Fertig.

:wall:

marabu 21. Mär 2008 07:42

Re: Mittelpunkt einer Linie errechnen ? [Dummithread - gelös
 
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz