Algoritmo DDA: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Prima bozza |
m nuova chiave d'ordine per Categoria:Algoritmi geometrici: "DDA" usando HotCat |
||
(22 versioni intermedie di 18 utenti non mostrate) | |||
Riga 1:
{{F|computer grafica|arg2=algoritmi|marzo 2013}}
L''''algoritmo DDA''' (digital differential analyzer) è un [[algoritmo di rasterizzazione di linea]].
Line 16 ⟶ 17:
Un esempio di algoritmo può essere il seguente:
dx = x<sub>2</sub> - x<sub>1</sub>;
dy = y<sub>2</sub> - y<sub>1</sub>;
Riga 25:
disegna_il_punto(x, round(y) );
}
Come vediamo è presente un'operazione di arrotondamento (<code> round(y) </code>) e le operazioni sono eseguite in virgola mobile per via del valore m; tutti elementi costosi dal punto di vista computazionale.▼
==Errori==
Per grandi pendenze l'algoritmo produce uno spargimento di punti come in figura 1.
[[
▲Come vediamo è presente un'operazione di arrotondamento (<code> round(y) </code>) e le operazioni sono eseguite in virgola mobile per via del valore m; tutti elementi costosi dal punto di vista computazionale.
In questo caso infatti notiamo che m ha un valore di circa 4.2
Un
<math> x_{i+1} = x_i + \Delta x = y_i + (1/m * \Delta y) = y_i + (1/m * 1) = x_i + 1/m</math>
Line 41 ⟶ 39:
In questo caso si ottiene il risultato in figura 2:
[[
{{Portale|matematica}}
[[Categoria:Computer grafica]]
[[Categoria:Algoritmi geometrici|DDA]]
|