Schnittpunkt von drei Kreisen programmgesteuert finden [geschlossen]

8

Wie der Titel sagt, Ich habe 3 Kreis .

Jeder hat einen anderen Radius . Ich kenne den Radius jedes Kreises.

Kenne auch die Mittelpunkte jedes Kreises.

Jetzt muss ich wissen, wie ich den Schnittpunkt von drei Kreisen programmatisch berechnen kann, gibt es irgendeine Formel oder etwas?

Es kann wie folgt aussehen:

    
Alex Chengalan 01.11.2013, 09:00
quelle

2 Antworten

6

Sie können Hilfe von diesem C-Code erhalten. JAVA zu portieren sollte keine Herausforderung sein. Erklärung ist hier . Suchen Sie nach / blättern Sie zu: Schnittpunkt zweier Kreise

Suchen Sie mit dieser Methode nach dem Schnittpunkt zweier beliebiger Kreise. Sagen wir (x,y) . Jetzt schneidet der dritte Kreis den Punkt x,y nur dann, wenn der Abstand zwischen seinem center und dem Punkt x,y gleich r ist.

case 1) Wenn distance(center,point) == r , dann ist x,y der Schnittpunkt.

case 2) Wenn distance(center,point) != r , dann existiert kein solcher Punkt.

Code (portiert von [hier! alle Credits des ursprünglichen Autors):

%Vor%

Rufen Sie diese Methode wie folgt auf:

%Vor%

Definieren Sie auch EPSILON auf einen kleinen Wert, der für Ihre Anwendungsanforderungen akzeptabel ist

%Vor%

Hinweis: Vielleicht sollte jemand testen und überprüfen, ob die Ergebnisse korrekt sind. Ich kann keinen einfachen Weg finden, dies zu tun. Arbeitet für die grundlegenden Fälle, die ich versucht habe

    
Amulya Khare 01.11.2013 09:38
quelle
4

Sie können die folgende Bedingung verwenden:

%Vor%

wo x und y - Koordinaten Ihres Punktes, x0 und y0 - Koordinaten des Mittelpunkts des Kreises, R - Radius des Kreises, ^ 2 - Quadrieren. Wenn die Bedingung erfüllt ist, befindet sich der Punkt innerhalb (oder am Umfang bei Gleichheit der linken und rechten Teile). Wenn nicht, ist der Punkt außerhalb des Kreises.

%Vor%     
user2558337 01.11.2013 09:32
quelle

Tags und Links