AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Kreisradius berechnen Tangente,Tangente,Durchpunkt
Thema durchsuchen
Ansicht
Themen-Optionen

Kreisradius berechnen Tangente,Tangente,Durchpunkt

Ein Thema von Bomberbb · begonnen am 9. Dez 2008 · letzter Beitrag vom 10. Dez 2008
 
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#16

Re: Kreisradius berechnen Tangente,Tangente,Durchpunkt

  Alt 9. Dez 2008, 16:13
Dann lass mal den Profi ran *g*

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
Ich pack mal den Hammer aus

Sooo, und jetzt kommt der hilfreiche Teil

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
Angehängte Dateien
Dateityp: pdf beispiel_653.pdf (316,7 KB, 23x aufgerufen)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:13 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