Geometrisches Problem
-
Hallo allerseits!
Folgendes Problem gibt mir im Moment zu denken und ich habe bis jetzt noch keine zufriedenstellende Lösung gefunden.
Gegeben seien 3 Punkte A, B, C im R^2 und ein Kreis mit bekanntem Radius R und Mittelpunkt B. Der Einfachheit halber sei A und C außerhalb des Kreises. Gesucht ist nun die minimale Länge einer Verbindung von A und C unter der Bedingung, dass zwischendurch der Kreis um B berührt wird. Die folgende Zeichnung verdeutlicht den Sachverhalt:
http://www.abload.de/img/bildm40e.png
Mein Ansatz bisher: Berechnung der Summe der Teilstreckenlängen s1 und s2, einsetzen der parametrischen Kreisgleichungen ( x = R cos φ + B.x, y = R sin φ + B.y ) und dann Ableiten nach φ und Nullsetzen. Jedoch hat sich selbst Mathematica die Zähne daran ausgebissen, wenn man nicht im Vorfeld Zahlenwerte für die Koordinaten der Punkte A, B, C und R angibt. Mir wäre jedoch sehr an einer möglichst geschlossenen Form der Lösung (in Abhängigkeit der einzelnen Variablen) gelegen.
Ich freue mich über Ideen und Anregungen
Grüße
-
Nachtrag: Genau genommen "berührt" die Verbindung zwischen A und C nicht den Kreis (denn dann müssten in diesem Punkt die Tangenten gleich sein), sondern sie besitzt einen gemeinsamen Punkt mit dem Kreis.
Grüße
-
Tipp: nutze erstmal die Symmetrie des Problems aus und setze oBdA B = 0, R = 1 und A = a*e_x,
dann werden die Formeln schonmal etwas übersichtlicher.
-
Auf diese (zugegeben naheliegende) Idee kam ich gar nicht. Ich habe es gerade einmal ausprobiert, jedoch kann ich (bzw. Mathematica) die Gleichung auch mit diesen Vereinfachungen nicht lösen. Mit deinem Ansatz (allerdings unter Verwendung von C_neu = c*e_x und nicht A_neu = a*e_x - ist ja aufgrund der Symmetrie egal) ergeben sich dann für die beiden Teilstrecken
Der gemeinsame Punkt auf dem Kreis ist hierbei mit (x|y) bezeichnet. xA, yA und yC sind die bereits transformierten Werte (durch das Ausnutzen der Symmetrie von C14s Vorschlag).
Der Kreis ist nun nach der Transformation durch
beschrieben. Einsetzen und Ableiten führt dann auf
\frac{\text{d}}{\text{d}\phi}\big(s\_1(\phi)+s\_2(\phi)\big) = \frac{x\_A\sin\phi-y\_A\cos{\phi}}{\sqrt{1+x\_A^2+y\_A^2-2x\_A\cos\phi-2y\_A\sin\phi}}-\frac{y\_C\cos\phi}{\sqrt{1+y\_C^2-2y_C\sin\phi}}$$. Und nu? Wie löst man das (nach Nullsetzen) nach φ auf? Grüße
-
Nachtrag...: Ich habe natürlich in der Rechnung C_neu = c*e_y gesetzt und nicht e_x. Das ändert aber nichts an der Lösung.
Grüße
PS: Habe mich jetzt mal hier registriert...
-
Hat keiner eine Idee...?
Ich mag irgendwie nicht glauben, dass so ein scheinbar einfaches Problem eine so schwierige Lösung hat...
Grüße
-
Interessante Aufgabe.
Ich habe mal versucht, das Problem etwas geometrischer anzugehen. Die Idee ist folgende (siehe http://www.abload.de/image.php?img=murx3u6y.png)
0. Wir suchen den Punkt P auf einem gegebenen Kreis um A, fuer den BP+CP minimal wird.
1. Die Ellipse mit den Brennpunkten B und C durch P beruehrt den gegebenen Kreis in P.
(Warum? Weil fuer jeden Punkt P' auf der Ellipse BP'+CP' eine Konstante ist. Und diese Konstante ist minimal, wenn sich Kreis und Ellipse beruehren).2. Damit haben Kreis und Ellipse eine gemeinsame Tangete mit dem gemeinsamen Beruehrpunkt P. Damit kann man was anfangen:
(2a) Als Tangente an einen Kreis ist die Gerade durch A und P die zugehoerige Normale.
(2b) Als Tangente an eine Ellipse halbiert die zugehoerige Normale den Winkel BPC (ein Strahl BP wird also nach C reflektiert).3. Was hilft uns das? Wir koennen versuchen, alle Punkte P' zu finden, fuer die AP' den Winkel BP'C halbiert. Und der Schnittpunkt mit dem gegebenen Kreis ist dann die Loesung des eigentlichen Problems. Die Hoffnung dabei ist, dass die Punkte P' einfach ausgerechnet/konstruiert werden koennen. In der Tat braucht man nur lineare Gleichungen zu loesen (siehe naechter Beitrag).
-
Wie findet man jetzt alle diese Punkte P' (siehe 3.) ? Man kann fuer jede Gerade durch A die "zwischen" AB und AC liegt eine Loesung konstruieren:
0. P' soll auf Gerade g: y=m*x liegen [A=(0,0)]
1. Man kann das Lot von B=(b,0) auf g faellen und erhaelt fuer den Lotfusspunkt D=(1,m)*b/(m^2+1)
2. Der Punkt E=B+BD=(b,0)+(-m,1)*2bm/(m^2+1) bildet mit den Punkten A und B ein gleichschenkliges Dreieck, wobei AD die Hoehe/Winkelhalbierende ist.
3. Damit ist der Schnittpunkt der Geraden CE und AD unser gesuchter Punkt P'.
Bis dahin sind nur elementare Gleichungen zu loesen. Malt man alle Punkte P' fuer beliebige Geraden (d.h. m) auf bekommt man die rote/blaue Kurve. Also doch nicht so einfach. Die gesuchte Loesung des eigentlichen Problems ist dann eben der Schnittpunkt der roten/blauen Kurve mit dem Kreis um A.
Vielleicht hat ja jemand eine bessere Idee ?
PS. ich haenge mal noch den Asymptote code fuer das Bild an, wenn jemand spielen moechte.
import math; import geometry; import metapost; size(500,0); real b=1, c=0.6, d=0.5; pair A=(0,0); pair B=(b,0); pair C=(c,d); /* Return point P wich lies on the line g: y=mx and has the same angles APB and APC */ pair P(real m, bool bDraw) { pair pD=(1,m)*b/(m^2+1); pair pE=(-m,1)*2m*b/(m^2+1)+B; pair pP=extension(A,pD,pE,C); if (bDraw){ dot("D",pD,E); dot("E",pE,N); dot("P",pP,S); draw(B--pE,dashed); draw(A--1.5b*(1,m),dashed); draw(pE--pP,dotted); } return pP; } draw(A--B--C--cycle); dot("A",A,S); dot("B",B,S); dot("C",C,N); pair pP=P(tan(0.55*atan(d/c)),true); draw(ellipse(B,C,pP)); draw(circle(A,abs(pP))); // General Solution for any radius guide s1,s2; for (real m=0.0; m<d/c; m+=0.01){ pair pP=P(m,false); if (pP.x>=b) { s1=s1--pP;} else { s2=s2--P(m,false);} } draw(s1,red); draw(s2,blue); clip(shift((-1,-1))*scale(3,2)*((0,0)--(1,0)--(1,1)--(0,1)--cycle));
-
Hallo Seppel,
vielen Dank für deine Mühe! Das mit dem Ellipsenansatz ist eine sehr interessante Idee, auf die ich gar nicht kam. Jedoch steht ja auch hier am Ende das Lösen einer komplexen nichtlinearen Gleichung... Echt verzwickt.