![]() |
allgemeine Gleichung von Schnitpunkten 2er Kreise ?
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 :wall: Ich steh irgendwie mächtg aufm Schlauch, man das is so lang her ^^ Mag wer helfen`? |
Re: allgemeine Gleichung von Schnitpunkten 2er Kreise ?
Liste der Anhänge anzeigen (Anzahl: 1)
Past das schon mal so, oder hab ich mich verrechnet?
|
Re: allgemeine Gleichung von Schnitpunkten 2er Kreise ?
[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:
nicht berücksichtigt ist, wenn der Mittelpunkt eine Kreises im anderen Kreis liegt.
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'); |
Re: allgemeine Gleichung von Schnitpunkten 2er Kreise ?
Liste der Anhänge anzeigen (Anzahl: 2)
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 :zwinker: |
Re: allgemeine Gleichung von Schnitpunkten 2er Kreise ?
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 :wall: Und das auch verständlicher weise :nerd: Weiter gehts :coder: |
Re: allgemeine Gleichung von Schnitpunkten 2er Kreise ?
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. |
Re: allgemeine Gleichung von Schnitpunkten 2er Kreise ?
Delphi-Quellcode:
liefert die Schnittpunkte im 1.Quadranten, ansonsten Vorzeichen der Wurzel für P.Y ändern!
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; viel Spaß //EDIT: Optimierungen sind absichtlich weggelassen :) |
Re: allgemeine Gleichung von Schnitpunkten 2er Kreise ?
Ich teste das mal ^^
|
Re: allgemeine Gleichung von Schnitpunkten 2er Kreise ?
Liste der Anhänge anzeigen (Anzahl: 2)
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 |
Re: allgemeine Gleichung von Schnitpunkten 2er Kreise ?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:47 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