Algoritmo del pittore: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Xqbot (discussione | contributi)
m Bot: Aggiungo: ja:画家のアルゴリズム; modifiche estetiche
m v2.05 - Fixed using WP:WPCleaner (Errori comuni)
 
(18 versioni intermedie di 13 utenti non mostrate)
Riga 1:
L''''algoritmo del pittore''', conosciuto anche come '''riempimento prioritario''', è una delle soluzioni più semplici al [[problema della visibilità]] nella [[computer grafica]]. Quando si rappresenta una scena tridimensionale su un piano bidimensionale è necessario decidere quali [[poligono|poligoni]] sono visibili e quali saranno nascosti.
 
Il nome dell'[[algoritmo]] si riferisce al semplice metodo usato dai pittori che disegnano prima le parti distanti delledella scena e poi le ricoprono con le parti più vicine. L'algoritmo del pittore ordina tutti i poligonopoligoni nella scena per la loro profondità e successivamente li disegna in ordine. <ref>''(2008) Binary Space Partitions. In: Computational Geometry. Springer, Berlin, Heidelberg'', Chapter 12, p 259. {{ISBN|9783540779742}}</ref> In questo modo le parti nascoste saranno ridipinte con le parti visibili, a scapito del costo di dover ridisegnare delle aree della scena.
<div align="center">
[[File:Painter's_algorithms algorithm.png|600pxupright=2.7|center|thumb|Le montagne distanti sono disegnate per prime, poi i prati e alla fine gli alberi.]]
</centerdiv>
[[File:Painters_problemPainters problem.pngsvg|right|framethumb|Poligoni che si sovrappongono possono causare il fallimento dell'algoritmo]]
 
L'algoritmo può fallire in alcuni casi. In questo esempio, i poligoni A, B e C si sovrappongono. Non è possibile decidere quale poligono è sopra gli altri. <ref>''(2008) Binary Space Partitions. In: Computational Geometry. Springer, Berlin, Heidelberg'', Chapter 12, p 260. {{ISBN|9783540779742}}</ref> In questo caso i poligoni devono essere tagliati in qualche modo per consentire l'ordinamento. L'[[algoritmo di Newell]] proposto nel 1972 fornisce un metodo per il ritaglio di questi poligoni. Numerosi altri metodi sono stati proposti nel campo della [[geometria computazionale]].
 
Nella sua implementazione di base, l'algoritmo del pittore può essere inefficiente. Esso forza il sistema a renderizzare ogni punto di tutti i poligoni nell'insieme visibile, anche se qualche poligono risulterà nascosto nella scena finale.
 
L''''algoritmo del pittore invertito''' <ref>''(2004) [https://books.google.it/books?vid=ISBN9781592730056&pg=PA485&lpg=PA485&redir_esc=y#v=onepage&q&f=false Developing Games in Java]. In: New Riders Games Series. Brackeen, D., Barker, B., Vanhelsuwé, L. New Riders.'', p. 485. {{ISBN|9781592730056}}</ref> è a volte usato disegnando prima gli oggetti vicini al pittore - con la regola che le parti già disegnate non saranno ridisegnate. Questo può essere molto efficiente poiché non è necessario calcolare i colori per le parti che sono distanti e sono nascoste dagli oggetti vicini. Tuttavia, l'algoritmo inverso soffre degli stessi problemi della versione normale.
 
Questo e altri difetti dell'algoritmo portarono allo sviluppo della tecnica dello [[Z-buffer]], che può essere visto come uno sviluppo dell'algoritmo del pittore che risolve i conflitti di profondità, rimuovendo la necessità di un ordinamento di rendering basato sulla profondità.
 
==Note==
[[Categoria:Grafica 3d]]
<references />
 
== Altri progetti ==
[[de:Maleralgorithmus]]
{{interprogetto}}
[[en:Painter's algorithm]]
 
[[es:Algoritmo del pintor]]
[[Categoria:Grafica 3d3D]]
[[fr:Algorithme du peintre]]
[[ja:画家のアルゴリズム]]
[[nl:Schildersalgoritme]]
[[pl:Algorytm malarza]]
[[pt:Algoritmo do Pintor]]
[[zh:画家算法]]