AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Schnittpunkte einer Geraden mit einem Kreis berechnen
Thema durchsuchen
Ansicht
Themen-Optionen

Schnittpunkte einer Geraden mit einem Kreis berechnen

Ein Thema von mirage228 · begonnen am 10. Nov 2004 · letzter Beitrag vom 10. Nov 2004
Antwort Antwort
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#1

Schnittpunkte einer Geraden mit einem Kreis berechnen

  Alt 10. Nov 2004, 20:11
Hi,

ich habe mich gerade an etwas in Delphi versucht. Aber irgendwie kriege ich das nicht vernünftig hin.

Ich habe einen Kreis an X/Y mit Radius (Werte sind im Programm bekannt).
Nun habe ich eine Gerade, die bei X/Y (Werte bekannt) startet und ich nur dessen Richtungswinkel kenne.

Jetzt wollte ich die beiden Schnittpunkte mit dem Kreis berechnen (falls es überhaupt welche gibt) - In Delphi!
Aber ich kriege es nicht hin die Formeln (Geradengleichung in Kreisgleichung etc.) so umzuformen, dass ich nach X auflösen kann

Kann mir wer auf die Sprünge helfen?

mfg
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Schnittpunkte einer Geraden mit einem Kreis berechnen

  Alt 10. Nov 2004, 20:14
Zitat:
Ich habe einen Kreis an X/Y mit Radius (Werte sind im Programm bekannt).
Nun habe ich eine Gerade, die bei X/Y (Werte bekannt) startet und ich nur dessen Richtungswinkel kenne.

Jetzt wollte ich die beiden Schnittpunkte mit dem Kreis berechnen (falls es überhaupt welche gibt) - In Delphi!
Die Gerade geht durch den Mittelpunkt deines Kreises und du kennst den Winkel gegen eine Achse. Also wird es doch immer zwei Schnittpunkt geben und die kannst du doch mit ein bischen Trigonometrie errechnen.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Schnittpunkte einer Geraden mit einem Kreis berechnen

  Alt 10. Nov 2004, 20:16
Zitat von Toxman:
Zitat:
Ich habe einen Kreis an X/Y mit Radius (Werte sind im Programm bekannt).
Nun habe ich eine Gerade, die bei X/Y (Werte bekannt) startet und ich nur dessen Richtungswinkel kenne.

Jetzt wollte ich die beiden Schnittpunkte mit dem Kreis berechnen (falls es überhaupt welche gibt) - In Delphi!
Die Gerade geht durch den Mittelpunkt deines Kreises und du kennst den Winkel gegen eine Achse. Also wird es doch immer zwei Schnittpunkt geben und die kannst du doch mit ein bischen Trigonometrie errechnen.
Hi,

sorry, ich habe mich da etwas undeutlich ausgedrückt. Die Koordinaten vom Mittelpunkt des Kreises entsprechenden nicht den Koordinaten der Startposition der Geraden.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von atreju2oo0
atreju2oo0

Registriert seit: 5. Dez 2003
Ort: Berlin
289 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: Schnittpunkte einer Geraden mit einem Kreis berechnen

  Alt 10. Nov 2004, 20:18
Schnittpunkt X ergibt sich durch...

Sx:= Xkreis+cos(alpha)*radius;

Analog

Sy:=Ykreis+sin(alpha)*radius;

Und dann das ganze nochmal für alpha plus 180° ...
Das sollte die Lösung sein!

[edit] Ach so...Dann ist das oben Quatsch...[/edit]
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Schnittpunkte einer Geraden mit einem Kreis berechnen

  Alt 10. Nov 2004, 20:32
Wie genau soll es denn werden? Du kannst einfach eine Gleichung für deine Gerade aufstellen [Koordinatensystemursprung in das Zentrum des Kreises] und dann schauen wann das hier gilt:
Code:
f(x)=mx+c // Deine Gerade

Wenn du den Kreis (mit Radius r) schneidest gilt der Pythagoras
x²+f(x)²=r
->
r= x²+(mx+c)² = x²+m²x²+2mxc+c²= (1+m²)*x²+(2m)*x+c²
->

0= (1+m²)*x²+(2m)*x+(c²-r)

Jetzt die PQ-Formel und du hast ein exaktes Ergebniss
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Schnittpunkte einer Geraden mit einem Kreis berechnen

  Alt 10. Nov 2004, 20:57
Hi Toxman,

Danke für Deine Antwort.

Ich weiss nun leider nicht, wie ich auf diese Gleichung die PQ Formel anwenden soll:

Zitat:
(1+m²)*x²+(2m)*x+(c²-r)
1.) Für welches X muss ich welche X-Koordinate (Kreis, Geradenusprung?) einsetzen? Das wird für mich aus Deiner Umformung nicht ganz nachvolziehbar...
2.) (1+m)²*x² -> Kann man darauf die PQ-Formel anwenden. Meineswissens ist die nur auf Formeln mit x² + px + q anwendbar.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Schnittpunkte einer Geraden mit einem Kreis berechnen

  Alt 10. Nov 2004, 21:03
Zitat:
0= (1+m²)*x²+(2m)*x+(c²-r)
Wenn du ein x findest, für das diese Gleichung gilt, dann hast du einen Schnittpunkt gefunden.

Die klassische PQ-Formel sieht ja so aus:
x²*px+q=0. Also musst du hier noch etwas Kosmetik machen:

Code:
(1+m²)*x²+(2m)*x+(c²-r) = 0 | *1/(1+m²)

x²+ [(2m)/(1+m²)] *x + [(c²-r)/(1+m²)] = 0

dein p ist hier also p=[(2m)/(1+m²)] und dein q steht hier: q=[(c²-r)/(1+m²)].
Wenn ich jetzt keinen Fehler gemacht habe, solltest du damit auf gute Ergebnisse kommen.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Schnittpunkte einer Geraden mit einem Kreis berechnen

  Alt 10. Nov 2004, 21:13
Hi,

Danke für Deine Antwort.

Ich werde es mir morgen mal anschauen - jetzt gehe ich erstmal schlafen

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz