Schnittpunkte im 2-D Raum

Hallo!

Suche nach dem Lösungsweg für die Bestimmung des Schnittpunktes (x,y) zweier Kreisbögen, die sich auf einer Ebene befinden. Ebenso für den Schnittpunkt zwischen einem Kreisbogen und einer Geraden. Von den Bögen ist der Startpunkt (x,y), der Endpunkt (x,y), der Mittelpunkt (x,y) gegeben. Von der Geraden ist ebenfalls der Start- und Endpunkt (x,y) bekannt. Die Lösung sollte auch Auskunft darüber geben, falls sich die beiden Objekte nicht schneiden.

Suche nun für obiges Problem eine generelle Lösungsformel.

Danke schon mal im Vorraus,
Sebastian

Hallo Sebastian

Erst mal die Basics: ich nehme an du kennst die Kreisgleichung

(x-xo)2 + (y-yo)2 = R2, wo M(xo, yo) der Mittelpunkt ist und R der Radius.

Des weiteren benötigen wir die Geradengleichung; wenn davon 2 Punkte P(x1, y1) und Q(x2, y2) gegeben sind etwa in der Form:

(y-y1) / (x-x1) = (y2 - y1) / (x2 - x1).

Nun zu den Aufgaben:
Erst mal Schnitt Gerade/Kreis: Kreisgleichung aufstellen (dazu musst du erst mal noch den Radius ermitteln), Geradengleichung aufstellen, das ergibt ein System einer quadratischen und einer linearen Gleichung mit zwei Unbekannten. Mithilfe der (linearen) Geradengleichung kannst du eine Variable in Abhängigkeit der anderen ausdrücken, das dann einsetzen in die quadratische Gleichung womit eine quadratische Gleichung mit 1 Unbekannten übrig bleibt. Diese hat dann je nachdem 2, 1 oder keine Lösung, je nach dem ob die Gerade den Kreis schneidet, tangiert oder weder noch.

Bei der Aufgabe mit den zwei Kreisen ergeben sich zwei quadratische Gleichungen mit zwei Unbekannten, dies zu lösen braucht bisschen Ausdauer, müsste aber möglich sein.

Eine allgemeine Lösungsformel kann ich dir im Moment aber auch nicht angeben. Vielleicht findest du sie auf diese Art ja selber!

Nun hoffe ich, dass du das nicht alles schon gewusst hast, ansonsten google doch selber noch ein bisschen rum (Stichwort quadratische Gleichungssysteme)!

Gruss, Bruno

Hallo Bruno!

Vielen Dank für den Ansatz, die Grundzüge sind mir jetzt (wieder) geläufig. Ich werde mich mal im Netz nach einer allgemeinen Lösungsformel umsehen, denn ich suche wie oben schon erwähnt eine allgemeine Formel um ein Programm zu schreiben.

Danke,
Sebastian

Hallo Sebastian

Ach so, ein Programm möchtest du schreiben. Des weiteren schliesse ich aus deiner Antwort, dass du dir doch nicht so recht zutraust, das Problem allein zu lösen. Also nochmal.

Schnitt Gerade/Kreis:

Kreisgleichung: (x - xo)2 + (y - yo)2 = R2,
wobei M(xo, yo) der Mittelpunkt und R der Radius des Kreises ist.

Nach Ausmultiplizieren der quadratischen Ausdrücke erhältst du:

x2 + y2 - 2xox - 2yoy + xo2 + yo2 - R2 = 0

Die Geradengleichung kannst du in die Form

y = mx + b bringen (m = Steigung, b = y-Achsenabschnitt).

Nun kannst du dies in die Kreisgleichung einsetzen, ergibt:

x2 + (mx+b)2 - 2xox - 2yo(mx+b) + xo2 + yo2 - R2 = 0

bzw. (ausmultiplizieren, Terme mit gleichen Potenzen in x zusammenziehen)

x2(1+m2) + x(2mb - 2xo - 2yom) + xo2 + yo2 + b2 - R2 - 2yob = 0.

(nachrechnen bitte!)

Das ist eine quadratische Gleichung der Form

Ax2 + Bx + C = 0 mit den Lösungen

x1,2 = (-B +/- Wurzel(B2 - 4AC)) / 2A,
welche 2, eine oder keine Lösung hat, je nachdem ob der Ausdruck unter der Wurzel positiv, 0 oder negativ ist.

So und den Schnitt zweier Kreise überlasse ich dir (du wirst das schaffen, versuche es!), ich gebe dir noch den folgenden Tip:
Die beiden quadratischen Gleichungen (die den Kreisen entsprechen) voneinander subtrahieren, dann fallen die quadratischen Terme in x und y raus, es resultiert eine lineare Gleichung in x und y, womit du y linear durch x ausdrücken kannst und das Problem wieder dasselbe ist wie obiges.

Gruss und viel Glück, Bruno

Das Geschriebene gilt natürlich unter der Voraussetzung, dass die gegebene Gerade nicht parallel zur y-Achse ist. Ist die Gerade parallel zur y-Achse (was dann der Fall ist, wenn die beiden gegebenen Punkte den gleichen x-Wert haben), dann hat sie die Gleichung x=konstant und die Sache wird noch einfacher (nach Einsetzen in der Kreisgleichung ergibt sich dann sofort eine quadr. Gleichung in y). Dein Programm muss natürlich diesen Fall behandeln!
Bruno

Hallo Bruno!

Vielen Dank für deine Mühe! Ich denke, ich bekomme das Problem nun in den Griff. Ohne Deine Hilfe wäre ich wohl (wegen meiner beschränkten Mathe-Kenntnisse) verloren gewesen.

Nochmals vielen Dank,
Sebastian