AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein allgemeine Gleichung von Schnitpunkten 2er Kreise ?
Thema durchsuchen
Ansicht
Themen-Optionen

allgemeine Gleichung von Schnitpunkten 2er Kreise ?

Ein Thema von Kedariodakon · begonnen am 26. Apr 2005 · letzter Beitrag vom 27. Apr 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#1

allgemeine Gleichung von Schnitpunkten 2er Kreise ?

  Alt 26. Apr 2005, 13:03
Ich suche gerade ne allgemeine gleichung zur Berechunng, ich weiß, dass ne Kreisgleichung wie folgt aussieht:

(X-Mx)² + (Y-My)² = R²

da ich 2 habe macht das:

1: (X-M1x)² + (Y-M1y)² = R1²
2: (X-M2x)² + (Y-M2y)² = R2²

Wie komm ich nun auf die dumme Quadratische Gleichung? um zu den 2, 1 oder garkeinen Punkt zu kommen und alle, falls sie gleich sind ^^

Da ich das allgemein brauch, peil ich schon gar net mehr durch

Ich steh irgendwie mächtg aufm Schlauch, man das is so lang her ^^

Mag wer helfen`?
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: allgemeine Gleichung von Schnitpunkten 2er Kreise ?

  Alt 26. Apr 2005, 13:34
Past das schon mal so, oder hab ich mich verrechnet?
Miniaturansicht angehängter Grafiken
l_sung-teil1_452.jpg  
Christian
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: allgemeine Gleichung von Schnitpunkten 2er Kreise ?

  Alt 26. Apr 2005, 13:36
[quote="Kedariodakon"]Ich suche gerade ne allgemeine gleichung zur Berechunng, ich weiß, dass ne Kreisgleichung wie folgt aussieht:

(X-Mx)² + (Y-My)² = R²

da ich 2 habe macht das:

1: (X-M1x)² + (Y-M1y)² = R1²
2: (X-M2x)² + (Y-M2y)² = R2²

Wie komm ich nun auf die dumme Quadratische Gleichung? um zu den 2, 1 oder garkeinen Punkt zu kommen und alle, falls sie gleich sind ^^
[quote]
* Alle Punkte sind gleich, wenn der Mittelpunkt und der Radius beider Kreise gleich ist.
* es gibt genau einen gemeinsamen Punkt, wenn der Abstand der Mittelpunkte gleich der Summe oder Differenz beider Radien ist:
Delphi-Quellcode:
  mabstand := SQRT((M1x-M2x)^2+(M1y-M2y)^2); // Abstand der Mittelpunkte

  if mabstand = R1+R2 then
     ShowMessage('Berührung; 1 Punkt')
  else if mabstand < R1+R2 then
    ShowMessage('2 Schnittpunkte')
  else
    ShowMessage('keine Schnittpunkte');
nicht berücksichtigt ist, wenn der Mittelpunkt eine Kreises im anderen Kreis liegt.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: allgemeine Gleichung von Schnitpunkten 2er Kreise ?

  Alt 26. Apr 2005, 13:56
Nu bin ich so weit und steh voll aufm Schlauch, ich komm einfach net zu der Quadratischen gleichung der For: x²+p*x+q=0

So weit bin ich nun schon:
(ich hoffe das past ^^)

Na klasse und nu will der Formeleditor net werter machen, weil die Formael zu groß ist...
So ein sch***....



Edit: Ok ich glaub ich hab es, wär nett, wenn da mal jemand rüberschauen könnte, ich werd das mal in Code umwandeln, mal schaun obs past
Miniaturansicht angehängter Grafiken
l_sung-teil2_134.jpg  
Angehängte Dateien
Dateityp: pdf kreisberechnung_873.pdf (18,0 KB, 10x aufgerufen)
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: allgemeine Gleichung von Schnitpunkten 2er Kreise ?

  Alt 26. Apr 2005, 15:29
Ok passt mal gar nicht, bei

M1( 414 ; 248 )
M2( 414 ; 5 )
R1 = 243
R2 = 2 * R1 * Sin( 36° ) ~ 285,66363261

gibts bei meiner Formel ne 0er Division
Und das auch verständlicher weise


Weiter gehts
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: allgemeine Gleichung von Schnitpunkten 2er Kreise ?

  Alt 26. Apr 2005, 15:56
Ich erinnere mich dunkel, dass wir damals eine Koordinatenverschiebung verwendet haben.
Dadurch wurde (X-M1x)^2 zu M1x^2 und entsprechend bei M2x.
Das ist aber schon lange her. Schlag mich also nicht, wenn der Ansatz nicht ganz korrekt ist.
Der Grundgedanke war, einen Term zu vereinfachen.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von Kroko1999
Kroko1999

Registriert seit: 21. Apr 2005
Ort: Spremberg
455 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: allgemeine Gleichung von Schnitpunkten 2er Kreise ?

  Alt 26. Apr 2005, 15:59
Delphi-Quellcode:
  TPunkt = record
             X,Y: real;
           end;
  TKreis = record
             Mx,My: Integer;
             R: Word;
           end;

procedure Kreisschnittpunkte (AK1,AK2: TKreis; var P1,P2: TPunkt);
var
  A1,C1,F1,
  A2,C2,F2,
  A,C,F,
  Ha,Hb,Hc,P,Q,D: Real;
begin
  P1.X := NAN; //keine Lösung
  P2.X := NAN; //keine Lösung
  // x²+ax+b+y²+cy+d=e
  A1 := -2*AK1.Mx;
  C1 := -2*AK1.My;
  A2 := -2*AK2.Mx;
  C2 := -2*AK2.My;
  // x²+ax+y²+cy=f f=e-b-d
  F1 := Sqr(AK1.R)-Sqr(AK1.Mx)-Sqr (AK1.My);
  F2 := Sqr(AK2.R)-Sqr(AK2.Mx)-Sqr (AK2.My);
  // x²+ax+y²+cy-f=x²+ax+y²+cy-f
  // nach Y umstellen
  C := (C1-C2);
  A := (A2-A1)/C;
  F := (F1-F2)/C;
  // y= ax+f
  // in Kreis 1 einsetzen
  Ha := Sqr(A)+1;
  Hb := A1+2*A*F+C1*A;
  Hc := Sqr(F)+C1*F-F1;
  // Normalform
  P := Hb/Ha;
  Q := Hc/Ha;
  // lösen
  D := Sqr(P/2)-Q;
  if D>0 then
    begin
      P1.X := -P/2-Sqrt(D);
      P2.X := -P/2+Sqrt(D);

      P1.Y := +Sqrt(Sqr(AK1.R)-Sqr(P1.X-AK1.Mx))+AK1.My;
      P2.Y := -Sqrt(Sqr(AK2.R)-Sqr(P2.X-AK2.Mx))+AK2.My;
    end
  else
    if Math.IsZero(D,1E-08) then
      begin
        P1.X := -P/2;
        P1.Y := Sqrt(Sqr(AK1.R)-Sqr(P1.X-AK1.Mx))+AK1.My;
      end;
end;
liefert die Schnittpunkte im 1.Quadranten, ansonsten Vorzeichen der Wurzel für P.Y ändern!

viel Spaß


//EDIT: Optimierungen sind absichtlich weggelassen
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: allgemeine Gleichung von Schnitpunkten 2er Kreise ?

  Alt 26. Apr 2005, 16:02
Ich teste das mal ^^
Christian
  Mit Zitat antworten Zitat
Benutzerbild von gordon freeman
gordon freeman

Registriert seit: 28. Jun 2003
Ort: Gelsenkirchen
337 Beiträge
 
Delphi 2005 Personal
 
#9

Re: allgemeine Gleichung von Schnitpunkten 2er Kreise ?

  Alt 26. Apr 2005, 16:45
Hab mich mal drangemacht:

Das sind die allgemeinen Herleitungen für die Koordinaten der Schnittpunkte, wenn die Koordinaten der Mittelpunkte M und die Radien bekannt sind.

Hoffe, das es das ist, was du brauchst.

mfg
Miniaturansicht angehängter Grafiken
allgemeine_herleitung_f_r_x_und_y_988.jpg  
Angehängte Dateien
Dateityp: doc allgemeine_herleitung_f_r_xy_316.doc (35,5 KB, 6x aufgerufen)

Geändert von MrSpock ( 1. Sep 2010 um 10:26 Uhr) Grund: Name wie gewünscht entfernt.
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#10

Re: allgemeine Gleichung von Schnitpunkten 2er Kreise ?

  Alt 26. Apr 2005, 16:58
Zitat von gordon freeman:
Hab mich mal drangemacht:

Das sind die allgemeinen Herleitungen für die Koordinaten der Schnittpunkte, wenn die Koordinaten der Mittelpunkte M und die Radien bekannt sind.

Hoffe, das es das ist, was du brauchst.

mfg Martin Skrodzki
dann löse Dein Ergebnis doch mal nach y auf....
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 03:19 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