Ich bin an einem Problem arbeiten, die folgend reduziert im Wesentlichen nach unten:Finden Kreis von bestimmtem Radius, der keine Punkte enthalten
Gegeben:
- einer Reihe von
(x,y)
Punkten. Es kann 0 Punkte in der Menge geben. - min und max
x
undy
Werte, wobei die Mindestwerte immer nicht negativ sind. - ein Radius
r
bestimmen, ob es möglich ist, einen Kreis mit dem Radius r Ort irgendwo auf der Ebene, so dass der Kreis in-Grenzen und enthält keine der Punkte, und wenn ja, gib diesen Ort zurück.
Schnittpunkte sind erlaubt - Punkte aus dem Satz können den Kreis schneiden, aber sie können nicht durch den Kreis enthalten sein. Der Kreis kann tangential die minimalen und maximalen x- und y-Werte berühren, aber nicht außerhalb der Grenzen liegen.
Das Ergebnis wäre ein (x,y)
Punkt, wo die Mitte des Kreises gehen würde, oder ein Dummy-Ergebnis (d. H. (-1,-1)
)/Fehler, wenn es keinen solchen Ort gibt. Wenn es mehrere gültige Lösungen gibt, ist die Rückgabe von beliebigen in Ordnung.
Irgendwelche Ideen zu einem Algorithmus für einen solchen Ort zu lösen? Ich werde am Ende in Java implementieren, aber ich kann mit psuedocode arbeiten.
Also, Sie wollen sagen "Geben Sie n Punkte und einen Bereich, finden Sie den Kreis, der in einem Bereich ist und Nullpunkte enthält." ? – square1001
Wo dieser Kreis den gegebenen Radius 'r' hat, yeah. Angenommen, Sie meinen einen zweidimensionalen Bereich. – Mshnik