Ottenere tutti i Punti Vector2 all'interno del raggio
Domanda
Sto cercando una formula che mi darà tutto il Vector2 Points
una determinata distanza data la centrale.
In sostanza quello che sto cercando di fare è cambiare il colore di ogni pixel in un 256 x 256 struttura che è una determinata distanza da uno specifico pixel (Usando il motore Unity3d Gioco). Linguaggio di programmazione non importa, posso probabilmente convertirlo in qualcosa che posso usare.
Soluzione
Sia cx
e cy
essere x centro e centro y, e r
il raggio.
r2 = r * r;
for each dy = 0 ... r
dx = 0
while (dx*dx + dy*dy <= r2)
within(cx+dx, cy+dy)
within(cx-dx, cy+dy)
within(cx+dx, cy-dy)
within(cx-dx, cy-dy)
dx++
Un ottimizzazione sarebbe, non dx
resettato a 0 in ogni iterazione, ma a un valore più vicino subito.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow