ebook img

Desenvolvimento de Biblioteca Gráfica para a Disciplina De Algoritmos e Programação de PDF

251 Pages·2016·13.45 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Desenvolvimento de Biblioteca Gráfica para a Disciplina De Algoritmos e Programação de

Universidade de Brasília InstitutodeCiênciasExatas DepartamentodeCiênciadaComputação playAPC: Projeto e Desenvolvimento de uma Biblioteca Gráfica como Ferramenta Didática para Algoritmos e Programação de Computadores Sinayra Pascoal Cotts Moreira Monografiaapresentadacomorequisitoparcial paraconclusãodoBachareladoemCiênciadaComputação Orientador Prof.Dr.AlexandreZaghetto Coorientador Prof.Dr.JoséCarlosLoureiroRalha Brasília 2016 UniversidadedeBrasília—UnB InstitutodeCiênciasExatas DepartamentodeCiênciadaComputação BachareladoemCiênciadaComputação Coordenador: Prof.Dr.RodrigoBonifáciodeAlmeida Bancaexaminadoracompostapor: Prof.Dr.AlexandreZaghetto(Orientador)—CIC/UnB Prof.Dr.CarlaMariaChagaseCavalcanteKoike—CIC/UnB Prof.Dr.MarcusViníciusChaffimCosta—FGA/UnB CIP—CatalogaçãoInternacionalnaPublicação Moreira,SinayraPascoalCotts. playAPC: Projeto e Desenvolvimento de uma Biblioteca Gráfica como Fer- ramenta Didática para Algoritmos e Programação de Computadores / Si- nayraPascoalCottsMoreira.Brasília:UnB,2016. 251p. : il.;29,5cm. Monografia(Graduação)—UniversidadedeBrasília,Brasília,2016. 1.OpenGL,2.ComputaçãoGráfica,3.Biblioteca,4.Didático,5.Lúdico, 6.Visual CDU004 Endereço: UniversidadedeBrasília CampusUniversitárioDarcyRibeiro—AsaNorte CEP70910-900 Brasília–DF—Brasil Universidade de Brasília InstitutodeCiênciasExatas DepartamentodeCiênciadaComputação playAPC: Projeto e Desenvolvimento de uma Biblioteca Gráfica como Ferramenta Didática para Algoritmos e Programação de Computadores Sinayra Pascoal Cotts Moreira Monografiaapresentadacomorequisitoparcial paraconclusãodoBachareladoemCiênciadaComputação Prof.Dr.AlexandreZaghetto(Orientador) CIC/UnB Prof.Dr.CarlaMariaChagaseCavalcanteKoike Prof.Dr.MarcusViníciusChaffimCosta CIC/UnB FGA/UnB Prof.Dr.RodrigoBonifáciodeAlmeida CoordenadordoBachareladoemCiênciadaComputação Brasília, 18 de novembro de 2016 Dedicatória Dedicamos à todos os professores que queiram ter mais liberdade criativa ao desenvolver exer- cíciosdeprogramaçãoeàtodososalunosque,mesmocompoucaounenhumaexperiênciaem programação,queiramfazertrabalhosdivertidos,coloridoseinteressantes. iv Agradecimentos Agradeço ao professor Ralha, que sempre ofereceu apoio e entusiasmo ao projeto, além do grande auxílio no desenvolvimento tanto da própria biblioteca como material de ensino; à pro- fessora Carla Castanho, pela oportunidade de tutoria e o contato direto com os alunos; ao pro- fessorZaghettopelaoportunidadedeProjetodeIniciaçãoCientíficaepelaconfiançaaoaplicar a biblioteca em uma turma de APC, além de estar sempre sugerindo novas ideias de funcio- nalidades; e à todos os alunos de Algoritmos e Programação de Computadores que retornaram comentáriossobreousodabiblioteca,emespecialaosalunosBernadoFerreiraSantosXimbre, Pedro Paulo de Pinho Matos e Pedro Augusto Coelho Nunes por ter utilizado a biblioteca de formatãocriativa. v Resumo Noscursosdecomputação,aprimeiramatériadeprogramaçãoéfundamentalparaqueoaluno possaprogredirnaárea,porémsuaaprendizagemnãoétrivial. Umdosmétodosrecorridospara auxiliar o ensino, independente da área, é o uso de recursos gráficos. Desta forma, foi proposta umabibliotecagráficadenominadaPLAYAPCparaseraplicadanoprimeirosemestredamatéria de computação dos cursos de Engenharia da Computação, Engenharia Mecatrônica, Ciência da Computação e Licenciatura em Computação, na disciplina Algoritmos e Programação de Computadores (APC) da Universidade de Brasília (UnB). A biblioteca utiliza como recurso gráficoaAPIOpenGLefoifeitanalinguagemC++. Apesardisso,essasescolhasdetecnologia em nada interferem no processo de aprendizado da matéria APC que, para alguns professores, é ministrada na linguagem C. Esta monografia descreve o processo desde o levantamento de requisitosparaodesenvolvimentodabibliotecaatéasuaaplicaçãoemaulasdelaboratório. Palavras-chave:OpenGL,ComputaçãoGráfica,Biblioteca,Didático,Lúdico,Visual vi Abstract In computer’s relative courses, the first programming subject is essencial for the undergradu- ate student grow up in the area, but his learning is not trivial. One of the methods to assist the teaching, regardless the area, is the use of graphic resources. It was proposed a graphic libray called PLAYAPC to be applied in the first semester at UnB, in Computer’s Engineering course, Mechatronic Engineering course, Bacharel on Computer Science course and Major in Computercourse,inthedisciplineAPC.ThelibraryusesasgraphicresourcestheAPIOpenGL andwaswritteninC++programminglanguage. Evenwiththesestecnologychoises,itwillnot complicate the learning processing in the discipline, which, for some professors, it is given in C language. This paper describes the survey process requirement from the development of the librarytoitsapplicationinpraticalclasses. Keywords:OpenGL,ComputerGraphics,Library,Didactic,Playful,Visual vii Sumário 1 Introdução 1 2 FundamentaçãoTeóricaeTrabalhosCorrelatos 3 2.1 FundamentaçãoTeórica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.1 AspectosdeEngenhariadeSoftware . . . . . . . . . . . . . . . . . . . 3 2.1.1.1 Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.1.2 Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.1.3 Validação . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.1.4 Evolução . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1.2 AspectosdeComputaçãoGráfica . . . . . . . . . . . . . . . . . . . . 7 2.1.2.1 AspectosTécnicosdaOpenGL . . . . . . . . . . . . . . . . 14 2.1.2.1.1 Translação . . . . . . . . . . . . . . . . . . . . . . 14 2.1.2.1.2 Rotação . . . . . . . . . . . . . . . . . . . . . . . 15 2.1.2.1.3 Escala . . . . . . . . . . . . . . . . . . . . . . . . 15 2.1.2.1.4 Visualização . . . . . . . . . . . . . . . . . . . . . 16 2.1.3 AspectosEducacionais . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.1.3.1 Tipodedados . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.1.3.2 Estruturasdecontrole . . . . . . . . . . . . . . . . . . . . . 19 2.1.3.2.1 Estruturascondicionais . . . . . . . . . . . . . . . 19 2.1.3.2.2 Estruturasderepetição . . . . . . . . . . . . . . . 19 viii 2.1.3.3 Estruturasdedadosmultidimensionais . . . . . . . . . . . . 19 2.1.3.3.1 Unidimensional . . . . . . . . . . . . . . . . . . . 19 2.1.3.3.2 N-dimensional . . . . . . . . . . . . . . . . . . . . 19 2.1.3.4 Subalgoritmos . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.1.3.5 Recursão . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2 TrabalhosCorrelatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2.1 Soluçõesalternativas . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.1.1 PlayLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.1.2 WinBGIm . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.1.3 SDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.2.1.4 TurtleGrafik . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.2.2 Comparaçãoentreasalternativaseaproposta . . . . . . . . . . . . . . 24 3 SoluçãoProposta 27 3.1 ProjetodaBiblioteca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.1.1 Levantamentoderequisitos . . . . . . . . . . . . . . . . . . . . . . . 27 3.1.2 Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.1.2.1 Requisitosnão-funcionais . . . . . . . . . . . . . . . . . . . 31 3.1.2.1.1 Inicializarjaneladecontexto . . . . . . . . . . . . 31 3.1.2.1.2 Renderizarcontexto . . . . . . . . . . . . . . . . . 34 3.1.2.2 Requisitosfuncionaispararenderizaçãodeformasgeométricas 34 3.1.2.2.1 TipodedadoPonto . . . . . . . . . . . . . . . . . 34 3.1.2.2.2 FormageométricaPonto . . . . . . . . . . . . . . 35 3.1.2.2.3 FormageométricaReta . . . . . . . . . . . . . . . 36 3.1.2.2.4 FormageométricaPolígono . . . . . . . . . . . . . 36 3.1.2.2.5 FormageométricaCírculo . . . . . . . . . . . . . 36 3.1.2.2.6 FormageométricaCircunferência . . . . . . . . . . 36 ix 3.1.2.2.7 FormageométricaElipse . . . . . . . . . . . . . . 37 3.1.2.2.8 FormageométricaTriângulo . . . . . . . . . . . . 37 3.1.2.2.9 FormageométricaQuadrado . . . . . . . . . . . . 37 3.1.2.2.10 FormageométricaRetângulo . . . . . . . . . . . . 37 3.1.2.2.11 Renderizaçãodegráficos . . . . . . . . . . . . . . 37 3.1.2.2.12 Colorirformasgeométricas . . . . . . . . . . . . . 38 3.1.2.2.13 Mostrarimagensemformasgeométricas . . . . . . 39 3.1.2.3 Requisitosfuncionaisparaanimação . . . . . . . . . . . . . 39 3.1.2.3.1 Renderizarcenadentrodeumlaçoderepetição . . 40 3.1.2.3.2 Agrupandomaisdeumageometria . . . . . . . . . 40 3.1.2.3.3 Movimentaçãodeumaoumaisgeometrias . . . . . 40 3.1.2.3.4 Rotaçãodeumaoumaisgeometrias . . . . . . . . 41 3.1.2.3.5 Redimensionarumaoumaisgeometrias . . . . . . 41 3.1.2.3.6 Limparacena . . . . . . . . . . . . . . . . . . . . 41 3.1.2.4 Requisitosfuncionaisparaentradademouseeteclado . . . . 42 3.1.2.4.1 Entradadeteclado . . . . . . . . . . . . . . . . . . 42 3.1.2.4.2 Entradademouse . . . . . . . . . . . . . . . . . . 42 3.1.2.5 Requisitosfuncionaisparaoutrostiposdefunções . . . . . . 44 3.1.2.5.1 Colorirplanodefundodajanela . . . . . . . . . . 44 3.1.2.5.2 Planoderenderização . . . . . . . . . . . . . . . . 44 3.1.2.5.3 ComponentesRGBdeumaimagem . . . . . . . . 45 3.1.2.5.4 Alterarespessuradaborda . . . . . . . . . . . . . 45 3.1.3 Arquiteturadabiblioteca . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.2 Apresentaçãodabiblioteca . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.2.1 Criaçãodajaneladecontextoda PLAYAPC . . . . . . . . . . . . . . . 51 3.2.2 CriaçãodosdiscosdeHanoi . . . . . . . . . . . . . . . . . . . . . . . 53 3.2.3 Movimentaçãodosdiscos . . . . . . . . . . . . . . . . . . . . . . . . 61 x

Description:
course, Mechatronic Engineering course, Bacharel on Computer Science course and Major in. Computer course, in the discipline APC. The library
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.