Hallo,
vor dem Erklärung des Problems eine kleine Skizze:
-2, 2|-1, 2|0, 2|1, 2|2, 2
-2, 1|-1, 1|0, 1|1, 1|2, 1
-2, 0|-1, 0|0, 0|1, 0|2, 0
-2,-1|-1,-1|0,-1|1,-1|2,-1
-2,-2|-1,-2|0,-2|1,-2|2,-2
Ich versuche seit geraumer Zeit einen Algorithmus zu entwickeln, welcher es mir ermöglicht, alle umliegenden Punkte eines Punktes zu berechnen,
und zwar in einem egal-wie-großen Radius.
Zum Beispiel:
Ursprungspunkt: 0,0
Radius: 1
Zurückgegeben: alle grünen Punke
Ursprungspunkt: 0,0
Radius: 2
Zurückgegeben: alle grünen Punke + alle blauen Punkte
Das Problem: Ich weiß nicht, wie ich einen 'dynamischen' Radius entwicken soll.
Mein bisheriger Code errechnet die Positionen noch 'statisch', nicht 'dynamisch':
Wie könnte ein solch 'dynamischer' Code aussehen?
MfG, Christopher
vor dem Erklärung des Problems eine kleine Skizze:
-2, 2|-1, 2|0, 2|1, 2|2, 2
-2, 1|-1, 1|0, 1|1, 1|2, 1
-2, 0|-1, 0|0, 0|1, 0|2, 0
-2,-1|-1,-1|0,-1|1,-1|2,-1
-2,-2|-1,-2|0,-2|1,-2|2,-2
Ich versuche seit geraumer Zeit einen Algorithmus zu entwickeln, welcher es mir ermöglicht, alle umliegenden Punkte eines Punktes zu berechnen,
und zwar in einem egal-wie-großen Radius.
Zum Beispiel:
Ursprungspunkt: 0,0
Radius: 1
Zurückgegeben: alle grünen Punke
Ursprungspunkt: 0,0
Radius: 2
Zurückgegeben: alle grünen Punke + alle blauen Punkte
Das Problem: Ich weiß nicht, wie ich einen 'dynamischen' Radius entwicken soll.
Mein bisheriger Code errechnet die Positionen noch 'statisch', nicht 'dynamisch':
VB.NET-Quellcode
- Dim TMP As New List(Of Point)
- Dim TargetPoint As new Point
- For i As Integer = 1 To Radius
- TMP.Add(New Point(TargetPoint.x - i, TargetPoint.y - i))
- TMP.Add(New Point(TargetPoint.x - i, TargetPoint.y))
- TMP.Add(New Point(TargetPoint.x - i, TargetPoint.y + i))
- TMP.Add(New Point(TargetPoint.x, TargetPoint.y - i))
- TMP.Add(New Point(TargetPoint.x, TargetPoint.y + i))
- TMP.Add(New Point(TargetPoint.x + i, TargetPoint.y - i))
- TMP.Add(New Point(TargetPoint.x + i, TargetPoint.y))
- TMP.Add(New Point(TargetPoint.x + i, TargetPoint.y + i))
- Next
Wie könnte ein solch 'dynamischer' Code aussehen?
MfG, Christopher