Post by Ralf GoertzAm Thu, 7 Jan 2021 16:53:25 +0100
Post by Matthias FreyHallo,
ich suche einen Algorithmus. Es soll ein Kreis bestimmt werden, der
um alle gegebenen Punkte geht.
Alle Punkte liegen in einer Ebene. Der Kreis soll kleinstmöglich
sein, alle Punkte sollen auf oder im Kreis liegen.
Habe schon etwas gegoogelt, aber alles was ich finde ist ein Kreis
um die Punkte eines Dreiecks
Der Algorithmus sollte ab drei Punkte funktionieren.
Weiss jemand was oder mit welchen Begriffen man suchen könnte?
Danke.
Ich würde es mit der konvexen Hülle versuchen
<https://de.wikipedia.org/wiki/Konvexe_H%C3%BClle>. Damit hättest du das
Problem gegebenfalls auf weniger Punkte bzw. darauf reduziert, den
kleinsten Kreis um ein konvexes Polygon zu finden, was mir deutlich
leichter zu sein scheint.
Im Rademacher/Toeplitz steht ein Kapitel drüber drin; der dort gewählte
Ausdruck heißt „Pferchkreis eines Punkthaufens“, andere nennen ihn
„Hüllkreis“. Hier haben wir es im Frühjahr 2005 diskutiert. Mein letzter
Beitrag im Thread:
---- ab hier Zitat eines alten Beitrags ----
Newsgroups: de.sci.mathematik
From: Helmut Richter
Subject: Re: Kreisberechnung um 5 Punkte
References: <***@posting.google.com>
<d0t42o$mpi$***@online.de>
Reply-To: hhr-***@web.de
Date: Mon, 21 Mar 2005 13:11:31 +0100
Message-Id: <***@lxhri01.lrz.lrz-muenchen.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
User-Agent: slrn/0.9.7.3 (Linux)
Post by Ralf GoertzVielleicht hilft ja auch der Satz von Heinrich W. E. Jung (1876 - 1953)
http://www.mathematik.uni-halle.de/history/jung/index.html
http://mathworld.wolfram.com/JungsTheorem.html
http://dz-srv1.sub.uni-goettingen.de/sub/digbib/loader?did=D261177
Mindestens der letzte Link ist unzugänglich.
Aber egal, wir hatten die meisten Ergebnisse hier schon im Thread. Weil
sie so verstreut sind, fasse ich sie noch einmal zusammen, nicht zuletzt
für mich selbst.
Def.: Ein Punkthaufen (das ist die Terminologie in Toeplitz/Rademachers
Buch) ist eine endliche, mindestens zweielementige Menge von Punkten in
der Ebene.
Def.: Der Hüllkreis (T/R nennen das "Pferchkreis", aber das ist
unglücklich, weil das Wort in der Messtechnik etwas anderes bezeichnet)
eines Punkthaufens ist der kleinste Kreis, der alle Punkte des
Punkthaufens enthält.
Der Hüllkreis ist eindeutig, und er ist der Hüllkreis einer zwei- oder
dreielementigen Teilmenge des Punkthaufens. Im zweielementigen Fall liegen
die beiden Punkte sich auf dem Kreis gegenüber, im dreielementigen Fall
bilden die drei Punkte ein spitzwinkliges Dreieck. Das hatte ich im Thread
vorausgesetzt, ohne es zu beweisen; hole ich unten nach.
Die zwei bzw. drei Punkte nenne ich "Stützpunkte" des Kreises; liegen mehr
als drei Punkte des Punkthaufens auf der Kreislinie, gibt es
möglicherweise mehr als ein spitzwinkliges Dreieck von Stützpunkten, aber
das ist egal: man kann dann irgendeines nehmen.
Damit hat man einen Algorithmus: Man beginne mit zwei Punkten als
Stützpunkten und dem Kreis dazu. Solange noch Punkte außerhalb des Kreises
liegen, konstruiert man den Hüllkreis der Menge, die aus einem der Punkte
außerhalb sowie den alten Stützpunkten besteht, und macht dann mit den
Stützpunkten des neuen Hüllkreises weiter. Da es nur endlich viele
potentielle Hüllkreise gibt und die Radien immer größer werden, terminiert
das Verfahren. Es terminiert aber nicht, bevor alle Punkte eingefangen
sind. Daher liefert es die Lösung.
Man darf nicht glauben, dass ein einmal eingefangener Punkt in den
folgenden Kreisen weiterhin enthalten ist - das ist i.A. nicht wahr. Das
macht aber nichts, weil er später wieder eingefangen wird, wenn er
entwischt ist.
Um die blöde Rechnerei nicht zu oft machen zu müssen, möchte man bald
große Kreise haben. Das macht man, indem man mit zwei weit entfernten
Punkten beginnt und dann immer recht weit entfernte dazunimmt. Viel Grips
in die Entfernungsberechnungen zu stecken lohnt aber nicht, weil
mitnichten die entferntesten auch die besten Punkte zum Weitermachen sind.
Ich würde vorschlagen, am Anfang den nördlichsten, südlichsten,
östlichsten und westlichsten Punkt zu nehmen und mit diesen zwei bis vier
Punkten zu beginnen; die Reduktion von vier Punkten auf drei braucht man
im Algorithmus eh.
So, und jetzt die fehlenden Sätze:
Satz 1: Der Hüllkreis ist eindeutig.
Beweis: Gäbe es zwei Hüllkreise, so würden sie sich in einem
Kreisbogenzweieck schneiden, das alle Punkte des Punkthaufens enthält. Das
hätte aber einen kleineren Hüllkreis.
Satz 2: Der Hüllkreis enthält nicht zwei Punkte des Punkthaufens in der
Weise, dass sie sich nicht gegenüberliegen und der längere der beiden
Kreisbögen keinen weiteren Punkt des Punkthaufens enthält.
Beweis: Wir teilen die Ebene mittels der Geraden durch die beiden Punkte
in zwei Halbebenen. Sei R die Halbebene (ohne die Gerade), die den
längeren Kreisbogen enthält und sei K die Menge der Punkte des
Punkthaufens, die in R liegen. Wir bestimmen nun den kleinsten Winkel
alpha unter den Winkeln, unter denen von einem Punkt aus K die Strecke
zwischen den beiden gegebenen Punkten erscheint. Dann unterscheiden wir:
- Ist alpha > 90° oder ist K leer, so ist der Kreis ein Hüllkreis, der die
Strecke zwischen den beiden Punkten als Durchmesser hat.
- Sonst ist der Fasskreis zum Winkel alpha über dieser Strecke der
Hüllkreis.
In beiden Fällen ist der neu konstruierte Hüllkreis kleiner als der
gegebene, im Gegensatz zur Minimaleigenschaft.
Satz 3: Der Hüllkreis eines Punkthaufens enthält mindestens zwei Punkte
davon. Wenn er genau zwei Punkte enthält, liegen sie sich auf dem Kreis
gegenüber.
Beweis: Im Fall von zwei Punkten folgt das aus Satz 2. Im Fall von keinem
oder einem Punkt ließe sich der Punkthaufen um zwei bzw. einen Punkt so
ergänzen, dass Satz 2 verletzt würde.
Satz 4: Der Hüllkreis der Ecken eines spitzwinkligen Dreieck ist dessen
Umkreis.
Beweis: Nach Satz 3 gibt es nur drei Kandidaten für einen Hüllkreis mit
nur zwei Punkten darauf. Die funktionieren alle nicht. Also muss der
Hüllkreis durch alle drei Punkte gehen und das tut nur der Umkreis.
Satz 5: Der Hüllkreis eines Punkthaufens ist der Hüllkreis einer zwei-
oder dreielementigen Teilmenge des Punkthaufens.
Beweis: Der Hüllkreis enthält mindestens zwei Punkte des
Punkthaufens. Enthält er mehr als drei, so kann man welche weglassen,
solange das Dreieck spitzwinklig bleibt; das lässt sich immer erreichen,
wenn sich nicht zwei Punkte gegenüberliegen.
Das wars.
--
Helmut Richter