Gemeinsamer Schnittpunkt von drei Kugeln berechnen?
Ich brauche ein Verfahren das immer funktioniert und die gemeinsamen Punkte von drei Kugeln liefern.
Eine Näherungslösung ist auch in Ordnung.
(1): (x-x_1)^2 + (y-y_1)^2 + (z-z_1)^2 = r_1^2
(2): (x-x_2)^2 + (y-y_2)^2 + (z-z_2)^2 = r_2^2
(3): (x-x_3)^2 + (y-y_3)^2 + (z-z_3)^2 = r_3^2
x, y, z sind die jeweiligen Unbekannten
Hab schon versucht dieses Ding als Gleichungsystem zu formulieren, indem ich Zeile 1-2, 2-3 usw. abgezogen habe, damit sich jeweils der x^2 + y^2 + z^2 Teil eliminiert, naja, dieses Gleichungsystem hat dann manchmal keine Lösung mit der verlorenen Information. Oder manchmal fehlt eine der drei Größen, ergibt sich eben.
So per Hand kann man es lösen, ja, indem man ineinander einsetzt und mit dem Quadratteil arbeitet. Das kann ich meinem Computer aber nur aufwendig beibringen. Am liebsten wäre mir eine Näherungslösung oder dieses Ding als lösbares Gleichungsystem und Gaußverfahren und fertig.
....
2 Antworten
Die Lösung des GSL ist deshalb schwierig, weil man folgende Fälle unterscheiden muss
- die Kugeln schneiden sich nicht
- die Kugel schneiden sich, haben aber separierte Schnittmengen (z.B. wenn zwei kleine Kugeln am Nord- und Südpol der grossen Kugel eintauchen). Dann entstehen zwei Kreise als Schnittmenge.
- Kugeln schneiden sich alle drei. In diesem Fall reduziert sich die Schnittmenge auf zwei Punkte.
Das alles als gemeinsame Kurve in Abhängigkeit von x,y,z anzugeben ist nicht möglich.
Die ersten zwei Fälle treten in meinem Anwendungsfall nicht ein - aus technischen Gründen, hätte ich erwähnen sollen. :D
In meinem Anwendungsfall gibt es immer einen gemeinsamen Punkt, max 2 Punkte zwischen allen Kugeln.
So eine Art GPS, brauche ich für einen Vortrag. Die Größe der Kugeln richtet sich immer nach dem Abstand zum Empfänger, der berechnet werden kann, an diesem Punkt schneiden sich die Kugeln, den gilt es herauszufinden.
Das sollte helfen :)
Die komplexen Zahlen kenne ich, weiß aber nicht wie mich das zu einer allgemeinen, computerfreundlichen Lösungen für alle Fälle führt.