Pergunta

Estou procurando uma fórmula que me dará todo o Vector2 Points Dentro de um certo raio dado o centro.

Essencialmente, o que estou tentando fazer é alterar a cor de cada pixel em uma textura de 256 x 256 que está dentro de um determinado raio de um pixel específico (usando o mecanismo de jogo Unity3D). A linguagem de programação realmente não importa, pois provavelmente posso convertê -la em algo que posso usar.

Foi útil?

Solução

Deixar cx e cy ser central x e centro y, e r seja o raio.

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

Uma otimização seria, não reiniciar dx 0 em cada iteração, mas para algum valor mais próximo imediatamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top