From 5a9d4696b3fe3f081cb35bd896a5329415059454 Mon Sep 17 00:00:00 2001 From: Andreas Sauer <18749753+Hanibal1963@users.noreply.github.com> Date: Sat, 10 Oct 2026 16:45:49 +0200 Subject: [PATCH 01/12] Tests: MSTest auf 3.11.1 aktualisiert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit NuGet-Abhängigkeit MSTest in GeometryTests.vbproj von 3.11.0 auf 3.11.1 angehoben. --- GeometryTests/GeometryTests.vbproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GeometryTests/GeometryTests.vbproj b/GeometryTests/GeometryTests.vbproj index ac4b4c0..7b5dfd4 100644 --- a/GeometryTests/GeometryTests.vbproj +++ b/GeometryTests/GeometryTests.vbproj @@ -140,7 +140,7 @@ all - 3.11.0 + 3.11.1 From 38467cc8839a1f5c8b3d14b797368560a2d6f1c6 Mon Sep 17 00:00:00 2001 From: Andreas Sauer <18749753+Hanibal1963@users.noreply.github.com> Date: Sat, 10 Oct 2026 16:53:28 +0200 Subject: [PATCH 02/12] MSTest und Assemblyversion aktualisiert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit System.Runtime.InteropServices importiert, Assembly-/Dateiversion auf 1.2026.1010.15 erhöht und MSTest in GeometryTests.vbproj auf 4.4.0 aktualisiert. --- Geometry/My Project/AssemblyInfo.vb | 4 ++-- GeometryTests/GeometryTests.vbproj | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Geometry/My Project/AssemblyInfo.vb b/Geometry/My Project/AssemblyInfo.vb index 25e9f4e..0b8cef4 100644 --- a/Geometry/My Project/AssemblyInfo.vb +++ b/Geometry/My Project/AssemblyInfo.vb @@ -17,6 +17,6 @@ Imports System.Runtime.InteropServices - - + + diff --git a/GeometryTests/GeometryTests.vbproj b/GeometryTests/GeometryTests.vbproj index 7b5dfd4..6b4bd46 100644 --- a/GeometryTests/GeometryTests.vbproj +++ b/GeometryTests/GeometryTests.vbproj @@ -140,7 +140,7 @@ all - 3.11.1 + 4.4.0 From 9724d1e7930ae7c50057f6cc63f041503d1d48d7 Mon Sep 17 00:00:00 2001 From: Andreas Sauer <18749753+Hanibal1963@users.noreply.github.com> Date: Sat, 10 Oct 2026 16:56:31 +0200 Subject: [PATCH 03/12] =?UTF-8?q?Tests=20aktualisiert=20und=20Version=20er?= =?UTF-8?q?h=C3=B6ht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AssemblyInfo.vb: System.Runtime.InteropServices importiert und Assembly-/Dateiversion auf 1.2026.1010.16 erhöht. GeometryTests.vbproj: MSTest-Paket von 4.4.0 auf 4.5.1 aktualisiert. --- Geometry/My Project/AssemblyInfo.vb | 4 ++-- GeometryTests/GeometryTests.vbproj | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Geometry/My Project/AssemblyInfo.vb b/Geometry/My Project/AssemblyInfo.vb index 0b8cef4..cbb5850 100644 --- a/Geometry/My Project/AssemblyInfo.vb +++ b/Geometry/My Project/AssemblyInfo.vb @@ -17,6 +17,6 @@ Imports System.Runtime.InteropServices - - + + diff --git a/GeometryTests/GeometryTests.vbproj b/GeometryTests/GeometryTests.vbproj index 6b4bd46..c203a0a 100644 --- a/GeometryTests/GeometryTests.vbproj +++ b/GeometryTests/GeometryTests.vbproj @@ -140,7 +140,7 @@ all - 4.4.0 + 4.5.1 From 436e5e99155079440f88de18b429450c7a5d13ce Mon Sep 17 00:00:00 2001 From: Andreas Sauer <18749753+Hanibal1963@users.noreply.github.com> Date: Sat, 10 Oct 2026 17:02:47 +0200 Subject: [PATCH 04/12] =?UTF-8?q?Codeanalyse=20deaktiviert,=20Version=20er?= =?UTF-8?q?h=C3=B6ht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Codeanalyse für Geometry- und GeometryTests-Projekt deaktiviert und Assembly-/Dateiversion in AssemblyInfo.vb auf 1.2026.1010.18 angehoben. --- Geometry/Geometry.vbproj | 1 + Geometry/My Project/AssemblyInfo.vb | 4 ++-- GeometryTests/GeometryTests.vbproj | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Geometry/Geometry.vbproj b/Geometry/Geometry.vbproj index 64de59c..7684046 100644 --- a/Geometry/Geometry.vbproj +++ b/Geometry/Geometry.vbproj @@ -33,6 +33,7 @@ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 True MinimumRecommendedRules.ruleset + false pdbonly diff --git a/Geometry/My Project/AssemblyInfo.vb b/Geometry/My Project/AssemblyInfo.vb index cbb5850..cc57e73 100644 --- a/Geometry/My Project/AssemblyInfo.vb +++ b/Geometry/My Project/AssemblyInfo.vb @@ -17,6 +17,6 @@ Imports System.Runtime.InteropServices - - + + diff --git a/GeometryTests/GeometryTests.vbproj b/GeometryTests/GeometryTests.vbproj index c203a0a..6126a04 100644 --- a/GeometryTests/GeometryTests.vbproj +++ b/GeometryTests/GeometryTests.vbproj @@ -28,6 +28,7 @@ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 True MinimumRecommendedRules.ruleset + false pdbonly From 300489442613743bc698cef16b747a3a0341dd34 Mon Sep 17 00:00:00 2001 From: Andreas Sauer <18749753+Hanibal1963@users.noreply.github.com> Date: Sat, 10 Oct 2026 17:11:30 +0200 Subject: [PATCH 05/12] String1 zu CheckTriangleInequality umbenannt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ressourcenbezeichnung String1 in Resources.resx und Resources.Designer.vb durch CheckTriangleInequality ersetzt und die Dreiecksungleichungsprüfung in ThreeDimensional.Prism auf My.Resources.CheckTriangleInequality umgestellt, ohne den deutschen Meldungstext zu ändern. --- Geometry/My Project/Resources.Designer.vb | 4 ++-- Geometry/My Project/Resources.resx | 2 +- Geometry/ThreeDimensional/Prism.vb | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Geometry/My Project/Resources.Designer.vb b/Geometry/My Project/Resources.Designer.vb index abec2e8..f2f0fd6 100644 --- a/Geometry/My Project/Resources.Designer.vb +++ b/Geometry/My Project/Resources.Designer.vb @@ -360,9 +360,9 @@ Namespace My.Resources ''' ''' Sucht eine lokalisierte Zeichenfolge, die Die Seiten erfüllen die Dreiecksungleichung nicht. ähnelt. ''' - Friend ReadOnly Property String1() As String + Friend ReadOnly Property CheckTriangleInequality() As String Get - Return ResourceManager.GetString("String1", resourceCulture) + Return ResourceManager.GetString("CheckTriangleInequality", resourceCulture) End Get End Property diff --git a/Geometry/My Project/Resources.resx b/Geometry/My Project/Resources.resx index 91192d0..3abe667 100644 --- a/Geometry/My Project/Resources.resx +++ b/Geometry/My Project/Resources.resx @@ -186,7 +186,7 @@ Die Fläche darf nicht negativ sein. - + Die Seiten erfüllen die Dreiecksungleichung nicht. diff --git a/Geometry/ThreeDimensional/Prism.vb b/Geometry/ThreeDimensional/Prism.vb index 3359cd5..07fe06b 100644 --- a/Geometry/ThreeDimensional/Prism.vb +++ b/Geometry/ThreeDimensional/Prism.vb @@ -195,7 +195,7 @@ Namespace ThreeDimensional End If If sideA + sideB <= sideC OrElse sideA + sideC <= sideB OrElse sideB + sideC <= sideA Then - Throw New ArgumentException(My.Resources.String1, NameOf(sideC)) + Throw New ArgumentException(My.Resources.CheckTriangleInequality, NameOf(sideC)) End If End Sub From f60c79e15141e88499cd35bd7aff5ec3e7639253 Mon Sep 17 00:00:00 2001 From: Andreas Sauer <18749753+Hanibal1963@users.noreply.github.com> Date: Sat, 10 Oct 2026 17:20:27 +0200 Subject: [PATCH 06/12] =?UTF-8?q?Ressourcenschl=C3=BCssel=20f=C3=BCr=20Fru?= =?UTF-8?q?stum=20benannt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Benannte Ressourcen-Schlüssel in Resources.resx und Resources.Designer.vb umgestellt und die Frustum-ArgumentExceptions auf die neuen Schlüssel angepasst. --- Geometry/My Project/Resources.Designer.vb | 8 ++++---- Geometry/My Project/Resources.resx | 4 ++-- Geometry/ThreeDimensional/Frustum.vb | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Geometry/My Project/Resources.Designer.vb b/Geometry/My Project/Resources.Designer.vb index f2f0fd6..da974a9 100644 --- a/Geometry/My Project/Resources.Designer.vb +++ b/Geometry/My Project/Resources.Designer.vb @@ -369,18 +369,18 @@ Namespace My.Resources ''' ''' Sucht eine lokalisierte Zeichenfolge, die Die obere Grundlänge muss kleiner als die untere sein. ähnelt. ''' - Friend ReadOnly Property String2() As String + Friend ReadOnly Property CheckTopLengthLessThanBottom() As String Get - Return ResourceManager.GetString("String2", resourceCulture) + Return ResourceManager.GetString("CheckTopLengthLessThanBottom", resourceCulture) End Get End Property ''' ''' Sucht eine lokalisierte Zeichenfolge, die Die obere Grundbreite muss kleiner als die untere sein. ähnelt. ''' - Friend ReadOnly Property String3() As String + Friend ReadOnly Property CheckTopWidthIsLessThanBottom() As String Get - Return ResourceManager.GetString("String3", resourceCulture) + Return ResourceManager.GetString("CheckTopWidthIsLessThanBottom", resourceCulture) End Get End Property diff --git a/Geometry/My Project/Resources.resx b/Geometry/My Project/Resources.resx index 3abe667..d126ad0 100644 --- a/Geometry/My Project/Resources.resx +++ b/Geometry/My Project/Resources.resx @@ -192,10 +192,10 @@ Die Seitenanzahl muss größer oder gleich 3 sein. - + Die obere Grundlänge muss kleiner als die untere sein. - + Die obere Grundbreite muss kleiner als die untere sein. diff --git a/Geometry/ThreeDimensional/Frustum.vb b/Geometry/ThreeDimensional/Frustum.vb index 668707a..59b9aef 100644 --- a/Geometry/ThreeDimensional/Frustum.vb +++ b/Geometry/ThreeDimensional/Frustum.vb @@ -235,10 +235,10 @@ Namespace ThreeDimensional Throw New ArgumentException(My.Resources.CheckNonNegativeWidth, NameOf(topWidth)) End If If topLength >= bottomLength Then - Throw New ArgumentException(My.Resources.String2, NameOf(topLength)) + Throw New ArgumentException(My.Resources.CheckTopLengthLessThanBottom, NameOf(topLength)) End If If topWidth >= bottomWidth Then - Throw New ArgumentException(My.Resources.String3, NameOf(topWidth)) + Throw New ArgumentException(My.Resources.CheckTopWidthIsLessThanBottom, NameOf(topWidth)) End If If height < 0 Then Throw New ArgumentException(My.Resources.CheckNonNegativeHeight, NameOf(height)) From 827cfd7e980691c0811a4d7a633666af7aa673e8 Mon Sep 17 00:00:00 2001 From: Andreas Sauer <18749753+Hanibal1963@users.noreply.github.com> Date: Sat, 10 Oct 2026 17:24:54 +0200 Subject: [PATCH 07/12] =?UTF-8?q?Ressourcennamen=20f=C3=BCr=20t-Pr=C3=BCfu?= =?UTF-8?q?ng=20umbenannt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit String4 wurde in Resources.resx und Resources.Designer.vb zu CheckParameterBetweenZeroAndOne umbenannt; ThreeDimensional.Cone.vb verwendet für den Parameter t jetzt My.Resources.CheckParameterBetweenZeroAndOne. --- Geometry/My Project/Resources.Designer.vb | 4 ++-- Geometry/My Project/Resources.resx | 2 +- Geometry/ThreeDimensional/Cone.vb | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Geometry/My Project/Resources.Designer.vb b/Geometry/My Project/Resources.Designer.vb index da974a9..c1d4c92 100644 --- a/Geometry/My Project/Resources.Designer.vb +++ b/Geometry/My Project/Resources.Designer.vb @@ -387,9 +387,9 @@ Namespace My.Resources ''' ''' Sucht eine lokalisierte Zeichenfolge, die t muss im Bereich 0 bis 1 liegen. ähnelt. ''' - Friend ReadOnly Property String4() As String + Friend ReadOnly Property CheckParameterBetweenZeroAndOne() As String Get - Return ResourceManager.GetString("String4", resourceCulture) + Return ResourceManager.GetString("CheckParameterBetweenZeroAndOne", resourceCulture) End Get End Property diff --git a/Geometry/My Project/Resources.resx b/Geometry/My Project/Resources.resx index d126ad0..e6cf7a5 100644 --- a/Geometry/My Project/Resources.resx +++ b/Geometry/My Project/Resources.resx @@ -243,7 +243,7 @@ Es müssen genau 3 Eckpunkte angegeben werden. - + t muss im Bereich 0 bis 1 liegen. diff --git a/Geometry/ThreeDimensional/Cone.vb b/Geometry/ThreeDimensional/Cone.vb index 0cb65d7..f7f3ed8 100644 --- a/Geometry/ThreeDimensional/Cone.vb +++ b/Geometry/ThreeDimensional/Cone.vb @@ -197,7 +197,7 @@ Namespace ThreeDimensional Throw New ArgumentException(My.Resources.CheckNonNegativeHeight, NameOf(height)) End If If t < 0 OrElse t > 1 Then - Throw New ArgumentException(My.Resources.String4, NameOf(t)) + Throw New ArgumentException(My.Resources.CheckParameterBetweenZeroAndOne, NameOf(t)) End If Dim currentRadius = radius * (1.0 - t) From a7eefb445278723a3f34f2b3aba2be4c2ce5ca7f Mon Sep 17 00:00:00 2001 From: Andreas Sauer <18749753+Hanibal1963@users.noreply.github.com> Date: Sat, 10 Oct 2026 17:26:45 +0200 Subject: [PATCH 08/12] =?UTF-8?q?Ressource=20f=C3=BCr=20Trapezpr=C3=BCfung?= =?UTF-8?q?=20umbenannt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit String5 wurde in CheckBasesSumPositive umbenannt und in TwoDimensional/Trapezoid.vb für die Prüfung verwendet, wenn die Summe der Grundseiten nicht positiv ist. --- Geometry/My Project/Resources.Designer.vb | 4 ++-- Geometry/My Project/Resources.resx | 2 +- Geometry/TwoDimensional/Trapezoid.vb | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Geometry/My Project/Resources.Designer.vb b/Geometry/My Project/Resources.Designer.vb index c1d4c92..f508a78 100644 --- a/Geometry/My Project/Resources.Designer.vb +++ b/Geometry/My Project/Resources.Designer.vb @@ -396,9 +396,9 @@ Namespace My.Resources ''' ''' Sucht eine lokalisierte Zeichenfolge, die Die Summe der Grundseiten muss größer als Null sein. ähnelt. ''' - Friend ReadOnly Property String5() As String + Friend ReadOnly Property CheckBasesSumPositive() As String Get - Return ResourceManager.GetString("String5", resourceCulture) + Return ResourceManager.GetString("CheckBasesSumPositive", resourceCulture) End Get End Property diff --git a/Geometry/My Project/Resources.resx b/Geometry/My Project/Resources.resx index e6cf7a5..8d49196 100644 --- a/Geometry/My Project/Resources.resx +++ b/Geometry/My Project/Resources.resx @@ -246,7 +246,7 @@ t muss im Bereich 0 bis 1 liegen. - + Die Summe der Grundseiten muss größer als Null sein. diff --git a/Geometry/TwoDimensional/Trapezoid.vb b/Geometry/TwoDimensional/Trapezoid.vb index c03527b..fa28f4a 100644 --- a/Geometry/TwoDimensional/Trapezoid.vb +++ b/Geometry/TwoDimensional/Trapezoid.vb @@ -109,7 +109,7 @@ Namespace TwoDimensional Dim denominator = baseA + baseB If denominator <= 0 Then - Throw New ArgumentException(My.Resources.String5) + Throw New ArgumentException(My.Resources.CheckBasesSumPositive) End If #Disable Warning IDE0047 ' Unnötige Klammern entfernen From cd463246db96b5819374030dfe76ead60c3ad185 Mon Sep 17 00:00:00 2001 From: Andreas Sauer <18749753+Hanibal1963@users.noreply.github.com> Date: Sat, 10 Oct 2026 17:29:49 +0200 Subject: [PATCH 09/12] =?UTF-8?q?Ressourcenschl=C3=BCssel=20f=C3=BCr=20Pol?= =?UTF-8?q?ygonpr=C3=BCfung=20umbenannt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit String6 wurde in `CheckPolygonNonDegenerate` in `Resources.Designer.vb` und `Resources.resx` umbenannt. Die Fehlermeldung blieb unverändert; `TwoDimensional.Polygon.vb` verwendet bei degenerierten Polygonen nun `My.Resources.CheckPolygonNonDegenerate`. --- Geometry/My Project/Resources.Designer.vb | 4 ++-- Geometry/My Project/Resources.resx | 2 +- Geometry/TwoDimensional/Polygon.vb | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Geometry/My Project/Resources.Designer.vb b/Geometry/My Project/Resources.Designer.vb index f508a78..850d415 100644 --- a/Geometry/My Project/Resources.Designer.vb +++ b/Geometry/My Project/Resources.Designer.vb @@ -405,9 +405,9 @@ Namespace My.Resources ''' ''' Sucht eine lokalisierte Zeichenfolge, die Die Eckpunkte dürfen kein degeneriertes Polygon bilden. ähnelt. ''' - Friend ReadOnly Property String6() As String + Friend ReadOnly Property CheckPolygonNonDegenerate() As String Get - Return ResourceManager.GetString("String6", resourceCulture) + Return ResourceManager.GetString("CheckPolygonNonDegenerate", resourceCulture) End Get End Property diff --git a/Geometry/My Project/Resources.resx b/Geometry/My Project/Resources.resx index 8d49196..a58e458 100644 --- a/Geometry/My Project/Resources.resx +++ b/Geometry/My Project/Resources.resx @@ -249,7 +249,7 @@ Die Summe der Grundseiten muss größer als Null sein. - + Die Eckpunkte dürfen kein degeneriertes Polygon bilden. diff --git a/Geometry/TwoDimensional/Polygon.vb b/Geometry/TwoDimensional/Polygon.vb index cc66575..dab7004 100644 --- a/Geometry/TwoDimensional/Polygon.vb +++ b/Geometry/TwoDimensional/Polygon.vb @@ -141,7 +141,7 @@ Namespace TwoDimensional Next If Math.Abs(signedArea2) <= Double.Epsilon Then - Throw New ArgumentException(My.Resources.String6, NameOf(vertices)) + Throw New ArgumentException(My.Resources.CheckPolygonNonDegenerate, NameOf(vertices)) End If Dim factor = 1.0 / (3.0 * signedArea2) From 9be4a3956b7d9cb63d5896e315872738e562bbda Mon Sep 17 00:00:00 2001 From: Andreas Sauer <18749753+Hanibal1963@users.noreply.github.com> Date: Sat, 10 Oct 2026 17:33:14 +0200 Subject: [PATCH 10/12] =?UTF-8?q?Ressourcenname=20f=C3=BCr=20Eckpunktepr?= =?UTF-8?q?=C3=BCfung=20anpassen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit String7 in den Ressourcen in CheckVerticesMinimumCount umbenannt und die Fehlermeldungen in Polygon.vb sowie RegularPolygon.vb auf My.Resources.CheckVerticesMinimumCount umgestellt. --- Geometry/My Project/Resources.Designer.vb | 4 ++-- Geometry/My Project/Resources.resx | 2 +- Geometry/TwoDimensional/Polygon.vb | 2 +- Geometry/TwoDimensional/RegularPolygon.vb | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Geometry/My Project/Resources.Designer.vb b/Geometry/My Project/Resources.Designer.vb index 850d415..60e5e71 100644 --- a/Geometry/My Project/Resources.Designer.vb +++ b/Geometry/My Project/Resources.Designer.vb @@ -414,9 +414,9 @@ Namespace My.Resources ''' ''' Sucht eine lokalisierte Zeichenfolge, die Es müssen mindestens {0} Eckpunkte angegeben werden. ähnelt. ''' - Friend ReadOnly Property String7() As String + Friend ReadOnly Property CheckVerticesMinimumCount() As String Get - Return ResourceManager.GetString("String7", resourceCulture) + Return ResourceManager.GetString("CheckVerticesMinimumCount", resourceCulture) End Get End Property diff --git a/Geometry/My Project/Resources.resx b/Geometry/My Project/Resources.resx index a58e458..5dfaca8 100644 --- a/Geometry/My Project/Resources.resx +++ b/Geometry/My Project/Resources.resx @@ -252,7 +252,7 @@ Die Eckpunkte dürfen kein degeneriertes Polygon bilden. - + Es müssen mindestens {0} Eckpunkte angegeben werden. \ No newline at end of file diff --git a/Geometry/TwoDimensional/Polygon.vb b/Geometry/TwoDimensional/Polygon.vb index dab7004..5b0cbb5 100644 --- a/Geometry/TwoDimensional/Polygon.vb +++ b/Geometry/TwoDimensional/Polygon.vb @@ -229,7 +229,7 @@ Namespace TwoDimensional Throw New ArgumentException(My.Resources.CheckVerticesNotNull, NameOf(vertices)) End If If vertices.Length < minCount Then - Throw New ArgumentException(My.Resources.String7.Replace("{0}", minCount.ToString()), NameOf(vertices)) + Throw New ArgumentException(My.Resources.CheckVerticesMinimumCount.Replace("{0}", minCount.ToString()), NameOf(vertices)) End If End Sub diff --git a/Geometry/TwoDimensional/RegularPolygon.vb b/Geometry/TwoDimensional/RegularPolygon.vb index d0a893a..6dbdb1f 100644 --- a/Geometry/TwoDimensional/RegularPolygon.vb +++ b/Geometry/TwoDimensional/RegularPolygon.vb @@ -245,7 +245,7 @@ Namespace TwoDimensional Throw New ArgumentException(My.Resources.CheckVerticesNotNull, NameOf(vertices)) End If If vertices.Length < minCount Then - Throw New ArgumentException(My.Resources.String7.Replace("{0}", minCount.ToString()), NameOf(vertices)) + Throw New ArgumentException(My.Resources.CheckVerticesMinimumCount.Replace("{0}", minCount.ToString()), NameOf(vertices)) End If End Sub From 3a03f28cfb1ac0a4314092d7b966bf09f4112f82 Mon Sep 17 00:00:00 2001 From: Andreas Sauer <18749753+Hanibal1963@users.noreply.github.com> Date: Sat, 10 Oct 2026 20:24:12 +0200 Subject: [PATCH 11/12] Dokumentation an API angepasst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Markdown-Dokumentation an aktualisierte API-Signaturen angepasst: Parameternamen vereinheitlicht, optionale Toleranzen und Unterteilungen markiert, Vertex-Parameter auf Arrays/Listen umgestellt und Hinweise zu ArgumentException, PointF, numerischen Grenzen sowie Cuboid.IsCube ergänzt. --- Geometry/ThreeDimensional/Cuboid.md | 2 +- Geometry/TwoDimensional/Circle.md | 32 +++++++++++++---------- Geometry/TwoDimensional/Ellipse.md | 6 ++--- Geometry/TwoDimensional/Kite.md | 4 +-- Geometry/TwoDimensional/Parallelogram.md | 10 +++---- Geometry/TwoDimensional/Polygon.md | 4 +-- Geometry/TwoDimensional/Rectangle.md | 8 +++--- Geometry/TwoDimensional/RegularPolygon.md | 2 +- Geometry/TwoDimensional/Rhombus.md | 2 +- Geometry/TwoDimensional/Square.md | 2 +- Geometry/TwoDimensional/Trapezoid.md | 4 +-- Geometry/TwoDimensional/Triangle.md | 10 +++---- 12 files changed, 45 insertions(+), 41 deletions(-) diff --git a/Geometry/ThreeDimensional/Cuboid.md b/Geometry/ThreeDimensional/Cuboid.md index 13d3d20..96fd32a 100644 --- a/Geometry/ThreeDimensional/Cuboid.md +++ b/Geometry/ThreeDimensional/Cuboid.md @@ -18,7 +18,7 @@ Statische Hilfsklasse für Berechnungen zu Quadern (Volumen, Oberflächen, Diago `EdgeFromVolume` - Berechnet eine fehlende Kante aus Volumen und zwei bekannten Kanten. Parameter: `volume` (`>= 0`), `edge1` (`> 0`), `edge2` (`> 0`). Rückgabe: `volume / (edge1 * edge2)`. -`IsCube` - Prüft, ob ein Quader innerhalb einer Toleranz ein Würfel ist (alle Kanten gleich). Parameter: `length` (`>= 0`), `width` (`>= 0`), `height` (`>= 0`), `tolerance` (`> 0`). +`IsCube` - Prüft, ob ein Quader innerhalb einer Toleranz ein Würfel ist (alle Kanten gleich). Parameter: `length` (`>= 0`), `width` (`>= 0`), `height` (`>= 0`), `tolerance` (`> 0`, optional). `Center` - Berechnet den Mittelpunkt aus zwei gegenüberliegenden Eckpunkten. Parameter: `x1`, `y1`, `z1` (Punkt 1), `x2`, `y2`, `z2` (Punkt 2). Rückgabe: `Tuple(Of Double, Double, Double)`. diff --git a/Geometry/TwoDimensional/Circle.md b/Geometry/TwoDimensional/Circle.md index 0dea639..7f2e65e 100644 --- a/Geometry/TwoDimensional/Circle.md +++ b/Geometry/TwoDimensional/Circle.md @@ -4,33 +4,37 @@ Statische Hilfsklasse für Kreisberechnungen: Flächen, Umfang, Bogensegmente, S ## Funktionen -`Area` - Berechnet die Fläche eines Kreises. Parameter: `r` (Radius, `r >= 0`). Rückgabe: `π * r^2`. +`Area` - Berechnet die Fläche eines Kreises. Parameter: `radius` (Radius, `radius >= 0`). Rückgabe: `π * radius^2`. -`AreaFromDiameter` - Berechnet die Fläche aus dem Durchmesser. Parameter: `d` (Durchmesser, `d >= 0`). Rückgabe: `π * d^2 / 4`. +`AreaFromDiameter` - Berechnet die Fläche aus dem Durchmesser. Parameter: `diameter` (Durchmesser, `diameter >= 0`). Rückgabe: `π * diameter^2 / 4`. -`Circumference` - Berechnet den Umfang. Parameter: `r` (Radius, `r >= 0`). Rückgabe: `2 * π * r`. +`Circumference` - Berechnet den Umfang. Parameter: `radius` (Radius, `radius >= 0`). Rückgabe: `2 * π * radius`. -`CircumferenceFromDiameter` - Berechnet den Umfang aus dem Durchmesser. Parameter: `d` (Durchmesser, `d >= 0`). Rückgabe: `π * d`. +`CircumferenceFromDiameter` - Berechnet den Umfang aus dem Durchmesser. Parameter: `diameter` (Durchmesser, `diameter >= 0`). Rückgabe: `π * diameter`. -`DiameterFromRadius` - Konvertiert Radius in Durchmesser. Parameter: `r` (Radius, `r >= 0`). Rückgabe: `2 * r`. +`DiameterFromRadius` - Konvertiert Radius in Durchmesser. Parameter: `radius` (Radius, `radius >= 0`). Rückgabe: `2 * radius`. -`RadiusFromDiameter` - Konvertiert Durchmesser in Radius. Parameter: `d` (Durchmesser, `d >= 0`). Rückgabe: `d / 2`. +`RadiusFromDiameter` - Konvertiert Durchmesser in Radius. Parameter: `diameter` (Durchmesser, `diameter >= 0`). Rückgabe: `diameter / 2`. -`ArcLength` - Berechnet die Bogenlänge für einen Zentralwinkel im Bogenmaß. Parameter: `r` (Radius, `r >= 0`), `angleRadians` (Winkel im Bogenmaß). Rückgabe: `r * angleRadians`. +`ArcLength` - Berechnet die Bogenlänge für einen Zentralwinkel im Bogenmaß. Parameter: `radius` (Radius, `radius >= 0`), `angleRadians` (Winkel im Bogenmaß). Rückgabe: `radius * angleRadians`. -`ArcLengthDegrees` - Berechnet die Bogenlänge für Winkel in Grad. Parameter: `r` (Radius, `r >= 0`), `angleDegrees` (Winkel in Grad). Rückgabe: `r * angleDegrees * π / 180`. +`ArcLengthDegrees` - Berechnet die Bogenlänge für Winkel in Grad. Parameter: `radius` (Radius, `radius >= 0`), `angleDegrees` (Winkel in Grad). Rückgabe: `radius * angleDegrees * π / 180`. -`SectorArea` - Berechnet die Fläche eines Kreissektors für Winkel im Bogenmaß. Parameter: `r` (Radius, `r >= 0`), `angleRadians` (Winkel im Bogenmaß). Rückgabe: `0.5 * r^2 * angleRadians`. +`SectorArea` - Berechnet die Fläche eines Kreissektors für Winkel im Bogenmaß. Parameter: `radius` (Radius, `radius >= 0`), `angleRadians` (Winkel im Bogenmaß). Rückgabe: `0.5 * radius^2 * angleRadians`. -`SectorAreaDegrees` - Berechnet die Fläche eines Kreissektors für Winkel in Grad. Parameter: `r` (Radius, `r >= 0`), `angleDegrees` (Winkel in Grad). Rückgabe: `π * r^2 * angleDegrees / 360`. +`SectorAreaDegrees` - Berechnet die Fläche eines Kreissektors für Winkel in Grad. Parameter: `radius` (Radius, `radius >= 0`), `angleDegrees` (Winkel in Grad). Rückgabe: `π * radius^2 * angleDegrees / 360`. -`ChordLength` - Berechnet die Sehnenlänge aus dem Zentralwinkel. Parameter: `r` (Radius, `r >= 0`), `angleRadians` (Winkel im Bogenmaß). Rückgabe: `2 * r * sin(angleRadians / 2)`. +`ChordLength` - Berechnet die Sehnenlänge aus dem Zentralwinkel. Parameter: `radius` (Radius, `radius >= 0`), `angleRadians` (Winkel im Bogenmaß). Rückgabe: `2 * radius * sin(angleRadians / 2)`. -`ChordLengthFromSagitta` - Berechnet die Sehnenlänge aus der Sehnenhöhe (Sagitta). Parameter: `r` (Radius, `r >= 0`), `sagitta` (Sehnenhöhe, `0 <= sagitta <= r`). Rückgabe: `2 * sqrt(2 * r * sagitta - sagitta^2)`. +`ChordLengthFromSagitta` - Berechnet die Sehnenlänge aus der Sehnenhöhe (Sagitta). Parameter: `radius` (Radius, `radius >= 0`), `sagitta` (Sehnenhöhe, `0 <= sagitta <= radius`). Rückgabe: `2 * sqrt(2 * radius * sagitta - sagitta^2)`. -`AngleFromArcLength` - Berechnet den Zentralwinkel (Bogenmaß) aus der Bogenlänge. Parameter: `r` (Radius, `r > 0`), `arcLength` (Bogenlänge). Rückgabe: `arcLength / r`. +`AngleFromArcLength` - Berechnet den Zentralwinkel (Bogenmaß) aus der Bogenlänge. Parameter: `radius` (Radius, `radius > 0`), `arcLength` (Bogenlänge). Rückgabe: `arcLength / radius`. -`AngleFromChordLength` - Berechnet den Zentralwinkel (Bogenmaß) aus der Sehnenlänge. Parameter: `r` (Radius, `r > 0`), `chordLength` (Sehnenlänge, `0 <= chordLength <= 2 * r`). Rückgabe: `2 * asin(chordLength / (2 * r))`. +`AngleFromChordLength` - Berechnet den Zentralwinkel (Bogenmaß) aus der Sehnenlänge. Parameter: `radius` (Radius, `radius > 0`), `chordLength` (Sehnenlänge, `0 <= chordLength <= 2 * radius`). Rückgabe: `2 * asin(chordLength / (2 * radius))`. + +`PointOnCircle` - Berechnet einen Punkt auf dem Kreis für Mittelpunkt und Winkel im Bogenmaß. Parameter: `cx` (Mittelpunkt-X), `cy` (Mittelpunkt-Y), `radius` (Radius, `radius >= 0`), `angleRadians` (Winkel im Bogenmaß). Rückgabe: `PointF(x, y)` mit `x = cx + radius * cos(angleRadians)` und `y = cy + radius * sin(angleRadians)`. + +`BoundingBox` - Liefert das achsenparallele Bounding-Box-Rechteck eines Kreises. Parameter: `cx` (Mittelpunkt-X), `cy` (Mittelpunkt-Y), `radius` (Radius, `radius >= 0`). Rückgabe: `RectangleF(x, y, w, h)` mit `x = cx - radius`, `y = cy - radius`, `w = h = 2 * radius`. ## Hinweise diff --git a/Geometry/TwoDimensional/Ellipse.md b/Geometry/TwoDimensional/Ellipse.md index da2b8de..cefe3e0 100644 --- a/Geometry/TwoDimensional/Ellipse.md +++ b/Geometry/TwoDimensional/Ellipse.md @@ -16,7 +16,7 @@ Statische Hilfsklasse zur Arbeit mit Ellipsen (Geometrie, Tangenten/Normalen, Um `PerimeterRamanujan2` - Berechnet die 2. Ramanujan-Näherung des Umfangs. Parameter: `a` (Halbachse a, `a > 0`), `b` (Halbachse b, `b > 0`). -`PerimeterNumeric` - Berechnet den Umfang numerisch mit Simpson-Integration. Parameter: `a` (Halbachse a, `a > 0`), `b` (Halbachse b, `b > 0`), `subdivisions` (Unterteilungen, wird auf gerade Zahl `>= 2` normalisiert). +`PerimeterNumeric` - Berechnet den Umfang numerisch mit Simpson-Integration. Parameter: `a` (Halbachse a, `a > 0`), `b` (Halbachse b, `b > 0`), `subdivisions` (Unterteilungen, optional; wird auf gerade Zahl `>= 2` normalisiert). `PointOnEllipse` - Berechnet einen Punkt auf der Ellipse. Parameter: `a` (Halbachse a, `a > 0`), `b` (Halbachse b, `b > 0`), `theta` (Parameterwinkel im Bogenmaß). Rückgabe: `PointF(x, y)` mit `x = a*cos(theta)`, `y = b*sin(theta)`. @@ -24,9 +24,9 @@ Statische Hilfsklasse zur Arbeit mit Ellipsen (Geometrie, Tangenten/Normalen, Um `NormalAt` - Liefert die Normale an der Ellipse. Parameter: `a` (Halbachse a, `a > 0`), `b` (Halbachse b, `b > 0`), `theta` (Parameterwinkel im Bogenmaß). -`RadiusOfCurvature` - Berechnet den Krümmungsradius an der Ellipse. Parameter: `a` (Halbachse a, `a > 0`), `b` (Halbachse b, `b > 0`), `theta` (Parameterwinkel im Bogenmaß). Gibt `Infinity` zurück, falls degeneriert. +`RadiusOfCurvature` - Berechnet den Krümmungsradius an der Ellipse. Parameter: `a` (Halbachse a, `a > 0`), `b` (Halbachse b, `b > 0`), `theta` (Parameterwinkel im Bogenmaß). Rückgabe: Krümmungsradius; bei degeneriertem Fall `Double.PositiveInfinity`. -`ArcLength` - Berechnet die Bogenlänge numerisch zwischen zwei Parametern. Parameter: `a` (Halbachse a, `a > 0`), `b` (Halbachse b, `b > 0`), `theta1` (Startwinkel), `theta2` (Endwinkel), `subdivisions` (Unterteilungen, wird auf gerade Zahl `>= 2` normalisiert). +`ArcLength` - Berechnet die Bogenlänge numerisch zwischen zwei Parametern. Parameter: `a` (Halbachse a, `a > 0`), `b` (Halbachse b, `b > 0`), `theta1` (Startwinkel), `theta2` (Endwinkel), `subdivisions` (Unterteilungen, optional; wird auf gerade Zahl `>= 2` normalisiert). `ClosestPointOnEllipse` - Findet iterativ (Newton) den nächsten Punkt auf der Ellipse zu einem Referenzpunkt. Parameter: `a` (Halbachse a, `a > 0`), `b` (Halbachse b, `b > 0`), `px` (X des Referenzpunkts), `py` (Y des Referenzpunkts), `initialTheta` (optional Startwert), `maxIter` (max. Iterationen), `tol` (Abbruch-Toleranz). Rückgabe: `Tuple(PointF closestPoint, Double distance)`. diff --git a/Geometry/TwoDimensional/Kite.md b/Geometry/TwoDimensional/Kite.md index 981f0b8..fc4801a 100644 --- a/Geometry/TwoDimensional/Kite.md +++ b/Geometry/TwoDimensional/Kite.md @@ -12,7 +12,7 @@ Statische Hilfsklasse für Berechnungen zu Drachenvierecken (Fläche, Umfang, Se `HeightFromArea` - Berechnet die Höhe aus Fläche und Grundseite. Parameter: `area` (`>= 0`), `baseLength` (`> 0`). Rückgabe: `area / baseLength`. -`IsSymmetricBySides` - Prüft ein symmetrisches Drachen-Seitenmuster. Parameter: `sideA`, `sideB`, `sideC`, `sideD` (Seitenlängen, `>= 0`), `tolerance` (`> 0`). +`IsSymmetricBySides` - Prüft ein symmetrisches Drachen-Seitenmuster. Parameter: `sideA`, `sideB`, `sideC`, `sideD` (Seitenlängen, `>= 0`), `tolerance` (`> 0`, optional). `VerticesFromCenter` - Berechnet 4 Eckpunkte aus Mittelpunkt, Diagonalen und Rotation. Parameter: `cx`, `cy` (Mittelpunkt), `diagonal1`, `diagonal2` (`>= 0`), `rotationRadians` (Bogenmaß). @@ -20,7 +20,7 @@ Statische Hilfsklasse für Berechnungen zu Drachenvierecken (Fläche, Umfang, Se `PerimeterFromVertices` - Berechnet den Umfang aus 4 Eckpunkten. Parameter: `vertices` (4 Eckpunkte als `PointF()`). -`IsKiteFromVertices` - Prüft, ob 4 Eckpunkte ein Drachenviereck bilden. Parameter: `vertices` (4 Eckpunkte), `tolerance` (`> 0`). +`IsKiteFromVertices` - Prüft, ob 4 Eckpunkte ein Drachenviereck bilden. Parameter: `vertices` (4 Eckpunkte), `tolerance` (`> 0`, optional). ## Hinweise diff --git a/Geometry/TwoDimensional/Parallelogram.md b/Geometry/TwoDimensional/Parallelogram.md index 2208644..5243a30 100644 --- a/Geometry/TwoDimensional/Parallelogram.md +++ b/Geometry/TwoDimensional/Parallelogram.md @@ -10,21 +10,21 @@ Statische Hilfsklasse für Berechnungen zu Parallelogrammen (Fläche, Umfang, Di `HeightFromArea` - Berechnet die Höhe aus Fläche und Grundseite. Parameter: `area` (`>= 0`), `b` (`> 0`). Rückgabe: `area / b`. -`SideFromPerimeter` - Berechnet die fehlende Seite aus Umfang und bekannter Seite. Parameter: `perimeter` (`> 0`), `knownSide` (`> 0`). Rückgabe: `(perimeter / 2) - knownSide`. +`SideFromPerimeter` - Berechnet die fehlende Seite aus Umfang und bekannter Seite. Parameter: `perimeter` (`>= 0`), `knownSide` (`>= 0`) mit zusätzlicher Bedingung `perimeter > 2 * knownSide`. Rückgabe: `(perimeter / 2) - knownSide`. `DiagonalBySidesAndAngle` - Berechnet beide Diagonalen aus Seiten und eingeschlossenem Winkel. Parameter: `a` (`> 0`), `b` (`> 0`), `includedAngleRadians` (`0 < Winkel < PI`). Rückgabe: `[|u+v|, |u-v|]`. -`InteriorAngleFromSidesAndDiagonals` - Berechnet den eingeschlossenen Innenwinkel (Bogenmaß) aus Seiten und Diagonalen. Parameter: `a` (`> 0`), `b` (`> 0`), `diagLong` (`> 0`), `diagShort` (`> 0`). +`InteriorAngleFromSidesAndDiagonals` - Berechnet den eingeschlossenen Innenwinkel (Bogenmaß) aus Seiten und Diagonalen. Parameter: `a` (`> 0`), `b` (`> 0`), `d1` (`> 0`), `d2` (`> 0`). -`Center` - Berechnet den Mittelpunkt aus zwei gegenüberliegenden Eckpunkten. Parameter: `p1`, `p3` (gegenüberliegende Eckpunkte als `PointF`). Rückgabe: `System.Drawing.PointF`. +`Center` - Berechnet den Mittelpunkt aus zwei gegenüberliegenden Eckpunkten. Parameter: `x1`, `y1`, `x3`, `y3` (Koordinaten zweier gegenüberliegender Eckpunkte). Rückgabe: `System.Drawing.PointF`. -`VerticesFromCenter` - Berechnet vier Eckpunkte aus Mittelpunkt, Seitenlängen, eingeschlossenem Winkel und Rotation. Parameter: `cx`, `cy` (Mittelpunkt), `a`, `b` (Seitenlängen, `> 0`), `interiorAngleRadians` (`0 < Winkel < PI`), `rotationRadians` (Bogenmaß). +`VerticesFromCenter` - Berechnet vier Eckpunkte aus Mittelpunkt, Seitenlängen, eingeschlossenem Winkel und Rotation. Parameter: `cx`, `cy` (Mittelpunkt), `a`, `b` (Seitenlängen, `> 0`), `includedAngleRadians` (`0 < Winkel < PI`), `rotationRadians` (Bogenmaß). `AreaFromVertices` - Berechnet die Polygonfläche aus Eckpunkten mit der Shoelace-Formel. Parameter: `vertices` (mindestens 3 Punkte als `PointF()`). `PerimeterFromVertices` - Berechnet den Umfang als Summe der Kantenlängen. Parameter: `vertices` (mindestens 2 Punkte als `PointF()`). -`IsParallelogramFromVertices` - Prüft, ob 4 Eckpunkte ein Parallelogramm bilden. Parameter: `vertices` (4 Eckpunkte), `tolerance` (`> 0`). +`IsParallelogramFromVertices` - Prüft, ob 4 Eckpunkte ein Parallelogramm bilden. Parameter: `vertices` (4 Eckpunkte), `tolerance` (`> 0`, optional). ## Hinweise diff --git a/Geometry/TwoDimensional/Polygon.md b/Geometry/TwoDimensional/Polygon.md index 6e4fc50..e69f136 100644 --- a/Geometry/TwoDimensional/Polygon.md +++ b/Geometry/TwoDimensional/Polygon.md @@ -8,9 +8,9 @@ Statische Hilfsklasse für Polygonberechnungen und Koordinatenoperationen. Behan `Perimeter` - Berechnet den Umfang als Summe aller Kantenlängen. Parameter: `vertices` (mindestens 2 Eckpunkte als `PointF()`). -`IsConvex` - Prüft, ob ein Polygon konvex ist (Vorzeichenprüfung der Kreuzprodukte). Parameter: `vertices` (mindestens 3 Eckpunkte), `tolerance` (`> 0`). +`IsConvex` - Prüft, ob ein Polygon konvex ist (Vorzeichenprüfung der Kreuzprodukte). Parameter: `vertices` (mindestens 3 Eckpunkte), `tolerance` (`> 0`, optional). -`IsRegular` - Prüft, ob ein Polygon regelmäßig ist (gleich lange Seiten und gleicher Radius zum Schwerpunkt innerhalb der Toleranz). Parameter: `vertices` (mindestens 3 Eckpunkte), `tolerance` (`> 0`). +`IsRegular` - Prüft, ob ein Polygon regelmäßig ist (gleich lange Seiten und gleicher Radius zum Schwerpunkt innerhalb der Toleranz). Parameter: `vertices` (mindestens 3 Eckpunkte), `tolerance` (`> 0`, optional). `Centroid` - Berechnet den Flächenschwerpunkt des Polygons. Parameter: `vertices` (mindestens 3 Eckpunkte). Wirft `ArgumentException` bei degenerierten Polygonen. diff --git a/Geometry/TwoDimensional/Rectangle.md b/Geometry/TwoDimensional/Rectangle.md index 2a0ab45..b89e049 100644 --- a/Geometry/TwoDimensional/Rectangle.md +++ b/Geometry/TwoDimensional/Rectangle.md @@ -26,16 +26,16 @@ Statische Hilfsklasse für Berechnungen zu Rechtecken und Quadraten. Enthält Fu `FromDiagonalToSide` - Berechnet die Seitenlänge eines Quadrats aus der Diagonale. Parameter: `d` (Diagonale, `>= 0`). -`Center` - Berechnet den Mittelpunkt zweier Punkte. Parameter: `p1`, `p2` (Punkte als `PointF`). Rückgabe: `System.Drawing.PointF`. +`Center` - Berechnet den Mittelpunkt zweier Punkte. Parameter: `x1`, `y1`, `x2`, `y2` (Koordinaten zweier Punkte). Rückgabe: `System.Drawing.PointF`. -`VerticesFromCenter` - Liefert die 4 Eckpunkte eines rotierten Rechtecks aus Mittelpunkt, Breite, Höhe und Winkel. Parameter: `cx`, `cy` (Mittelpunkt), `w` (Breite, `>= 0`), `h` (Höhe, `>= 0`), `rotationRadians` (Bogenmaß). +`VerticesFromCenter` - Liefert die 4 Eckpunkte eines rotierten Rechtecks aus Mittelpunkt, Breite, Höhe und Winkel. Parameter: `cx`, `cy` (Mittelpunkt), `w` (Breite, `>= 0`), `h` (Höhe, `>= 0`), `angleRadians` (Bogenmaß). `AreaFromVertices` - Berechnet die Fläche aus Eckpunkten über die Shoelace-Formel. Parameter: `vertices` (mindestens 3 Punkte als `PointF()`). `PerimeterFromVertices` - Berechnet den Umfang als Summe der Kantenlängen. Parameter: `vertices` (mindestens 2 Punkte als `PointF()`). -`IsRectangleFromVertices` - Prüft, ob vier gegebene Punkte ein Rechteck bilden. Parameter: `vertices` (4 Eckpunkte), `tolerance` (`> 0`). +`IsRectangleFromVertices` - Prüft, ob vier gegebene Punkte ein Rechteck bilden. Parameter: `vertices` (4 Eckpunkte). ## Hinweise -Viele Methoden werfen ArgumentException bei ungültigen Parametern (z. B. negative Längen oder Division durch 0). Koordinatenmethoden verwenden System.Drawing.PointF (Single-Precision) zur Rückgabe. +Viele Methoden verwenden Guard-Clauses und werfen `ArgumentException` bei ungültigen Parametern (z. B. negative Längen oder Division durch 0). Bei einigen koordinatenbasierten Prüf-/Berechnungsmethoden werden für ungültige Eckpunkt-Arrays stattdessen direkte Rückgabewerte verwendet (z. B. `0.0` oder `False`). Koordinatenmethoden verwenden `System.Drawing.PointF` (Single-Precision) zur Rückgabe. diff --git a/Geometry/TwoDimensional/RegularPolygon.md b/Geometry/TwoDimensional/RegularPolygon.md index 35712d0..f354914 100644 --- a/Geometry/TwoDimensional/RegularPolygon.md +++ b/Geometry/TwoDimensional/RegularPolygon.md @@ -24,7 +24,7 @@ Statische Hilfsklasse für Berechnungen an regelmäßigen Polygonen. Enthält Ba `PerimeterFromVertices` - Berechnet den Umfang aus Eckpunkten als Summe der Kantenlängen. Parameter: `vertices` (mindestens 2 Eckpunkte als `PointF()`). -`IsRegularFromVertices` - Prüft, ob ein Eckpunkt-Array ein regelmäßiges Polygon bildet (gleiche Seitenlängen und gleiche Radien zum Mittelpunkt). Parameter: `vertices` (mindestens 3 Eckpunkte), `tolerance` (`> 0`). +`IsRegularFromVertices` - Prüft, ob ein Eckpunkt-Array ein regelmäßiges Polygon bildet (gleiche Seitenlängen und gleiche Radien zum Mittelpunkt). Parameter: `vertices` (mindestens 3 Eckpunkte), `tolerance` (`> 0`, optional). ## Hinweise diff --git a/Geometry/TwoDimensional/Rhombus.md b/Geometry/TwoDimensional/Rhombus.md index 2d50314..afad038 100644 --- a/Geometry/TwoDimensional/Rhombus.md +++ b/Geometry/TwoDimensional/Rhombus.md @@ -22,7 +22,7 @@ Statische Hilfsklasse für Berechnungen zu Rauten (Fläche, Umfang, Diagonalen, `PerimeterFromVertices` - Berechnet den Umfang aus 4 Eckpunkten als Summe der Kantenlängen. Parameter: `vertices` (4 Eckpunkte als `PointF()`). -`IsRhombusFromVertices` - Prüft, ob 4 Eckpunkte eine Raute bilden (alle Seitenlängen gleich innerhalb Toleranz). Parameter: `vertices` (4 Eckpunkte), `tolerance` (`> 0`). +`IsRhombusFromVertices` - Prüft, ob 4 Eckpunkte eine Raute bilden (alle Seitenlängen gleich innerhalb Toleranz). Parameter: `vertices` (4 Eckpunkte), `tolerance` (`> 0`, optional). ## Hinweise diff --git a/Geometry/TwoDimensional/Square.md b/Geometry/TwoDimensional/Square.md index d3e89f7..216a4d0 100644 --- a/Geometry/TwoDimensional/Square.md +++ b/Geometry/TwoDimensional/Square.md @@ -22,7 +22,7 @@ Statische Hilfsklasse für Berechnungen zu Quadraten (Basiswerte, abgeleitete Gr `PerimeterFromVertices` - Berechnet den Umfang aus 4 Eckpunkten als Summe der Kantenlängen. Parameter: `vertices` (4 Eckpunkte als `PointF()`). -`IsSquareFromVertices` - Prüft, ob 4 Eckpunkte ein Quadrat bilden (gleich lange Seiten + rechte Winkel innerhalb Toleranz). Parameter: `vertices` (4 Eckpunkte), `tolerance` (`> 0`). +`IsSquareFromVertices` - Prüft, ob 4 Eckpunkte ein Quadrat bilden (gleich lange Seiten + rechte Winkel innerhalb Toleranz). Parameter: `vertices` (4 Eckpunkte), `tolerance` (`> 0`, optional). ## Hinweise diff --git a/Geometry/TwoDimensional/Trapezoid.md b/Geometry/TwoDimensional/Trapezoid.md index 8422264..4e523a9 100644 --- a/Geometry/TwoDimensional/Trapezoid.md +++ b/Geometry/TwoDimensional/Trapezoid.md @@ -14,7 +14,7 @@ Statische Hilfsklasse für Berechnungen zu Trapezen (Fläche, Umfang, Mittellini `LegLengthIsosceles` - Berechnet die Schenkellänge eines gleichschenkligen Trapezes aus Grundseiten und Höhe. Parameter: `baseA`, `baseB` (Grundseiten, `>= 0`), `height` (`>= 0`). -`IsIsosceles` - Prüft, ob ein Trapez gleichschenklig ist (`|legB - legD| <= tolerance`). Parameter: `legB` (`> 0`), `legD` (`> 0`), `tolerance` (`> 0`). +`IsIsosceles` - Prüft, ob ein Trapez gleichschenklig ist (`|legB - legD| <= tolerance`). Parameter: `legB` (`> 0`), `legD` (`> 0`), `tolerance` (`> 0`, optional). `VerticesFromCenter` - Berechnet 4 Eckpunkte eines gleichschenkligen Trapezes aus Mittelpunkt, beiden Grundseiten, Höhe und Rotation (Bogenmaß). Parameter: `cx`, `cy` (Mittelpunkt), `baseA`, `baseB` (Grundseiten, `>= 0`), `height` (`>= 0`), `rotationRadians`. @@ -22,7 +22,7 @@ Statische Hilfsklasse für Berechnungen zu Trapezen (Fläche, Umfang, Mittellini `PerimeterFromVertices` - Berechnet den Umfang aus 4 Eckpunkten als Summe der Kantenlängen. Parameter: `vertices` (4 Eckpunkte als `PointF()`). -`IsTrapezoidFromVertices` - Prüft, ob 4 Eckpunkte ein Trapez bilden (mindestens ein Paar gegenüberliegender Seiten parallel, innerhalb einer Toleranz). Parameter: `vertices` (4 Eckpunkte), `tolerance` (`> 0`). +`IsTrapezoidFromVertices` - Prüft, ob 4 Eckpunkte ein Trapez bilden (mindestens ein Paar gegenüberliegender Seiten parallel, innerhalb einer Toleranz). Parameter: `vertices` (4 Eckpunkte), `tolerance` (`> 0`, optional). ## Hinweise diff --git a/Geometry/TwoDimensional/Triangle.md b/Geometry/TwoDimensional/Triangle.md index e678038..bc6afa0 100644 --- a/Geometry/TwoDimensional/Triangle.md +++ b/Geometry/TwoDimensional/Triangle.md @@ -14,15 +14,15 @@ Statische Hilfsklasse für Berechnungen zu Dreiecken (Fläche, Umfang, Winkel, S `AngleFromSides` - Berechnet einen Innenwinkel (Bogenmaß) über den Kosinussatz. Parameter: `opposite`, `adjacent1`, `adjacent2` (Seiten, `> 0`, gültige Dreiecksungleichung). -`SideLengthsFromVertices` - Berechnet die Seitenlängen aus drei Eckpunkten. Parameter: `a`, `b`, `c` (Eckpunkte als `PointF`). Rückgabe: `[AB, BC, CA]`. +`SideLengthsFromVertices` - Berechnet die Seitenlängen aus drei Eckpunkten. Parameter: `vertices` (Array mit genau drei Eckpunkten als `PointF`). Rückgabe: `[AB, BC, CA]`. -`AreaFromVertices` - Berechnet die Dreiecksfläche aus drei Eckpunkten mit der Shoelace-Formel. Parameter: `a`, `b`, `c` (Eckpunkte als `PointF`). +`AreaFromVertices` - Berechnet die Dreiecksfläche aus drei Eckpunkten mit der Shoelace-Formel. Parameter: `vertices` (Array mit genau drei Eckpunkten als `PointF`). -`PerimeterFromVertices` - Berechnet den Umfang aus drei Eckpunkten als Summe der Seitenlängen. Parameter: `a`, `b`, `c` (Eckpunkte als `PointF`). +`PerimeterFromVertices` - Berechnet den Umfang aus drei Eckpunkten als Summe der Seitenlängen. Parameter: `vertices` (Array mit genau drei Eckpunkten als `PointF`). -`Centroid` - Berechnet den Schwerpunkt (Centroid) aus drei Eckpunkten. Parameter: `a`, `b`, `c` (Eckpunkte als `PointF`). +`Centroid` - Berechnet den Schwerpunkt (Centroid) aus drei Eckpunkten. Parameter: `vertices` (Array mit genau drei Eckpunkten als `PointF`). -`IsValidTriangleFromVertices` - Prüft, ob drei Eckpunkte ein gültiges Dreieck mit Fläche größer als Toleranz bilden. Parameter: `a`, `b`, `c` (Eckpunkte als `PointF`), `tolerance` (`> 0`). +`IsValidTriangleFromVertices` - Prüft, ob drei Eckpunkte ein gültiges Dreieck mit Fläche größer als Toleranz bilden. Parameter: `vertices` (Array mit genau drei Eckpunkten als `PointF`), `tolerance` (`> 0`, optional). ## Hinweise From 81381204dc45c7d2cfe41c378dad3135da39608c Mon Sep 17 00:00:00 2001 From: Andreas Sauer <18749753+Hanibal1963@users.noreply.github.com> Date: Sat, 10 Oct 2026 21:30:28 +0200 Subject: [PATCH 12/12] AssemblyInfo: Import und Versionsupdate System.Runtime.InteropServices importiert und AssemblyVersion sowie AssemblyFileVersion von 1.2026.1010.18 auf 1.2026.1010.1 angepasst. --- Geometry/My Project/AssemblyInfo.vb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Geometry/My Project/AssemblyInfo.vb b/Geometry/My Project/AssemblyInfo.vb index cc57e73..13c03a8 100644 --- a/Geometry/My Project/AssemblyInfo.vb +++ b/Geometry/My Project/AssemblyInfo.vb @@ -17,6 +17,6 @@ Imports System.Runtime.InteropServices - - + +