![]() |
---|
Hallo Ich habe gerade in einer kleinen Applikation eine Polygon-Flächenberechnung programmiert. http://www.tb-electronics.ch/temp/Fl%C3%A4chenberechnung.exe Leider funktioniert die Formel nicht bei einigen Figuren. Ich habe in http://en.wikipedia.org/wiki/Point_in_polygon nachgelesen, dass es zu unterscheiden gilt ob man regelmässige oder unregelmässige Polygone berechnen möchte. Sowas in dieser Art möchte ich berechnen können: http//www.efg2.com/Lab/Graphics/PolygonArea.htm Nun ist es so, dass ich kein Mathematiker bin, es sicherlich Formeln mit der Lösung gibt, ich sie aber nicht umsetzen kann in meine VB.Net Programmiersprache weil die Formeln und Zeichen nicht verstehe und lesen kann. Bitte helft mir doch eine Funktion zu schreiben, die ZB beliebige Punkte (positiver Wertebereich) beinhalten und mit der ich dann die Fläche berechnen kann in Pixel. Vielleicht könnt ihr mir Anhand des Bildes ein Beispiel nennen mit Zahlen anstatt mit einer Formel? Name, Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert): "Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen." |
Hierzu passend bei OnlineMathe: Bestimmtes Integral (Mathematischer Grundbegriff) Flächenberechnung durch Integrieren |
![]() |
![]() |
Private Function CrossProd(ByRef As PointF, ByRef As PoitnF) As Single return End Function Private Function CalcArea(ByRef Lpts As List(of PointF)) As Single LPts.count-1 Ac = CrossProd( Lpts(0), Lpts(j) ) For to Ac CrossProd( Lpts(i), Lpts(i-1) ) Next Return Math.Abs(Ac End Function |
![]() |
Hallo hagman Ich habe Tränen in den Augen vor Freude! Das funktioniert perfekt bei meinen ersten vier Tests! Ich kann noch gar nicht glauben, dass ich über das Zählen von Schnittlinien versuchen wollte an die Lösung zu kommen. Hagman, YOU MADE MY DAY!!! Falls Du mal was brauchst, hast Du was gut bei mir. So schnell und gut wurde mir glaub ich noch nie in einem Forum geholfen! Mit Freude an der Arbeit Timo |