Delphi-PRAXiS

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)

Bomberbb 9. Dez 2008 09:18


Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Kann mir da wer helfen? Ich hab schon ein wenig gegrübelt, komme aber auf keinen Lösungsansatz.

Ich brauche den Radius eines Kreises, der tangential zu zwei geraden ist und durch einen Punkt geht, der auf der Winkelhalbierenden der beiden Geraden liegt...

Bin nur so weit gekommen, dass ich weiß, dass es zwei Lösungen geben wird...

DerDan 9. Dez 2008 09:35

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Hallo,

Hast du mal eine Zeichnung deines Problems?

mfg
DerDan

Bomberbb 9. Dez 2008 09:45

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hoffe, die Skizze reicht aus. Die beiden durchgehenden Linien sind gegeben und der Punkt.
Mir ist auch gerade noch ein evtl. einfacher Lösungsansatz gekommen. Bloß auch da komm ich nicht weiter. Ich müsste Dazu einen Kreis berechnen, der drei Geraden tangiert.

Sherlock 9. Dez 2008 09:55

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Hmmm, das sollte eigentlich nicht sooo schwer sein.
Gegeben ist ja der Winkel zwischen den beiden Geraden. Ausserdem ist gegeben der Punkt auf der Winkelhalbierenden.

Der Radius des Kreises steht senkrecht auf den Tangenten, auf beiden ;)

Wenn Du auf Deinem Bild mal den Radius einzeichnest erhälst Du ein schönes rechtwinkliges Dreieck mit zwei bekannten Größen: Hypothenusenlänge und einen Winkel (hälfte des Winkels zwischen den beiden Geraden). Der Rest ist Trigonometrie: Was Du suchst ist die Länge der Gegenkathete.

Sherlock

Amateurprofi 9. Dez 2008 10:06

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Zitat:

Zitat von Sherlock
Hmmm, das sollte eigentlich nicht sooo schwer sein.
Gegeben ist ja der Winkel zwischen den beiden Geraden. Ausserdem ist gegeben der Punkt auf der Winkelhalbierenden.

Der Radius des Kreises steht senkrecht auf den Tangenten, auf beiden ;)

Wenn Du auf Deinem Bild mal den Radius einzeichnest erhälst Du ein schönes rechtwinkliges Dreieck mit zwei bekannten Größen: Hypothenusenlänge und einen Winkel (hälfte des Winkels zwischen den beiden Geraden). Der Rest ist Trigonometrie: Was Du suchst ist die Länge der Gegenkathete.

Sherlock

Wenn ich die Frage richtig verstanden habe, markiert der gegebene Punkt nicht den Mittelpunkt des Kreises, sondern den Punkt, in dem der Kreis die Winkelhalbierende schneidet.
Und dann ist das nicht ganz so trivial.

@Bomberbb: hab ich das richtig verstanden ?

Bomberbb 9. Dez 2008 10:38

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Liste der Anhänge anzeigen (Anzahl: 1)
Nun hab ich ne Lösung, aber die scheint mir doch sehr einfach... Nun ich werde mal schauen, ob das richtig ist...
Delphi-Quellcode:
sin(alpha) = r/(a+r)
r = sin(alpha)*(a+r)
r = a*sin(alpha) + r*sin(alpha)
r-r*sin(alpha) = a*sin(alpha)
r*(1-sin(alpha)) = a*sin(alpha)
r = a*sin(alpha) / (1-sin(alpha))

DerDan 9. Dez 2008 11:31

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Nur mal aus neugier,


schreibst du ein CAD Programm?

Bomberbb 9. Dez 2008 11:56

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Jain, kein wirkliches CAD-Programm, aber mit einigen CAD-Berechnungen.

DerDan 9. Dez 2008 12:04

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Nochmal neugier:

Und für welche Bracnche


mfg

DerDan

Bomberbb 9. Dez 2008 12:09

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Tischler...

p.s.: Die Berechnung scheint zu stimmen, leider bin ich nur von falschen Voraussetzungen ausgegangen... *heul*

Der gegebene Durchpunktliegt nicht auf der Winkelhalbierenden. Und schon verließen sie ihn...

Hat jemand eine Idee?

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!!!

jfheins 10. Dez 2008 20:22

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt
 
Wegen kostenlosem CAS:

Aus dem anderen Thread: http://www.delphipraxis.net/internal...=974825#974825

http://wxmaxima.sourceforge.net/wiki....php/Main_Page bzw. http://maxima.sourceforge.net/ ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 Uhr.

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