COMPUTAÇÃO GRÁFICA COM WEBGL
|
|
- Ana Beatriz Vieira Quintão
- 6 Há anos
- Visualizações:
Transcrição
1 COMPUTAÇÃO GRÁFICA COM WEBGL Aluno: Ian Albuquerque Raymundo da Silva Orientador: Hélio Côrtes Vieira Lopes Introdução: WebGL é uma API (Application Program Interface - do inglês, Interface de Programação de Aplicativos) em JavaScript para a renderização de um contexto 3D para a web [1]. Possui as mesmas funcionalidades do OpenGL ES 2.0 por ser derivada deste, porém aplicadas num contexto HTML. A utilização dessa nova tecnologia foi possível recentemente junto com o lançamento do elemento canvas do padrão HTML 5, em 2014, e possui a proposta de possibilitar à plataforma web o desenvolvimento de aplicações que utilizem computação gráfica, somente com o uso de navegadores. Isso aumenta a portabilidade dos softwares desenvolvidos, uma vez que o mesmo código que funciona em um laptop, por exemplo, funcione em um smartphone com os recursos necessários. Objetivos: O principal objetivo foi estudar as possibilidades tecnológicas que o WebGL oferece como extensão natural da computação gráfica para a plataforma web. Objetivou-se reproduzir em WebGL resultados já conhecidos em OpenGL adicionando-se os diversos recursos fornecidos pelos elementos característicos dessa plataforma às aplicações. O principal resultado esperado foi o desenvolvimento de um ambiente de visualização 3D e a implementação do algoritmo Marching Cubes [2] para a renderização de isosuperfícies. A escolha do algoritmo Marching Cubes se deu devido à sua enorme aplicação em diversas áreas da computação gráfica, entre elas o mapeamento, visualização e identificação de dados obtidos de tomografias ou de relevos. Uma vez desenvolvido esse algoritmo, é possível proceder para a criação de aplicações com impacto significativo. Também foi objetivo do estudo a elaboração de uma documentação atualizada contendo os principais elementos e módulos desenvolvidos, de modo a facilitar futuros reusos de código. Metodologia: Através da utilização dos modelos de ambientes tridimensionais básicos em OpenGL apresentados no curso de Elementos Matemáticos da Computação Gráfica da PUC-Rio [3], buscou-se o desenvolvimento de uma biblioteca própria com sintaxe e uso próximo ao do GLUT (OpenGL Utility Toolkit) [4] para a flexibilização e facilitação da criação de aplicações web com a funcionalidade do WebGL. Com a utilização de módulos facilitadores, como o require.js [5], as funcionalidades desejadas foram subdivididas em módulos que formaram um componente maior denominado Canvas WebGL Utility. Para cada módulo foi distribuída uma função diferente dentro do ambiente de visualização, sendo as principais funções o processamento matricial das transformações matemáticas realizadas, o gerenciamento de eventos da aplicação, o processamento de shaders, além da renderização dos objetos em cena tanto num contexto bidimensional quanto tridimensional.
2 Como primeira forma de averiguar o funcionamento e funcionalidade do Canvas WebGL Utility desenvolveu-se uma aplicação para a renderização de funções reais e de curvas de níveis no plano através do uso do algoritmo Marching Squares. Uma vez alcançado esse resultado, expandiu-se a aplicação para atingir-se o resultado principal de renderizar-se isosuperfícies num espaço tridimensional através do algoritmo Marching Cubes. Neste processo, diversas dificuldades foram encontradas, dentre elas a definição dos módulos do projeto buscando-se seguir padrões de desenvolvimento de software, a integração do módulo require.js com os elementos introduzidos pela WebGL e a adaptação dos padrões de computação gráfica em C++ e OpenGL para JavaScript e WebGL. O Canvas WebGL Utility: O Canvas WebGL Utility possui como finalidade gerar funções e procedimentos que permitam a criação rápida e de forma prática de ambientes bidimensionais e tridimensionais utilizando a funcionalidade do elemento canvas do HTML5. O Canvas WebGL Utility é subdividido em diversos módulos que devem ser chamados de acordo com suas funções. Figura 1: Inicialização do elemento Canvas WebGL Utility Para inicializar uma instância do Canvas WebGL Utiity basta associá-lo a um elemento canvas de alguma página HTML. Essa biblioteca possui um funcionamento orientado a eventos. Dessa forma, sempre que um evento pertinente ocorre, a função designada pelo usuário para ser chamada naquela circunstância é chamada. Deve-se, portanto, atribuir para cada um evento uma função correspondente. Figura 2: Designação das funções a serem chamadas. Na função de display, que é chamada sempre que uma nova cena deve ser desenhada, pode-se utilizar ferramentas de desenho de imagens, assim como chamar funções matriciais que alteram a cena. Existem duas principais matrizes responsáveis por alterar a visualização da cena: a matriz de projeção, responsável por aplicar a transformação linear referente à visualização em perspectiva tridimensional, por exemplo, e a matriz de model view.
3 Figura 3: Exemplo de função de display. Para desenhar objetos na tela escolhe-se uma cor de desenho e em seguida começa-se um desenho com uma primitiva, como LINE_LOOP, no exemplo abaixo. Após a primitiva, define-se diversos pontos no espaço, sequencialmente, que serão desenhados de forma diferente, conforme a primitiva escolhida. Por exemplo, a primitiva LINE_LOOP resulta na criação de uma linha contínua, formada por diversos segmentos de retas, definidos pelos vértices dados. Figura 4: Exemplo do desenho e uma esfera composta por círculos. A função loop é chamada periodicamente, em intervalos de tempo pequenos. Ela recebe como parâmetro o intervalo de tempo entre sua última chamada, que é útil para que a aplicação possua o mesmo comportamento, independente das capacidades de hardware do sistema em que o software está sendo rodado. Um exemplo de utilização da função loop é a realização de animações das cenas desenhadas.
4 Também é possível estabelecer a interatividade com o mouse, que é muito útil por exemplo para a interação do usuário da aplicação com a cena. Sempre que o mouse for movido, a função mouse_move é chamada. Já quando um botão do mouse é pressionado ou solto, as funções mouse_down e mouse_up são chamadas. Esta últimas recebem como parâmetro o botão que foi pressionado no mouse. Já todas elas possuem como parâmetro as coordenadas horizontal e vertical do mouse em relação a tela, convertidos em uma escala de zero a um. Figura 5: Exemplo de funções de controle de mouse. Como resultado do código de exemplo acima, temos a visualização de uma cena tridimensional em perspectiva, composto por um cubo e uma esfera.
5 Figura 6: Resultado dos códigos de exemplo a cima. O Algoritmo Marching Squares: O algoritmo Marching Squares possui como objetivo desenhar numa região bidimensional uma aproximação de uma curva, dado sua equação implícita. Seja S = [a, b] [c, d] R 2, a região do plano em que se deseja visualizar a aproximação de uma dada curva C Seja p(x, y) = 0 a equação implícita da curva C, aonde p: S R. A curva C é a curva de nível zero da função p. Sejam n, m N, o número de divisões em que deseja-se particionar a região S. Definimos x i = ( b a ) i + a e y n j = ( d c ) j + c. m Dessa forma, dividimos S em diversas regiões retangulares da forma [x i, x i+1 ] [y j, y j+1 ], aonde i = 0,1,2,3 (n 1) e j = 0,1,2,3 (m 1). Dado i [0, n 1], sejam v 1 = (x i, y j+1 ), v 2 = (x i+1, y j+1 ), v 3 = (x i, y j ) e v 4 = (x i+1, y i ), os vértices de cada divisão retangular. Figura 7: Esquematização dos vértices em cada uma das divisões. Para cada aresta, podemos aproximar o ponto em que a igualdade p(x, y) = 0 é satisfeita utilizando-se os valores de p(v i ) para i = 1,2,3 e 4. Caso, em uma aresta definida pelos vértices v e w, tenhamos p(v)p(w) < 0 (isto é, os sinais de p(v) e p(w) são opostos) e supormos a função p contínua, é possível garantir que existe um ponto z em que a curva C atravessa a aresta sendo analisada. Podemos então aproximar esse ponto com um custo computacional baixo através de uma aproximação linear. Assim, temos: p(w) z = (v w) ( p(v) p(w) ) + w
6 (aonde v e w são os dois vértices que definem a aresta sendo considerarada) Para cada uma das configurações de sinais de vértices, deve-se traçar segmentos de retas de modo a obter-se a aproximação da curva desejada. Todas as combinações dos sinais dos vértices de cada divisão podem ser separadas em quatro casos. Os demais casos não explicitados abaixo são uma inversão de sinais ou alguma rotação da região sendo observada. Figura 8: Casos possíveis dos sinais dos vértices das divisões. O caso quatro é considerado ambíguo, uma vez que não é possível decidir-se ao certo quais das configurações abaixo a curva irá possuir. Existem várias formas de se contornar a ambiguidade. A mais simples delas é simplesmente escolher arbitrariamente uma das configurações abaixo. Outra consiste em subdividir a região sendo analisada em novas subregiões e utilizar o algoritmo Marching Cubes novamente, sendo esta opção muitas vezes mais complexa computacionalmente. Figura 9: Ambiguidade presente no quarto caso. O algoritmo consiste na iteração em cada umas divisões [x i, x i+1 ] [y j, y j+1 ], aonde i = 0,1,2,3 (n 1) e j = 0,1,2,3 (m 1). Em cada divisão determina-se os valores da função nos pontos e traça-se sua aproximação para aquele pequeno domínio. Como resultado, têm-se uma aproximação da curva em S. Versões mais refinadas do algoritmo obtêm os pontos x i e y j de uma forma não distribuída uniformemente. Nessas versões, analisa-se a sinuosidade da curva e procura-se aumentar o número de divisões de S nas regiões com mais sinuosidade. O Algoritmo Marching Cubes: O algoritmo Marching Cubes possui um funcionamento muito parecido com o algoritmo Marching Squares, sendo este sua versão em três dimensões. Ao invés de subdividir uma região S = [a, b] [c, d] R 2, subdivide-se uma região G = [a, b] [c, d] [e, f] R 3 e analisa-se essas divisões sobre os valores de uma função f: G R aonde a equação implícita da superfície é dada por f(x, y, z) = 0. Dessa forma, a superfície que deseja-se uma aproximação é uma superfície de nível de f.
7 Devido ao maior número de vértices em cada divisão realizada, a quantidade de casos diferentes de combinações de sinais é maior do que o número de casos do Marching Cubes. Também existem mais casos em que existem ambiguidades. No caso do Marching Cubes, devido ao número grande de casos, é vantajoso a implementação de um array que armazene cada um dos casos para cada uma combinação de sinais nos vértices de cada divisão. Como cada divisão possui oito vértices, é possível definir uma máscara de bits aonde cada bit representa o sinal de cada vértice de uma divisão. Assim, com apenas um byte de informação, é possível armazenar as permutações de sinais possíveis. Por exemplo, o byte representa uma divisão em que todos os vértices possuem valor de f negativo. Já o byte representa uma divisão em que somente os vértices um e sete possuem valores de f positivos. Conclusões: Ao alcançar a visualização de isosuperfícies através do algoritmo Marching Cubes com o uso do componente Canvas WebGL Utility foi possível atingir-se o objetivo de averiguar a capacidade do WebGL na plataforma web através do desenvolvimento de uma aplicação em módulos. Com esses resultados é possível desenvolver-se diversas aplicações de computação gráficas em diversas áreas de atuação que possam ter benefícios maiores por utilizarem a plataforma portátil da web. Apesar de o objetivo ter sido alcançado, não é possível garantir a ausência de falhas ainda não detectadas no projeto desenvolvido devido à própria natureza do desenvolvimento de software. Contudo, devido à documentação desenvolvida junto com o projeto e à sua modularização, o processo de depuração de erros é facilitado, permitindo a continuação de seu desenvolvimento no futuro. Referências: 1 KHRONOS WEBGL WORKING GROUP. WebGL Specification. Version 1.0.3, 27 October Disponível em: < Acesso em: 30 jun CLINE Harvey E, LORENSEN William E. Marching Cubes: A High Resolution 3D Surface Construction Algorithm. Computer Graphics, Volume 21, Number 4, July Disponível em: < Acesso em: 30 jun PESCO Sinésio, LOPES Hélio C. V., UESU Dirce, SANTOS Geovan T. dos. Fundamentos da Matemática para Computação Gráfica. Disponível em: < Acesso em: 30 jun KHRONOS WEBGL WORKING GROUP. GLUT The OpenGL Utility Toolkit. Disponível em: < Acesso em: 30 jun CHUNG, Andy. Require.js A JavaScript Module Loader Disponível em < Acesso em: 30 jun
Capítulo 3 Primeiros Passos em OpenGL Função Desenha Função Teclado Função Inicializa Programa Principal...
Sumário Prefácio...15 Capítulo 1 Introdução...17 Capítulo 2 Instalação...22 2.1 Visão Geral das Bibliotecas OpenGL...22 2.2 Bibliotecas Necessárias para Execução...24 2.3 Bibliotecas Necessárias para Compilação...24
Leia maisESPECIFICAÇÃO DE SOFTWARE
ESPECIFICAÇÃO DE SOFTWARE Integrantes do grupo: Joel Edu Sánchez Castro Fernando Hattori Miguel Angel Galarreta Valverde Felipe Martins dos Santos 1 SUMÁRIO DESCRIÇÃO...3 REQUISITOS...3 REQUISITOS FUNCIONAIS
Leia maisUNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos
UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes Um estudo dos estágios dos pipelines gráficos Niterói 2008 Pedro Martins Menezes Um estudo dos estágios dos pipelines gráficos Trabalho de Conclusão
Leia maisPontifícia Universidade Católica do Rio de Janeiro. Departamento de Informática. Fundamentos de Computação Gráfica
1. Imagens sísmicas Pontifícia Universidade Católica do Rio de Janeiro Departamento de Informática Fundamentos de Computação Gráfica Aluno: Stelmo Magalhães Barros Netto Relatório do trabalho Imagens Sísmicas
Leia maisEngenharia Informática Computação Gráfica
Computação Gráfica 11569 - Engenharia Informática Gráficos 3D - Evolução Histórica Computação Gráfica 1 Sumário! Criação de Gráficos! Criação de Modelos 3D! Pipeline Gráfico! Hardware Gráfico! Bibliotecas
Leia maisInstituto de Computação Bacharelado em Ciência da Computação Disciplina: Computação Gráfica Primeira lista de exercícios
Instituto de Computação Bacharelado em Ciência da Computação Disciplina: Computação Gráfica Primeira lista de exercícios - 2013.1 Conceitos fundamentais 1) A Computação Gráfica é dividida em diversas sub-áreas.
Leia maisPlotar Gráficos com Recursos Computacionais
Plotar 1 Gráficos com Recursos Computacionais Plotar (esboçar) o gráfico de uma função nem sempre é uma tarefa fácil. Para facilitar nosso trabalho, podemos utilizar softwares matemáticos especialmente
Leia maisCOMPUTAÇÃO PARALELA E DISTRIBUÍDA
COMPUTAÇÃO PARALELA E DISTRIBUÍDA Aluno: Alessandro Faletti Orientadora: Noemi Rodriguez Introdução O objetivo inicial no projeto era aplicar a possibilidade de processamento em paralelo no sistema CSBase
Leia mais4 Extração direta das PELs
4 Extração direta das PELs A detecção de arestas em imagens está relacionada à extração de feições, sendo uma ferramenta fundamental em processamento de imagens e visão computacional. Essa detecção visa
Leia maisIntrodução a Teste de Software
Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução a Teste de Software Prof. Luthiano Venecian 1 Conceitos Teste de software
Leia maisAntónio Costa. Paulo Roma Cavalcanti
Introdução à Computação Gráfica Preâmbulo Adaptação: Autoria: João Paulo Pereira António Costa Claudio Esperança Paulo Roma Cavalcanti Computação Gráfica Modelos Matemáticos Análise (reconhecimento de
Leia maisSISTEMA GUARDIÃO. Manual de Usuário
SISTEMA GUARDIÃO Manual de Usuário Resumo Neste documento é apresentada uma breve descrição das funcionalidades e da utilização do sistema integrado de detecção de anomalias em redes GUARDIÃO. Versão 1.0
Leia maisComputação Gráfica - 12
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - 12 jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav Realismo
Leia maisPrimeiro Projeto de PG: Lista de Temas Selecionados
Primeiro Projeto de PG: Lista de Temas Selecionados Observações O sistema não pode apresentar estouro de memória, ou excessiva lentidão na execução. Haverá desconto na nota para este caso. Nenhum dos projetos
Leia maisTESTES DE SOFTWARE Unidade 1 Importância do Teste de Software. Luiz Leão
Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 1.1 - O teste nas fases de vida e de desenvolvimento de um software. 1.2 - O teste na engenharia de sistemas e na engenharia de
Leia maisLIC. Organização e Estrutura Básica Computacional. Prof. Marcelo Costa Oliveira 2006, Marcelo Costa oliveira
LIC Organização e Estrutura Básica Computacional Prof. Marcelo Costa Oliveira licufal@gmail.com História 1946 Inventado o 1º computador eletrônico de grande porte ENIAC Universidade da Pensilvania: 18.000
Leia maisGeometria Analítica. Geometria Analítica 28/08/2012
Prof. Luiz Antonio do Nascimento luiz.anascimento@sp.senac.br www.lnascimento.com.br Conjuntos Propriedades das operações de adição e multiplicação: Propriedade comutativa: Adição a + b = b + a Multiplicação
Leia maisPMR2560 ELEMENTOS DE ROBÓTICA 2016 TRABALHO DE VISÃO COMPUTACIONAL CALIBRAÇÃO DE CÂMERAS E VISÃO ESTÉREO
PMR2560 ELEMENTOS DE ROBÓTICA 2016 TRABALHO DE VISÃO COMPUTACIONAL CALIBRAÇÃO DE CÂMERAS E VISÃO ESTÉREO Esse trabalho consiste de três partes. Na primeira parte do trabalho você vai calibrar duas câmeras
Leia maisEstudo de viabilidade para o desenvolvimento de jogos em Java 3D em ambiente web
Estudo de viabilidade para o desenvolvimento de jogos em Java 3D em ambiente web Universidade Estadual do Oeste do Paraná Unioeste Charles Giovane de Salles Bolsista: PET-MEC/SESu Ciência da Computação
Leia maisProf. Daniel Hasse. Multimídia e Hipermídia
Prof. Daniel Hasse Multimídia e Hipermídia AULA 01 O que é multimídia? Prof. Daniel Hasse Livro - Multimídia: conceitos e aplicações Os principais conceitos da tecnologia da multimídia serão abordados
Leia maisMudanças de Coordenadas em Sistemas de Cores
Mudanças de Coordenadas em Sistemas de Cores Bruno Teixeira Moreira e Emídio Augusto Arantes Macedo Ciência da Computação 1 o. Período Professor: Rodney Josué Biezuner Disciplina: Geometria Analítica e
Leia maisIntegração do Arduíno com Elipse Scada para aplicações de força
Integração do Arduíno com Elipse Scada para aplicações de força Com intuito obter uma ferramenta visual para demonstrar as forças exercidas em um sensor de força resistivo. Foi integrado o Arduíno a um
Leia maisAPLICAÇÕES NA GEOMETRIA ANALÍTICA
4 APLICAÇÕES NA GEOMETRIA ANALÍTICA Gil da Costa Marques 4.1 Geometria Analítica e as Coordenadas Cartesianas 4. Superfícies 4..1 Superfícies planas 4.. Superfícies limitadas e não limitadas 4.3 Curvas
Leia maisProtótipo de Protocolo de Aplicação para Troca de Documentos da Área Extra Judicial. Acadêmico: Fabrício Bento Orientador: Paulo Fernando da Silva
Protótipo de Protocolo de Aplicação para Troca de Documentos da Área Extra Judicial Acadêmico: Fabrício Bento Orientador: Paulo Fernando da Silva Conteúdo Introdução Fundamentação teórica Desenvolvimento
Leia maisProgramação Linear. MÉTODOS QUANTITATIVOS: ESTATÍSTICA E MATEMÁTICA APLICADAS De 30 de setembro a 13 de novembro de 2011 prof. Lori Viali, Dr.
Programação Linear São problemas complexos, muitas vezes de difícil solução e que envolvem significativas reduções de custos, melhorias de tempos de processos, ou uma melhor alocação de recursos em atividades.
Leia maisFILTRAGEM DE IMAGEM NO DOMÍNIO ESPACIAL (Operações aritméticas orientadas à vizinhança)
PROCESSAMENTO DE IMAGEM #5 Operações Aritméticas Orientadas à Vizinhanças Filtragem no Domínio Espacial (Máscaras) Máscaras de suavização (média e mediana) e aguçamento (laplaciano) Correlação x Convolução
Leia maisProcessamento de Malhas Poligonais
Processamento de Malhas Poligonais Tópicos Avançados em Computação Visual e Interfaces I Prof.: Marcos Lage www.ic.uff.br/~mlage mlage@ic.uff.br Conteúdo: Notas de Aula Curvas 06/09/2015 Processamento
Leia maisAula 11 Introdução ao Java Script
Aula 11 Introdução ao Java Script Java Script é uma linguagem que permite trabalhar com a Lógica em páginas escritas em HTML (HiperText Mark-up Language). As páginas HTML podem ser escritas utilizando-se
Leia maisEstudo do Ambiente de Programação Arduino Software (IDE) com Intel Galileo Gen2. Apostila de acompanhamento para o aluno.
Estudo do Ambiente de Programação Arduino Software (IDE) com Intel Galileo Gen2 Apostila de acompanhamento para o aluno. 1 Conteúdo Conteúdo... 2 1. Introdução... 3 2. Informações Gerais... 3 3. Sketches...
Leia maisEngenharia de Controle e Automação
ATIVIDADES PRÁTICAS SUPERVISIONADAS 2ª Série Cálculo I Engenharia de Controle e Automação A atividade prática supervisionada (ATPS) é um método de ensinoaprendizagem desenvolvido por meio de um conjunto
Leia maisO software conta ainda, com procedimento para geração de relatórios em EXCEL. Para gerar tais relatórios foi utilizado o tollkit Report Generation do
Desenvolvimento de um software para realização de testes de performance hidrodinâmica de próteses de válvulas cardíacas utilizando um Sistema Duplicador de Pulsos "O software conta ainda, com procedimento
Leia maisHistória da Ciência e da Tecnologia. Matheus kaique Hugo Yuri Joao Manoel Murilo Ribeiro
História da Ciência e da Tecnologia Matheus kaique Hugo Yuri Joao Manoel Murilo Ribeiro Computação Gráfica A Computação Gráfica está presente em todas as áreas, desde os mais inconsequentes joguinhos eletrônicos
Leia maisTeste de Software Projeto Real. Dinâmica entre equipes
Teste de Software Projeto Real Arilo Claudio Dias Neto - acdn@cos.ufrj.br Gladys Machado P. S. Lima - gladysmp@cos.ufrj.br Guilherme Horta Travassos - ght@cos.ufrj.br Dinâmica entre equipes Equipe de Desenvolvimento
Leia maisUTILIZAÇÃO DE TECNOLOGIAS MODERNAS PARA CADASTRAMENTO DAS FAMÍLIAS DA ATENÇÃO BÁSICA DE SAÚDE DO MUNICÍPIO DE COARI
UTILIZAÇÃO DE TECNOLOGIAS MODERNAS PARA CADASTRAMENTO DAS FAMÍLIAS DA ATENÇÃO BÁSICA DE SAÚDE DO MUNICÍPIO DE COARI Adrya da Silva Neres 1 Elionai de Souza Magalhães 2 1 Discente do Curso Técnico Integrado
Leia maisComputação Gráfica - OpenGl 02
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - OpenGl 02 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti
Leia mais4 Arquitetura Adotada
4 Arquitetura Adotada Neste trabalho foi desenvolvido um sistema para a inspeção de dutos de óleo, gás e outros fluidos. Este sistema está sendo usado em inspeções que utilizam como ferramenta de inspeção
Leia maisComputação Gráfica Introdução
Computação Gráfica Introdução UniverCidade - Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Considerações Gerais Objetivo: Discutir os principais conceitos eos
Leia maisProcesso Unificado (PU) Unified Process
Processo Unificado (PU) Unified Process 10 de junho de 2011 Adonai Canêz One comment Introdução O Processo Unificado (PU) surgiu para realizar o desenvolvimento de software visando a construção de sistemas
Leia maisTUTORIAL PARA VOLUME POR SUPERFÍCIES
TUTORIAL PARA VOLUME POR SUPERFÍCIES 1 O módulo de volumes por superfície do sistema posição permite o cálculo de volumes por comparativo entre triângulos Volume simples e o cálculo de volumes por platô
Leia maisMINICURSO. Uso da Calculadora Científica Casio Fx. Prof. Ms. Renato Francisco Merli
MINICURSO Uso da Calculadora Científica Casio Fx Prof. Ms. Renato Francisco Merli Sumário Antes de Começar Algumas Configurações Cálculos Básicos Cálculos com Memória Cálculos com Funções Cálculos Estatísticos
Leia maisTransformações Geométricas
Transformações Geométricas Computação Gráfica DCC065 Prof. Rodrigo Luis de Souza da Silva, D.Sc. Sumário Tópicos da aula de hoje: Por que transformações? Classificação das transformações Transformações
Leia maisDocument Portal 1. Document Portal
1 O da Lexmark oferece uma maneira de utilizar formulários nos seus negócios. Configure para a tela de toque, selecione os documentos e pressione Iniciar. O é uma solução de software que oferece funcionalidade
Leia maisProfessor: Computação Gráfica I. Anselmo Montenegro Conteúdo: - Introdução. Instituto de Computação - UFF
Computação Gráfica I Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Introdução 1 Computação Gráfica : noção clássica DADOS 1200 1200 1.000000 1.000000 37.600000 2.000000 1.000000 39.600000
Leia maisPlanificação a médio e longo prazo. Matemática B. 11º Ano de escolaridade. Total de aulas previstas: 193. Ano letivo 2015/2016
Planificação a médio e longo prazo Matemática B 11º Ano de escolaridade. Total de aulas previstas: 193 Ano letivo 2015/2016 Professor responsável: Paulo Sousa I O programa Matemática B do 11º Ano - Página
Leia maisFísica I 2009/2010. Aula02 Movimento Unidimensional
Física I 2009/2010 Aula02 Movimento Unidimensional Sumário 2-1 Movimento 2-2 Posição e Deslocamento. 2-3 Velocidade Média 2-4 Velocidade Instantânea 2-5 Aceleração 2-6 Caso especial: aceleração constante
Leia maisApps na prática 1 Aviso Legal: Este material foi produzido e desenvolvido pela Fábrica de Aplicativos S.A para o curso presencial e online.
Apps na prática 1 Índice O que é um app? 03 Sistemas operacionais 09 O que precisa para fazer um aplicativo? 12 Inspirações e casos de sucesso da Fábrica 15 Apresentação da Fábrica 19 Como estruturar o
Leia maisBruno Ribeiro da Silva. A adaptação de um sistema operacional para a execução em uma diferente arquitetura
Bruno Ribeiro da Silva A adaptação de um sistema operacional para a execução em uma diferente arquitetura Universidade Federal de Santa Catarina Florianópolis, Fevereiro de 2007 1 Bruno Ribeiro da Silva
Leia maisReflexões e Sombras em Superfícies Planares Animação e Visualização Tridimensional Prof. João Madeiras Pereira Instituto Superior Técnico 2005/2006
Reflexões e Sombras em Superfícies Planares Animação e Visualização Tridimensional Prof. João Madeiras Pereira Instituto Superior Técnico 2005/2006 Reflexões - Motivação Ainda não é possível usar algoritmos
Leia maisUniversidade Regional de Blumenau
Universidade Regional de Blumenau Curso de Bacharel em Ciências da Computação Protótipo de um Sistema de Informações Estratégicas para Consultórios Médicos utilizando Genexus Protótipo desenvolvido como
Leia maisDerivadas Parciais p. Derivadas Parciais & Aplicações
Derivadas Parciais p. Derivadas Parciais & Aplicações Derivadas e Integrais de Quantidades vetoriais Todas as regras aprendidas na derivação e integração de quantidades escalares são válidas na derivação
Leia maisComputação Gráfica - 04
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Computação Gráfica - 04 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
Leia maisXubuntu O Xubuntu é um derivado da distribuição Ubuntu GNU/Linux que utiliza o ambiente Xfce que, utilizando menos recursos de sistema,
Xubuntu 14.04 O Xubuntu é um derivado da distribuição Ubuntu GNU/Linux que utiliza o ambiente Xfce que, utilizando menos recursos de sistema, funciona melhor com computadores mais antigos. É pensado para
Leia maisAlgo+: um app para o auxílio na aprendizagem de programação
Algo+: um app para o auxílio na aprendizagem de programação Antônio Márcio Divino 1, Eduardo Júnior da Silva Resende 1, Renan Resende Gusmão Xavier 1, Luciano Vilas Boas Espiridião 1 1 Licenciatura em
Leia mais3 Redes Neurais Artificiais
3 Redes Neurais Artificiais 3.1. Introdução A capacidade de implementar computacionalmente versões simplificadas de neurônios biológicos deu origem a uma subespecialidade da inteligência artificial, conhecida
Leia mais(versão preliminar) exceto possivelmente para x = a. Dizemos que o limite de f(x) quando x tende para x = a é um numero L, e escrevemos
LIMITE DE FUNÇÕES REAIS JOSÉ ANTÔNIO G. MIRANDA versão preinar). Revisão: Limite e Funções Continuas Definição Limite de Seqüências). Dizemos que uma seqüência de números reais n convergente para um número
Leia maisRESULTADOS OBTIDOS CAPÍTULO
MELCONIAN, Marcos Vinícius. "Resultados Obtidos", p.103-108. In MELCONIAN, Marcos Vinicius. Modelagem numérica e computacional com similitude e elementos finitos, São Paulo: Editora Edgard Blücher, 2014.
Leia maisMATRIZES DE REFERÊNCIA COMPETÊNCIAS E HABILIDADES QUE SERÃO AVALIADAS: ENSINO FUNDAMENTAL I ANOS INICIAIS
MATRIZES DE REFERÊNCIA COMPETÊNCIAS E HABILIDADES QUE SERÃO AVALIADAS: ENSINO FUNDAMENTAL I ANOS INICIAIS II. Implicações do Suporte, do Gênero e /ou do Enunciador na Compreensão do Texto Estabelecer relação
Leia maisdia 10/08/2010
Número complexo Origem: Wikipédia, a enciclopédia livre. http://pt.wikipedia.org/wiki/n%c3%bamero_complexo dia 10/08/2010 Em matemática, os números complexos são os elementos do conjunto, uma extensão
Leia maisO uso da Informática na Educação faz parte de um processo natural do avanço da ciência, não tendo mais sentido a discussão sobre usar ou não o
O uso da Informática na Educação faz parte de um processo natural do avanço da ciência, não tendo mais sentido a discussão sobre usar ou não o computador nas escolas, pois ele está inserido, diretamente
Leia maisProjeções paralelas. Professor: João Carmo
Projeções paralelas Professor: João Carmo Projeções paralelas Introdução As múltiplas vistas (projeções ortogonais) não mostram, de forma direta, a configuração tridimensional do objeto. Elas são mais
Leia maisRUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN
RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS Prof. Fabiano Papaiz IFRN O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa
Leia maisAjuste de mínimos quadrados
Capítulo 5 Ajuste de mínimos quadrados 5 Ajuste de mínimos quadrados polinomial No capítulo anterior estudamos como encontrar um polinômio de grau m que interpola um conjunto de n pontos {{x i, f i }}
Leia maisPrincípios da Engenharia de Software aula 03
Princípios da Engenharia de Software aula 03 Prof.: José Honorato Ferreira Nunes Material cedido por: Prof.: Franklin M. Correia Na aula anterior... Modelos de processos de software: Evolucionário Tipos
Leia maisConceitos Básicos INTRODUÇÃO À COMPUTAÇÃO E SUAS APLICAÇÕES
FACULDADE DOS GUARARAPES INTRODUÇÃO À COMPUTAÇÃO E SUAS APLICAÇÕES Conceitos Básicos Prof. Rômulo César romulodandrade@gmail.com romulocesar@faculdadeguararapes.edu.br www.romulocesar.com.br INTRODUÇÃO
Leia mais1 bases numéricas. capítulo
capítulo 1 bases numéricas Os números são representados no sistema decimal, mas os computadores utilizam o sistema binário. Embora empreguem símbolos distintos, os dois sistemas formam números a partir
Leia maisComputação Gráfica. Primitivas Gráficas Professora Sheila Cáceres
Computação Gráfica Primitivas Gráficas Professora Sheila Cáceres Primitivas Gráficas em 2D São elementos básicos dos gráficos/desenhos a partir dos quais são construídos outros objetos mais complexos.
Leia maisy ds, onde ds é uma quantidade infinitesimal (muito pequena) da curva C. A curva C é chamada o
Integral de Linha As integrais de linha podem ser encontradas em inúmeras aplicações nas iências Eatas, como por eemplo, no cálculo do trabalho realizado por uma força variável sobre uma partícula, movendo-a
Leia maisTrabalho Final de SISTEMAS INTEGRADOS DE MANUFATURA
UNIVERSIDADE DE BRASÍLIA - UnB FACULDADE DE TECNOLOGIA - FT DEPARTAMENTO DE ENGENHARIA MECÂNICA - EME Trabalho Final de SISTEMAS INTEGRADOS DE MANUFATURA Período: 1º/2001 Desenvolvimento de Applets JAVA
Leia maisESCOLA DE APLICAÇÃO DR. ALFREDO JOSÉ BALBI
ESCOLA DE APLICAÇÃO DR. ALFREDO JOSÉ BALBI UNITAU APOSTILA INTRODUÇÃO AO ESTUDO DAS FUNÇÕES NOME: N O : blog.portalpositivo.com.br/capitcar 1 FUNÇÃO IDÉIA INTUITIVA DE FUNÇÃO O conceito de função é um
Leia maisIntrodução Introdução
Introdução 13 1 Introdução Sistemas multi-agentes [Jennings and Wooldridge, 1999] [Wooldridge and Ciancarini, 2000] são sociedades com agentes autônomos e heterogêneos que podem trabalhar em conjunto para
Leia maisFACULDADE PITÁGORAS PRONATEC
FACULDADE PITÁGORAS PRONATEC DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos carlos@oficinadapesquisa.com.br www.oficinadapesquisa.com.br Objetivos Ao final desta apostila,
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 03 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 03 PROFª BRUNO CALEGARO Santa Maria, 13 de Setembro de 2013. Revisão aula anterior Processo de software Um modelo de processo de software consiste
Leia maisManual do Visorama. Sergio Estevão and Luiz Velho. Technical Report TR Relatório Técnico. August Agosto
Laboratório VISGRAF Instituto de Matemática Pura e Aplicada Manual do Visorama versão 01 Sergio Estevão and Luiz Velho Technical Report TR-01-01 Relatório Técnico August - 2001 - Agosto The contents of
Leia maisDeclaração de Trabalho Banco Omega Sistema de Automação Bancária
Banco Sistema de Automação Bancária Cybertech CSE Informática HISTÓRICO DE REVISÕES Data Versão Descrição Autor 07/03/2008 1.0 Criação da primeira versão da Declaração de Hélio Engholm Jr Trabalho do Projeto
Leia maisManual de Utilização do Convert Video. Passo Fundo, abril de Av. Presidente Vargas, 1305 / Sala 201 Passo Fundo RS
Manual de Utilização do Convert Video Passo Fundo, abril de 2015 ÍNDICE 1) Acesso... 3 2) Permissões do Flash... 4 3) Configurações de Som... 5 4) Tela inicial do programa... 6 5) Funcionalidades da barra
Leia maisDISCO MAGNÉTICO Cabeçote Trilha
1 São os componentes mais importantes da memória externa. É formado por um prato circular coberto de um material que pode ser magnetizado. Os dados são gravados e posteriormente lidos por meio de uma bobina
Leia maisConteúdo Programático
Ementa do Curso O treinamento ios+swift Intro foi criado pela Catteno com o intuito de introduzir os alunos em programação de Apps para a plataforma ios (tablets e smartphones), utilizando a linguagem
Leia maisIntrodução à Programação Orientada a Objetos em C++
Introdução à Programação Orientada a Objetos em C++ Disciplina de Programação Científica II Aula 12 de 18 24/05/2013 Professor Giovani Gracioli giovanig@gmail.com Objetivos Os objetivos dessa aula são:
Leia maisIntrodução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan
Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada
Leia maisAula /2 Sistemas de coordenadas Window x Viewport
http://computacaografica.ic.uff.br/conteudocap2.html Aula 3 2016/2 Sistemas de coordenadas Window x Viewport Sistemas de Coordenadas O Sistema de Coordenadas nos dá uma referência sobre o tamanho e a posição
Leia maisDesenvolvendo Sistemas de Aquisição, Análise e Apresentação de Dados com LabVIEW
Desenvolvendo Sistemas de Aquisição, Análise e Apresentação de Dados com LabVIEW Jailton Dias Engenheiro de Aplicação de Campo National Instruments Brazil Agenda Introdução à Instrumentação Virtual e a
Leia maisLIVRO ENGENHARIA DE SOFTWARE FUNDAMENTOS, MÉTODOS E PADRÕES
LIVRO ENGENHARIA FUNDAMENTOS, MÉTODOS E PADRÕES WILSON PADUA PAULA FILHO CAPÍTULO REQUISITOS 1 REQUISITOS TECNICO E GERENCIAL ESCOPO (RASCUNHO) CARACTERISTICAS 2 O que são Requisitos? São objetivos ou
Leia maisESCOLA SECUNDÁRIA FERREIRA DIAS
ESCOLA SECUNDÁRIA FERREIRA DIAS ENSINO RECORRENTE DE NÍVEL SECUNDÁRIO POR MÓDULOS CAPITALIZÁVEIS CURSO DE CIÊNCIAS E TECNOLOGIAS DISCIPLINA : MATEMÁTICA A ANO: 10.º - CONJUNTO DOS MÓDULOS 1-2-3 DURAÇÃO
Leia maisSistemas Embarcados. Projeto de Sistemas Embarcados
Sistemas Embarcados Projeto de Sistemas Embarcados Projeto de Sistemas Embarcados Identificação do problema Identificação da melhor tecnologia para a solução do problema Elaboração de um modelo de arquitetura
Leia maisGUIA RÁPIDO PROCESSAMENTO EMBRATOP GEO TECNOLOGIAS DEPTO. SUPORTE
GUIA RÁPIDO PROCESSAMENTO 1 Criando Projeto No menu Arquivo, selecione Novo Projeto...ou clique na barra de ferramentas. 2 Criando Projeto Digite o nome do projeto. O nome do projeto é equivalente ao nome
Leia maisPara identificar intervalos de crescimento e decrescimento de uma função analisamos o comportamento de sua primeira derivada.
O CONCEITO DE DERIVADA (continuação) Funções Crescentes e Decrescentes Existe uma relação direta entre a derivada de uma função e o crescimento desta função. Em geral, temos: Se, para todo x ]a, b[ tivermos
Leia maisPARTE I EQUAÇÕES DE UMA VARIÁVEL REAL
PARTE I EQUAÇÕES DE UMA VARIÁVEL REAL. Introdução Considere f uma função, não constante, de uma variável real ou complexa, a equação f(x) = 0 será denominada equação de uma incógnita. EXEMPLO e x + senx
Leia maisIMPLEMENTAÇÃO E RESOLUÇÃO DE MODELOS MATEMÁTICOS UTILIZANDO A PLANILHA EXCEL
IMPLEMENTAÇÃO E RESOLUÇÃO DE MODELOS MATEMÁTICOS UTILIZANDO A PLANILHA EXCEL 1. INTRODUÇÃO Este tutorial apresenta, passo-a-passo, o processo de implementação e resolução de modelos matemáticos na planilha
Leia maisObjetos Gráficos Espaciais
Universidade Federal de Alagoas Instituto de Matemática Objetos Gráficos Espaciais Prof. Thales Vieira 2014 Objetos Gráficos Espaciais f : U R m 7! R 3 Universo físico Objetos gráficos Representação de
Leia maisDocumento de Requisitos SISTEMA DE APOIO À ESCRITA (SAPES)
1. Introdução 1.1 Propósito Documento de Requisitos SISTEMA DE APOIO À ESCRITA (SAPES) O propósito deste documento de especificação de requisitos é definir os requisitos do sistema SAPES - Sistema de Apoio
Leia maisAperfeiçoamentos na triangularização do Marching Cubes para geração de menos triângulos degenerados
Trabalho apresentado no XXXV CNMAC, Natal-RN, 2014. Aperfeiçoamentos na triangularização do Marching Cubes para geração de menos triângulos degenerados Thiago F. Leal, PPGEM - UERJ, 20550-900, Rio de Janeiro,
Leia maisManual de Uso DISCO VIRTUAL MB.045 CÓPIA IMPRESSA CONTROLADA PELO USUÁRIO V01
Manual de Uso DISCO VIRTUAL INTRODUÇÃO Este manual tem como objetivo apresentar de maneira prática como utilizar todos os recursos disponíveis em sua tela do Disco Virtual para que você possa usufruir
Leia maisGosta de acompanhar os rumos das linguagens de programação? Então não fique de fora dessa! Descubra o que é o HTML 5!
O que é HTML 5? Gosta de acompanhar os rumos das linguagens de programação? Então não fique de fora dessa! Descubra o que é o HTML 5! Leia mais em: http://www.tecmundo.com.br/navegador/2254-o-que-e-html-5-.htm#ixzz2xyr1tlam
Leia maisOpenGL. Soraia Musse
OpenGL Soraia Musse Roteiro Introdução OpenGL x DirectX Utilização Exemplo de Programa Nomes das Funções/Métodos Bibliotecas Máquina de Estados Linhas, Pontos e Polígonos Transformações Geométricas Introdução
Leia maisATIVIDADES PRÁTICAS SUPERVISIONADAS
ATIVIDADES PRÁTICAS SUPERVISIONADAS Tecnologia em Análise e Desenvolvimento de Sistemas 5ª. Série Programação Distribuída A atividade prática supervisionada (ATPS) é um método de ensinoaprendizagem desenvolvido
Leia maisCRIAÇÃO DE ANIMAÇÕES. 5.1 Tipos de animação. Frame-by-frame
5 CRIAÇÃO DE ANIMAÇÕES Neste capítulo iremos aprender os diferentes tipos de animações que podemos criar no Flash; para facilitar a sua aprendizagem serão acompanhados de exercícios. 5.1 Tipos de animação
Leia maisDesenvolvimento de um aplicativo na plataforma Android para realização de fichamento bibliográfico em dispositivos móveis: resultados iniciais
Desenvolvimento de um aplicativo na plataforma Android para realização de fichamento bibliográfico em dispositivos móveis: resultados iniciais Diogo Sebastião Silva de Lima 1 ; Mauro Daniel Castro e Silva
Leia maisCÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano
CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aula 7 04/2014 Zeros reais de funções Parte 1 Objetivo Determinar valores aproximados para as soluções (raízes) de equações da
Leia mais