controção de circulos

291 palavras 2 páginas
Construção de círculos
Podemos construir círculos pela foprçmula
R2 =x2 +y2
Ou seja , y= para desenhar um quarto de círculo (os outros são obtidos por simetria), pode-se incrementa-se de até r em passos unitários, encontrando-se y em cada caso. y

r x

Quais as implicações?
1 as contas não são precisas, propaga-se erros
2 vai ficar pontilhado nos pontos mais pertos do eixo x

Uma outra alternativa seria utilizar um angula de a 90°, e calculando: x = r*cos y = r*sen variamos de 0 a 90°
De qualquer forma, para melhorar o processo de desenho (torna-lo mais rápido), pode-se dividir o traçado em 8 octantes.
Desta forma, o processo de desenho utiliza um octante e os outros poderiam ser obtidos por simetria. X,y -x,y -y,x y,x -y,-x -x-y x,-y y,-x
Uma possível função ou método para isso pode ser escrito da seguinte forma: void CiclePoints(int x, intx){ white Pixiel(x,y); white Pixiel(y,x); white Pixiel(y,-x); white Pixiel(x,-y); white Pixiel(-x,-y); white Pixiel(-y,-x); white Pixiel(-y,x); white Pixiel(-x,y);
}
Algorítimo de Bresenham para círculos
É um método eficiente, proposta por Bresenham, para desenhos de círculos.
Considera-se apenas um octante (por exemplo, de 0 a 45°), de x=0 até x=y=r.
Para o traçado pode-se usar o circle points.
A idéia de Bresenham foi analisar o porte de acordo com a formula f(x,y)=x2 +y2-r2
Esta fórmula/função é obtida da equação do círculo, e pode-se deduzir que: se f(x,y) for: zero, então o ponto está sobre o circulo >zero, então o ponto está fora do circulo

Relacionados