| |

VB.NET - Ein- und UmsteigerKreis-Berechnung | |  | Autor: BasicOpa | Datum: 21.08.23 16:46 |
| Hallo zusammen,
kann mir ein Mathe-Spezialist den VB-Code zur Berechnung von Kreismittelpunkt und Radius zur Verfügung stellen. Wenn 3 Punkte auf dem Kreis mit ihren X- und Y-Koordinaten zur Verfügung sind?
Wäre mir eine große Hilfe ...
Viele Grüße
BasicOpa |  |
Re: Kreis-Berechnung | |  | Autor: HenryV | Datum: 21.08.23 18:57 |
| Stichworte Dreieck, Umkreis
'Die 3 Punkte
Dim x1 As Double = 1
Dim y1 As Double = 2
Dim x2 As Double = 4
Dim y2 As Double = 3
Dim x3 As Double = 5
Dim y3 As Double = 6
'Berechnen der Abstände (Dreieckseitenlängen)
Dim a As Double = Math.Sqrt((x2 - x1) ^ 2 + (y2 - y1) ^ 2)
Dim b As Double = Math.Sqrt((x3 - x2) ^ 2 + (y3 - y2) ^ 2)
Dim c As Double = Math.Sqrt((x1 - x3) ^ 2 + (y1 - y3) ^ 2)
'Berechnen des halben Dreiecksumfangs
Dim s As Double = (a + b + c) / 2
'Berechnen des Kreisradius (Heronschen Formel)
Dim radius As Double = (a * b * c) / (4 * Math.Sqrt(s * (s - a) * (s - b) * (s _
- c)))
'Berechnen der Koordinaten des Kreismittelpunkts:
Dim d As Double = 2 * (x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2))
Dim x As Double = ((x1 ^ 2 + y1 ^ 2) * (y2 - y3) + (x2 ^ 2 + y2 ^ 2) * (y3 - _
y1) + (x3 ^ 2 + y3 ^ 2) * (y1 - y2)) / d
Dim y As Double = ((x1 ^ 2 + y1 ^ 2) * (x3 - x2) + (x2 ^ 2 + y2 ^ 2) * (x1 - _
x3) + (x3 ^ 2 + y3 ^ 2) * (x2 - x1)) / d
'Ausgabe Kreismittelpunkt und Radius
Console.WriteLine("Kreismittelpunkt: ({0}, {1})", x, y)
Console.WriteLine("Radius: {0}", radius) |  |
Re: Kreis-Berechnung | |  | Autor: BasicOpa | Datum: 21.08.23 23:01 |
| Hallo HenryV,
herzlichen Dank für diese tolle Hilfe.
Ich werde den Code anwenden und mich nochmal melden, wenn ich alles hinbekommen habe.
Herzliche Grüße
BasicOpa |  |
Re: Kreis-Berechnung | |  | Autor: sv00010 | Datum: 24.08.23 07:40 |
| Eventuell wäre es auch eine gute Idee, die ganzen Mathe-Probleme hier im Forum zu sammeln und aus den gefundenen Lösungen eine Hilfs-Klassenbibliothek zu erstellen, welche dann nur noch in das eigene Projekt eingebunden werden muss. |  |
Re: Kreis-Berechnung | |  | Autor: BasicOpa | Datum: 24.08.23 11:42 |
| Hallo HenryV,
Ich dachte, mein Problem sei gelöst. Die mittels deiner freundlichen Hilfe ermittelten Werte ergeben allerdings nicht jene Werte, die es sein müssten. Ich weiß das, weil ich diese aus einer anderen Quelle kenne, deren Funktionen mit allerdings nicht zugänglich sind. Weder die Logik und der Code schon gar nicht.
Es hat eine Weile gedauert, bis ich dahinter kam, an was das liegt. Und ich hoffe als "Nicht-Mathematiker", dass ich da nicht irre. Die Aufgabe, um deren Lösung ich bat ist ja, aus drei x- und y-Koordinaten auf einem Kreis-Ausschnitt den Radius und den Kreis-Mittelpunkt zu ermitteln. Ich habe mir die jeweiligen 3 aneinander gelegten Abschnitte angesehen ... und musste feststellen, dass es dabei gar nicht um einen Kreis-Auschnitt handelt. Denn die Werte fortgesetzt führen nicht zu einem geschlossenen Kreis. Es bleibt eine Lücke. Wo kein Kreis ist, ist wohl die Suche nach dessen Radius ein hoffnungsloses Unterfangen.
Der Radius sollte mir in Verbinding mit der vorliegenden Länge des Bogens von Punkt 1 zu Punkt 2 die Krümmung der einzelnen Abschnitte liefern. Was mir also helfen würde, ist der Weg zu diesen Werten, ohne einen Radius verfügbar zu haben ...
Gleichwohl möchte ich mich noch einmal herzlich für die Hilfe bedanken.
BasicOpa |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
Tipp des Monats Oktober 2023 Dieter OtterPopUp-Menü wird nicht angezeigt :-(In diesem Tipp verraten wir Ihnen, wie Sie Probleme mit PopUp-Menüs umgehen können, wenn diese unter bestimmten Umständen einfach nicht angezeigt werden. TOP! Unser Nr. 1 
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere Infos
|
|
|
Copyright ©2000-2023 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|