Forum: PC-Programmierung C#: Schnittpunkt von zwei Kreisen berechnen


von csharpuser (Gast)


Lesenswert?

Hallo,

eine C# Anwendung zeichnet zwei Kriese auf eine WinForm mit der Methode 
"DrawEllipse". Gibt es eine Möglichkeit den Schnittpunkt von zwei 
Kreisen zu berechnen? Wenn ja, wie könnte dies in C# realisiert werden?
1
base.OnPaint(e);
2
e.Graphics.DrawEllipse(pen1, 50 + x - d / 2, 450 - y - d / 2, d, d);

von Borislav B. (boris_b)


Lesenswert?

Lernt man sowas heutzutage nicht mehr in der Schule?

http://www.matheboard.de/archive/14156/thread.html

von csharpuser (Gast)


Lesenswert?

Ich benötige für die Berechnung des Schnittpunktes die einzelnen x und y 
Werte in einer Matrix um dann später die Berechnung durchführen zu 
können.
Wie erhalte ich die x und y Werte von der Methode "DrawEllipse"?

von Udo S. (urschmitt)


Lesenswert?

Siehe
http://de.wikipedia.org/wiki/Bresenham-Algorithmus
Weiter unten bei Kreisen und Ellipsen.

von Peter II (Gast)


Lesenswert?

csharpuser schrieb:
> Wie erhalte ich die x und y Werte von der Methode "DrawEllipse"?

überhaupt nicht. Das Braucht man auch keine kreis zu zeichnen. Das 
Rechnen man einfach aus. Und Rechnen kann man mit jeder 
Programmiersprache.

von Karl H. (kbuchegg)


Lesenswert?

Ps.
Die Formeln vereinfachen sich enorm, wenn du zur Herleitung der Formel 
davon ausgehst, dass einer der beiden Kreise im 0-Punkt des 
Koordinatensystems liegt.
Das ist ja keine Einschränkung, denn den Mittelpunkt der beiden Kreises 
so zu verschieben, dass genau dieser Fall vorliegt ist kein Problem. 
Dann muss man eben die ermittelten Schnittpunkte wieder zurückschieben, 
aber auch das ist ja kein Problem.

Aber abgesehen davon läuft es auf eine quadratische Gleichung hinaus. 
Viel Spass beim lösen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.