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
-
-
+
+