Algoritmo di rasterizzazione di linea: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: apostrofo dopo l'articolo indeterminativo |
m nuova chiave d'ordine per Categoria:Algoritmi geometrici: "Rasterizzazione di linea" usando HotCat |
||
(17 versioni intermedie di 13 utenti non mostrate) | |||
Riga 1:
{{F|computer grafica|arg2=algoritmi|marzo 2013}}
Un '''algoritmo di rasterizzazione di linea''' è un [[algoritmo]] grafico che si occupa di approssimare una linea o un segmento in una rappresentazione grafica discreta. Esempi di rappresentazioni grafiche discrete possono essere il monitor, composto da migliaia di [[pixel]]
In rappresentazioni non discrete, e quindi continue, questo lavoro non si presenta. Esempi di rappresentazioni grafiche continue sono gli [[Oscilloscopio#Oscilloscopio a tubo catodico|oscilloscopi a tubo catodico]].
Un esempio del problema si può vedere nella figura 0:
[[
Nello sfondo si vede una griglia,
==Un semplice algoritmo di rasterizzazione di linea==
Dati due punti p1 e p2, con coordinate (x<sub>1</sub>,y<sub>1</sub>) e (x<sub>2</sub>,y<sub>2</sub>), possiamo usare il seguente algoritmo:
dx = x2 - x1
dy = y2 - y1
Riga 18 ⟶ 19:
disegna_il_punto(x, y)
}
Nel nostro caso abbiamo semplificato l'operazione assumendo che i punti siano ordinati, ovvero che <math>x_2 > x_1</math> e <math>y_2 > y_1</math>.
L'algoritmo funziona bene con <math>dx >= dy</math> (figura 1.), ma diventa piuttosto lento nei computer, per via dei calcoli in virgola mobile.
[[
Se abbiamo <math>dx < dy</math>, i punti della linea diventano "sparsi", come mostrato in figura 2.
[[
Nel caso limite di <math>dx = 0</math> viene disegnato un solo punto.
Riga 33:
==Elenco di algoritmi di rasterizzazione di linee==
La lista non vuole essere completa:
*[[algoritmo DDA]]
*[[algoritmo della linea di Bresenham]]
*[[algoritmo della linea di Xiaolin Wu]]
==Rasterizzazione di poligono==
Riga 43:
Il problema si complica nel caso di poligoni pieni. Nella figura 1 possiamo vedere alcuni esempi di poligono:
[[
In questi casi abbiamo a disposizione i seguenti algoritmi:
Riga 49:
*[[Algoritmo scan line]]
== Altri progetti ==
[[Categoria:Computer grafica]]▼
{{interprogetto}}
[[Categoria:Algoritmi geometrici]]▼
{{Portale|matematica}}
▲[[Categoria:Computer grafica]]
▲[[Categoria:Algoritmi geometrici|Rasterizzazione di linea]]
|