Escolar Documentos
Profissional Documentos
Cultura Documentos
Primitivos gráficos
Ciência da Computação
© Julio Arakaki 1
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
Algoritmos de reta
© Julio Arakaki 2
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
Problemas:
• Linhas verticais. (m = )
• Lento, pois para todo x tem-se:
uma multiplicação em “floating point”
uma adição em “floating point”
uma chamada de função de arrendondamento (“round”)
© Julio Arakaki 3
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
© Julio Arakaki 4
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
x y Round(y) (7,7)
2.0 2.0 2
3.0 2.8 3
4.0 3.6 4
5.0 4.4 4
(0,0)
6.0 5.2 5
© Julio Arakaki 5
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
desenharPonto(x1,y1, cor);
y = y1;
while( x1 < x2 ){
x1++;
y += m;
desenharPonto(x1, ROUND(y), cor);
}
…
© Julio Arakaki 7
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
di=a(xi + 1) + b(yi + ½) + c
© Julio Arakaki 8
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
= di + a + b
© Julio Arakaki 9
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
© Julio Arakaki 10
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
= 0 + a + b/2
di = 2a + b
© Julio Arakaki 11
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
Então:
a = dy = y2 – y1
c = Cdx
© Julio Arakaki 12
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
OU SEJA,
- Para di > 0 :
- Para di < 0 :
© Julio Arakaki 13
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
dx = (7 - 2) = 5
dy = (6 - 2) = 4
Inicial: (d = 2*dy - dx)
Ou seja, d = 3
se d > 0 (d = d + 2 * dy)
ou seja, d = d - 2
© Julio Arakaki 15
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
2 2 3 6
3 3 1 5
4 4 -1 4
5 4 7 3
6 5 5 2
7 6 3 1
(0,0) 1 2 3 4 5 6 7
© Julio Arakaki 16
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
y = yc + rsen
© Julio Arakaki 17
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
di:
© Julio Arakaki 18
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
© Julio Arakaki 19
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
= di + 2xi + 3
= di + 2xi – 2yi + 5
© Julio Arakaki 20
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
© Julio Arakaki 21
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
© Julio Arakaki 22
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
© Julio Arakaki 23
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
F ( x, y ) b 2 x 2 a 2 y 2 a 2b 2 0
© Julio Arakaki 24
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
© Julio Arakaki 25
Ciência da Computação
Computação Gráfica 5. Primitivos gráficos
© Julio Arakaki 26
Ciência da Computação