Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Kreisradius berechnen Tangente,Tangente,Durchpunkt (https://www.delphipraxis.net/125627-kreisradius-berechnen-tangente-tangente-durchpunkt.html)

DerDan 9. Dez 2008 13:27

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Neue Zeichnung ?


mfg

DerDan

Bomberbb 9. Dez 2008 13:34

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Liste der Anhänge anzeigen (Anzahl: 1)
jepp...

Ich kenne die Geraden und den Durchpunkt und benötige nur den Radius des Kreises.

DerDan 9. Dez 2008 13:52

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Den Radius und den Mittelpunkt?


-> Mann könnte eine Punkt(PT) über die Winkelhalbierende(WH) schieben.
Von diesem gedachten Punkt berechnet man den Abstand (LW) zu dem Durchpunkt(DP) und den Abstand(LG) zu einer der Lotrechten(LR) auf eine der Geraden zu diesem gedachten Punkt(PT).

Man erhält nun zwei Gleichungen die man gleich setzt und auflöst.

Dadurch erhält man den Mittelpunkt(MP) des Kreises. Der Radius ist der Abstand zwischen Mittelpunkt(MP) und Durchpunkt (DP).

Mit ein, zwei Din A4 Seiten müsste das gehen.




Das kann man sich sicher mit GeoGebra mal anschauen. http://www.geogebra.org/cms/

mfg

DerDan

DerDan 9. Dez 2008 14:50

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,


hab mal eine GeoGebra Datei beigefügt. Da kannst du Dir das alles anschauen, jetzt brauchst du "nur" noch die Formeln aufstellen und ausrechnen.

Im PDF ist ein Bild davon,

sobald die Strecken (h) und (g) gleich lang sind, hast du einen Punkt (E) als Mittelpunkt für deinen Kreis gefunden.

mfg

DerDan

Bomberbb 9. Dez 2008 15:33

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Was ähnliches hatte ich mir heute nachmittag auch schon überlegt... nach 1,5 Stunden hab ich das mit dem 'nur och Auflösen' aufgegeben. Mal schauen, was der nächste Tag bringt. Nun ist der Kopf ganz schön voll.

jfheins 9. Dez 2008 16:13

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Liste der Anhänge anzeigen (Anzahl: 1)
Dann lass mal den Profi ran *g* :mrgreen:

Ohne Verlust der Allgemeinheit (ich liebe diesen Satz) können wir das Problem in den Ursprung transformieren.

Das heißt, wir haben den Punkt im Ursprung und eine Gerade, die im Winkel alpha zur X-Achse hochgeht.

Desweiteren haben wir den Punkt P(x|y) der auf dem Kreis leigen soll.

Der Kreismittelpunkt liegt auf der X-Achse und hat somit die Koordinaten M = (Xm|0))

Aus der Tangentenbedingung erhalten wir die Formel r = Xm * sin(alpha)

Aus de Punktbedingung erhalten wir mit Pythagoras r^2 = y^2 + (Xm - x)^2
Bedenke, dass es 2 Lösungen gibt: Xm > x und Xm < X

Wenn man die 2. Gleichung nach Xm auflöst und in die erste einsetzt, erhält man für den Radius:

r = (x ± sqrt(r^2-y^2)) * sin(alpha)

Du brauchst es nicht zurücktransformieren, da dich der Kreismittelpunkt ja nicht interessiert ;)

Falls du Fragen hast, frag ;)

Btw.: Die Koordinatentransformation besteht aus der Translation (Verschiebung) und der Rotation um einen Winkel (multiplikation mit der Drehmatrix)

Edit: Ups, da oben ist ja noch ein r auf beiden Seiten :oops:
Ich pack mal den Hammer aus :stupid:

Sooo, und jetzt kommt der hilfreiche Teil :mrgreen:

Nachdem man statt der oberen Gleichung die implizite Gleichung

r^2=y^2+(r/Sin[a]-x)^2

benutzt, und diese in ein normales 08/15 CAS eintippt, erhält man folgende Ausgabe:
Code:
*                               2    2    2       2
               x Csc[a] - Sqrt[x + y - y Csc[a] ]
        {{r -> -------------------------------------},
                                      2
                           -1 + Csc[a]
 
                            2    2    2       2
           x Csc[a] + Sqrt[x + y - y Csc[a] ]
     {r -> -------------------------------------}}
                                  2
                       -1 + Csc[a]
Wobei Csc der Cosekans ist: Csc(a) = 1/sin(a)

Außerdem ist a = alpha, X und Y sind die Koordinaten des Punkts im gedrehten Koordinatensystem.

Wie oben prophezeit bekommst du 2 Lösungen für r.

Um die Koordinaten im gedrehten System zu erhalten muss tdu folgendes machen:

P_neu = (inv. Drehmatrix mit beta) * (P_alt - P_1)


Spätestens jetzt bist du verwirrt, deshalb mal ein Beispiel im Anhang ;)

Bomberbb 10. Dez 2008 09:25

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Erst mal danke. Ich bin zwar auch noch auf eine Lösung gekommen, aber die war deutlich komplizierter...

Ich für meinen Fall brauche auch nur die zweite Lösung, da in meinem Fall der Gesuchte Radius immer der Größere ist.

Sag mal hast du noch einen Tip für ein kostenloses CAS? hab mir nit der Formelumstellerei doch recht schwer getan. Lange nicht mehr gemacht...

jfheins 10. Dez 2008 09:57

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Ich hab das damit gemacht, aber das ist nichts für den produktiven Einstatz.

Neben Mathematica geht das sicher auch mit Matlab - diese beiden dürften wohl die bekanntesten/verbreitesten sein. Aber kostenlos sind die nicht ;) (Sonst such mal auf Sourceforge nach "computer algebra system" ...)

Bedenke übrigens, dass meine "einfache" Lösung nicht zuletzt wegen der Koordinatentrafo zustande kommt. Wenn du die nicht machst, wirds komplizierter. Oder du setzt sie noch mit in die Formel ein, ist aber auch nicht ohne ...

DerDan 10. Dez 2008 11:56

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Schaust du hier:

http://www.partow.net/projects/fastgeo/index.html



da gibt es viele Funktionen schon fertig, die du für CAD Berechnungen brauchen kannst!


mfg


DerDan

p.s. Fastgeo soll mal in Jedi Math einfließen.

Bomberbb 10. Dez 2008 12:19

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
@jfheins: Genau das war mein Problem bei meinem Lösungsansatz...

@DerDan: Ich werds mir mal anschauen...

DANKE!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:17 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz