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.

È stato utile?

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
scroll top