Ich habe Probleme beim Schreiben einer Methode (in C#), die alle Integer-Gitterpaare innerhalb eines Kreises mit einem bestimmten Radius bei einem bestimmten Offset zurückgibt. Ich fand diesen Artikel https://en.wikipedia.org/wiki/Gauss_circle_problem, aber leider scheint es mehr daran interessiert zu sein, die Anzahl der Gitterpaare zu berechnen als jedes einzelne Gitterpaar zu identifizieren.Integer-Gitterpaare innerhalb eines Kreises C#
Ich habe auch Probleme, einige der mathematischen Terminologie/Symbole zu verstehen, da meine Mathematik leider etwas fehlt, daher wären Codebeispiele oder detaillierte Erklärungen sehr hilfreich, wenn möglich.
Mein Plan ist bisher nur jede Integerwertkombination vom Radius zum negativen Radius zu überprüfen und dann einfach den Abstand zum Ursprung zu überprüfen, bevor der Offset auf die Vektoren angewendet wird, die innerhalb des Bereichs liegen.
Bin ich damit auf dem richtigen Weg, oder gibt es einen optimierten Weg, dies zu erreichen?
Beispiel Stub:
public class CircleTest()
{
public List<Vector2>GetContainedIntegerVectors(float radius, Vector2 centerPosition)
{
//math goes here
}
}
Einfache Vector2 Klasse
public class Vector2()
{
public float x {get; set;}
public float y {get; set;}
}
Dank!