Kreisschnittpunkt-Berechnung
-
Es geht eigentlich um folgendes:
Ich habe einen Kreis auf einem Formular.
Wenn ich nun mit der Maus auf das Formular klicke, erhalte ich einen Punkt x,y.Ich möchte den Schnittpunkt der Geraden vom Punkt (x,y) durch den Mittelpunkt des Kreises (mx,my) mit dem Kreis berechnen.
Gruss Daniel666
-
Also dann:
Dann stellen wir doch die Gerade erstmal auf:
g: (x1,x2) = X = (xm,ym) + t*(x-xm,y-ym) mit t \in R
x1 = xm+t*(x-xm)
y1 = ym+t*(y-ym)Und der Kreis:
(x1-xm)2+(y1-ym)2 = r^2, r ist Radius.
Einsetzen von x1,y1:(t*(x-xm))^2 + (t*(y-ym))^2 = r^2
t^2 ((x-xm)2+(y-ym)2) = r^2
t^2 = r^2 / ((x-xm)2+(y-ym)2)Also t = +- √(x-xm)2+(y-ym)2
Wenn Du diese ts jetzt oben in die Geradengleichung einsetzt kriegst Du die Schnittpunkte. Es gibt nämlich deren zwei und nicht nur einen.Hoffe das hilft!
Jester
-
...super besten Dank...meine mathematischen Kenntnisse scheinen doch etwas eingerostet !
Gruss Daniel666
-
Geht das auch noch umgekehrt ?
Also mal angenommen der Kreis hat einen Umfang von 1000 Pixeln und ich habe die Koordinaten eines Punktes, der auf dem Kreis liegt.
Wie bekomme ich heraus der wievielte Punkt des Kreisumfangs das ist ?Gruss Daniel666
-
Ein Kreisumfang hat keine Punkte. Wenn Du die Kreislini meinst, die hat unendlich viele Punkte (sogar überabzählbar viele), das heißt man kann da garnicht ordentlich zählen. Oder was meinst Du?
-
Wenn ich den Umfang eines Kreises berechne mit 2*r*PI erhalte ich doch einen Wert, z.B. 1000.
In meinem Programm wären das dann 1000 Pixel.
Wenn ich die Koordinaten eines Punktes habe, der auf dem Kreis liegt, wie kann ich den Punkt bezogen auf den Umfang bekommen ?Also z.B. 500 Pixel,was 50% des Umfanges entsprächen.
Ich hoffe es ist ein wenig klarer geworden...
-
Hm dazu müßtest Du noch einen Punkt festlegen von dem aus Du rechnest. Und was Du raushaben willst ist die Bogenlänge zwischen diesen Punkte.
Wenn Du eine Stelle festgelegt hast, dann könntest Du den Winkel zwischen den Verbindunglinien des Kreismittelpunktes zu den beiden Punkten auf dem Rand bestimmen. Dieser Winkel/360° * Kreisumfang ist dann die Bogenlänge.
-
Sorry, dass ich so blöd bin...
Ich habe einen zweiten Punkt, den Startpunkt (1,1).
Wenn ich nun den zweiten Punkt habe, wie kann ich da denn den Winkel berechnen ?
Ich bin mir schon klar darüber, dass das Mathematik der Unterstufe ist, habe aber wirklich keine Ahnung mehr.
Geht das mit sin und cos ?
-
Zum Beispiel, oder mit Skalarprodukt, damit berechnest Du allerdings den cos des Winkels.
-
Wie berechne ich denn diesen Winkel ?