B-CONVERT:PROJEC¸A˜ODEFACESTRIANGULARESBASEADANO ALGORITMODETRAC¸ADODERETASDEBRESENHAM LucianoLauandVianadePaula Dissertac¸a˜odeMestradoapresentadaaoPrograma de Po´s-graduac¸a˜o em Engenharia de Sistemas e Computac¸a˜o, COPPE, da Universidade Federal do Rio de Janeiro, como parte dos requisitos necessa´rios a` obtenc¸a˜o do t´ıtulo de Mestre em EngenhariadeSistemaseComputac¸a˜o. Orientador: RicardoCordeirodeFarias RiodeJaneiro Setembrode2012 B-CONVERT:PROJEC¸A˜ODEFACESTRIANGULARESBASEADANO ALGORITMODETRAC¸ADODERETASDEBRESENHAM LucianoLauandVianadePaula DISSERTAC¸A˜O SUBMETIDA AO CORPO DOCENTE DO INSTITUTO ALBERTO LUIZCOIMBRADEPO´S-GRADUAC¸A˜OEPESQUISADEENGENHARIA(COPPE) DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS NECESSA´RIOS PARA A OBTENC¸A˜O DO GRAU DE MESTRE EM CIEˆNCIASEMENGENHARIADESISTEMASECOMPUTAC¸A˜O. Examinadapor: Prof.RicardoCordeirodeFarias,Ph.D. Prof.RicardoGuerraMarroquim, D.Sc. Prof.EstebanWalterGonzalezClua,D.Sc. RIODEJANEIRO,RJ–BRASIL SETEMBRODE2012 dePaula,LucianoLauandViana B-Convert: Projec¸a˜o de faces triangulares baseada no algoritmo de trac¸ado de retas de Bresenham/Luciano Lauand VianadePaula. –RiodeJaneiro: UFRJ/COPPE,2012. XII,68p.:il.;29,7cm. Orientador: RicardoCordeirodeFarias Dissertac¸a˜o (mestrado) – UFRJ/COPPE/Programa de EngenhariadeSistemaseComputac¸a˜o,2012. RefereˆnciasBibliogra´ficas: p. 52–56. 1. scan convert. 2. face projection. 3. volume rendering. I.deFarias,RicardoCordeiro. II.UniversidadeFederaldoRio de Janeiro, COPPE, Programa de Engenharia de Sistemas e Computac¸a˜o. III. T´ıtulo. iii AMariaCl´ıciadeCastro(D.Sc.) e minhafam´ılia, emespecial,Jose´ LuizFernandesBraga(in memorian). iv Agradecimentos Gostaria de agradecer a minha ma˜e Vania Aida Viana de Paula (M.A.), por todo seu apoioanteseduranteestapesquisa. A` elaeminhatiaIsisFernandesBraga(D.Sc.) porme incentivaremamergulharnomestrado. Aomeuorientador,RicardoFarias(Phd)porseus conselhos,explicac¸o˜es,dicaseajuda. Maisqueorientador,umamigo. Aoamigoecolega da linha de Computac¸a˜o Gra´fica Guilherme Cox (M.Sc.) por suas valiosas contribuic¸o˜es e sugesto˜es em otimizac¸a˜o. Aos amigos e professores do LCG. A` Cristiane Martins por me aguentar quando os resultados obtidos me forc¸avam a ”voltar a` prancheta”, ao meu irma˜oEduardo,meupaieJu´liaporseremquemsa˜o. A` RodolfodePaula,peloapoioim- prescind´ıvel,eporfima` minhaorientadoranagraduac¸a˜o,MariaCl´ıciadeCastro(D.Sc.), semaqualeuna˜oteriavoltado minhaatenc¸a˜oa` pesquisacient´ıfica. v Resumo da Dissertac¸a˜o apresentada a` COPPE/UFRJ como parte dos requisitos necessa´riosparaaobtenc¸a˜odograudeMestreemCieˆncias(M.Sc.) B-CONVERT:PROJEC¸A˜ODEFACESTRIANGULARESBASEADANO ALGORITMODETRAC¸ADODERETASDEBRESENHAM LucianoLauandVianadePaula Setembro/2012 Orientador: RicardoCordeirodeFarias Programa: EngenhariadeSistemaseComputac¸a˜o Apresentamos uma proposta para o scan convert de faces triangulares usando apenas pixels dentre as arestas da face projetada. Nosso algoritmo calcula os pontos das arestas, peloalgoritmodeBresenhamparatrac¸adoderetas,posteriormenteinterpolandoospontos internos da face. Ao contra´rio do processo de scan convert tradicional, nossa abordagem na˜o precisa testar a intersec¸a˜o de raios do bounding box de cada face contra o plano definido pelos vertices da face triangular. Uma representac¸a˜o mais pro´xima dos pixels da face e´ usada ao inve´s do bounding box. Pesquisa-se tambe´m as condic¸o˜es necessa´rias parahaverganhodedesempenhobemcomoatuaislimitac¸o˜es. vi Abstract of Dissertation presented to COPPE/UFRJ as a partial fulfillment of the requirementsforthedegreeofMasterofScience(M.Sc.) B-CONVERT:TRIANGULARFACEPROJECTIONTHROUGHBRESENHAM’SLINE DRAWINGALGORITHM LucianoLauandVianadePaula September/2012 Advisor: RicardoCordeiro deFarias Department: SystemsEngineeringandComputerScience Wepresentanewapproachtoscanconverttriangularfacesusingonlypixelsbetween the edges of the projected face itself. Our algorithm calculates edge points through Bre- senham’s line drawing algorithm, interpolating points within the face. As opposed to traditional scan convert process, our approach does not need to test the intersection be- tweenraysfromeachface’sboundingboxagainsttheplanedefinedbytheverticesofthe triangular face. A better match to the actual face’s pixels is used instead of the bound- ing box. We also research conditions to achieve performance speed up as well as current limitations. vii Suma´rio ListadeFiguras x ListadeTabelas xii 1 Introduc¸a˜o 1 1.1 Introduc¸a˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 APropostadoTrabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Revisa˜oBibliogra´fica 4 2.1 Rasterizac¸a˜o(scanconvert) . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Rasterizac¸a˜oderetas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2.1 DDA(digtaldifferential analizer) . . . . . . . . . . . . . . . . . 6 2.2.2 Algoritmo detrac¸adoderetasdeBresenham . . . . . . . . . . . 7 2.3 Visualizac¸a˜oVolume´trica . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3.1 Projec¸a˜odeFaces(faceprojection) eZSweep . . . . . . . . . . . 11 2.3.2 Equac¸a˜odetransfereˆncia . . . . . . . . . . . . . . . . . . . . . . 13 2.3.3 Emissa˜oderaios(raycasting) . . . . . . . . . . . . . . . . . . . 14 2.3.4 PlanodeVarredura(sweepplane)emRenderingVolume´trico . . 16 3 B-Convert: projec¸a˜odefacesporlistacompacta 18 3.1 Oalgoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1.1 Gerac¸a˜odaslistasdasarestas . . . . . . . . . . . . . . . . . . . 21 3.1.2 Gerac¸a˜odalistacompacta . . . . . . . . . . . . . . . . . . . . . 24 3.1.3 Utilizando osve´rticesoriginaisnoespac¸otridimensional . . . . . 28 3.2 Implementac¸a˜onoZSweep . . . . . . . . . . . . . . . . . . . . . . . . . 31 4 ResultadoseDiscusso˜es 34 4.1 Desempenhodoalgoritmo . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.2 RenderingeArtefatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 5 Concluso˜es 49 5.1 TrabalhosFuturos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 viii RefereˆnciasBibliogra´ficas 52 A Co´digoFonte 57 A.1 B-Convert: versa˜outilizadanoBZSweep. . . . . . . . . . . . . . . . . . 57 A.2 Versa˜oexperimental, apartir dosve´rticesnoespac¸otridimensional . . . . 60 B Tempos 65 B.1 Temposparabzsweepxzsweep . . . . . . . . . . . . . . . . . . . . . . . 65 C Renderings 67 C.1 Imagensdosdatasetsem40962 pixels . . . . . . . . . . . . . . . . . . . 67 ix Lista de Figuras 1.1 Scanconvert xB-Convert . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1 Etapasderasterizac¸a˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Octanteseexemplodeuso . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Trac¸adoderetas,segundopixel . . . . . . . . . . . . . . . . . . . . . . . 8 2.4 Trac¸adoderetas,terceiropixel . . . . . . . . . . . . . . . . . . . . . . . 9 2.5 Desenhoderetas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.6 Emissa˜odeRaiosXProjec¸a˜odeFaces . . . . . . . . . . . . . . . . . . . 12 2.7 ZSweeping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.8 Planodevarredura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1 Casosdeprojec¸a˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2 Scano´timo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.3 B-Scano´timo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.4 Descric¸a˜odoalgoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.5 Listacompacta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.6 Casosdecompactac¸a˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.7 Crite´riodecompactac¸a˜o . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.8 Listacompactaebucketsort . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.9 Diferenc¸asentreBZSweepeZSweep . . . . . . . . . . . . . . . . . . . . 31 3.10 Arquivosalterados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.1 oceanUscanconvert . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.2 deltascanconvert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.3 torsoscanconvert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.4 postscanconvert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.5 f117scanconvert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.6 spxscanconvert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.7 spx2scanconvert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.8 pixelsdasarestas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.9 Artefatosemfacesinternas . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.10 Artefatosemfacesdefronteira . . . . . . . . . . . . . . . . . . . . . . . 44 x
Description: