Representação de Cenas Tridimensionais: Grafo de Cenas

Tamanho: px
Começar a partir da página:

Download "Representação de Cenas Tridimensionais: Grafo de Cenas"

Transcrição

1 Representação de Cenas Tridimensionais: Grafo de Cenas Instituto de Computação - Universidade Federal Fluminense lvalente@ic.uff.br Março, 2004 Resumo Jogos de computador e outros tipos de aplicações visuais interativas frequentemente utilizam cenários tridimensionais como parte de seus ambientes virtuais. Usualmente, os cenários retratados são grandes demais para serem processados em tempo real pelos componentes de hardware existentes atualmente. Pode ser observado que nesses tipos de aplicações, o usuário visualiza apenas uma parte do cenário (aquela que está dentro de seu campo de visão). Desta forma, algoritmos e estruturas de dados que modelam os cenários devem levar esse aspecto em consideração na sua implementação, para que a visualização seja possível em tempo real. O objetivo deste trabalho é analisar um tipo específico de estrutura de dados para esse fim conhecido como grafo de cenas (scene graph). Abstract Computer games and other types of visual simulations often employ tridimensional scenes as a component of its virtual environments. Commonly, the depicted scenes are too broad to be processed in real-time by currently available hardware. In these kind of applications, the user can only see a fraction of the scene (the one which is inside his/her field of view). Hence, the algorithms and data structures modeled to represent those scenes must take that into account in implementation, so as the visualization can occur in real-time. This paper analyses one type of data structure designed to this purpose, known as the scene graph.

2 1. Introdução Este trabalho tem como objetivo descrever uma alternativa para representação de cenas tridimensionais em jogos para computador, conhecida como scene graph (grafo de cena). Jogos de computador e outros tipos de aplicações visuais interativas frequentemente utilizam cenários tridimensionais como parte de seus ambientes virtuais. Usualmente, os cenários retratados são grandes demais para serem processados em tempo real pelos componentes de hardware existentes atualmente. A questão é que tipo de política utilizar para a renderização 1 da cena. 2. Fundamentos A política mais trivial de ser implementada seria simplesmente desenhar todos os objetos e polígonos 2 que compõem a cena. Essa política é ineficiente porque, conforme pode ser observado nesses tipos de aplicações, o usuário visualiza apenas uma parte do cenário (aquela que está dentro de seu campo de visão). Desta forma, uma grande parte do esforço computacional aplicado é desperdiçado. Tal esforço poderia ser aplicado em outras partes da aplicação, como detecção de colisões e cálculos para simulação da Física, por exemplo APIs 3 Gráficas Existem duas APIs diferentes comumente utilizadas para implementação de gráficos tridimensionais em jogos de computador: OpenGL e Direct3D. OpenGL foi desenvolvida inicialmente por Silicon Graphics Inc. (SGI) e atualmente é mantida pela ARB 4. A ARB congrega vários representantes da indústria de hardware para gráficos tridimensionais. O Direct3D é desenvolvido pela Microsoft Corporation. Essas APIs oferecem algumas primitivas básicas (como pontos, linhas, triângulos, quadriláteros e polígonos), operações para manipulação do sistema de coordenadas e operações com matrizes (translação, rotação e escala) e efeitos como mapeamento de textura, entre outros comandos. Outra característica comum entre essas duas APIs é que elas são de modo imediato (immediate mode). Em APIs de modo imediato, os comandos submetidos alteram o estado do hardware gráfico assim que são recebidos. Ambas são, portanto, de baixo nível. Essas APIs oferecem apenas os comandos para acessar o hardware, não oferecendo nenhum tipo de ferramenta global em termos de cena.. Por exemplo, todos os polígonos especificados são processados, mesmo que estejam fora campo de visão do usuário. Esses polígonos são detectados apenas ao final do pipeline responsável pela renderização da imagem, quando já é muito tarde Pipeline Gráfico O pipeline gráfico é um conjunto de etapas realizadas pelo hardware para renderizar uma imagem, a partir dos parâmetros da cena. Os parâmetros da cena incluem os vértices, polígonos, dados sobre iluminação (fontes de luz, vetores normais das superfícies), transformações geométricas, entre outros. Um pipeline típico é descrito na figura 1: 1 Existem outras operações relacionadas, como detecção de colisão entre objetos que fazem parte do mundo virtual. 2 Supondo que a cena seja modelada com polígonos, o que é o usual. 3 Application Programming Interface 4 Architecture Review Board 2

3 Figura 1: Pipeline gráfico típico Estados do hardware gráfico O estado do hardware gráfico representa uma configuração que está em uso em alguma parte do pipeline. Por exemplo, uma aplicação pode utilizar iluminação em uma cena. Desta forma, diz-se que o estado de iluminação está ligado. Embora essa afirmação possa não aparentar nenhuma complexidade, quando se determina que o hardware deve utilizar iluminação este é configurado para realizar uma série de operações especiais. O pipeline gráfico é projetado para realizar uma tarefa da melhor forma possível, de acordo com a sua configuração ( estados ). Ao se alterar um estado ( configuração ) talvez seja necessário interromper o pipeline para que este se ajuste aos novos parâmetros. É possível perceber que, dependendo do estado que for alterado, o pipeline pode ter que descartar todo o trabalho feito anteriormente, para poder se reconfigurar e retomar o trabalho com a nova configuração. Um exemplo de um estado que poderia causar esse efeito é o estado da iluminação. Além da iluminação, existem vários outros tipos de estados, como configurações de materiais (textura, cores) e configuração do sistema de coordenadas Culling Culling é o processo de eliminação de dados que não contribuem para a imagem final. Esses dados incluem objetos que não podem ser vistos pelo observador. O culling pode ser feito em diversas etapas no processo de renderização. Três tipos interessantes de culling são o backface culling, frustum culling e o occlusion cullling Backface Culling Este tipo de culling é feito no nível de polígono. Um polígono possui dois lados: o lado da frente e o lado de trás. Normalmente, o observador visualiza apenas um desses lados. O hardware gráfico, entretanto, renderiza os dois lados por padrão. Atualmente, o processo de backface culling é implementado em hardware, sendo necessário apenas habilitá-lo. Desta forma, ao utilizar o backface culling, a complexidade da cena é reduzida pela metade Frustum Culling Ao contrário do backface culling, o frustum culling pode eliminar objetos inteiros (compostos por vários polígonos) do volume de visão. O processo baseia-se em comparar as dimensões de um determinado objeto com as dimensões do frustum. O frustum é um volume tridimensional (volume de visão), relacionado com uma determinada projeção (perspectiva ou ortográfica). Em uma projeção em perspectiva, esse volume corresponde a uma pirâmide imaginária limitada pelos planos delimitadores near e far 5, que correspondem a distâncias relativas ao observador, na direção de sua linha de visão. Este esquema é ilustrado na figura 2. 5 Planos próximo e distante. 3

4 Figura 2: Volume de visão e definição Normalmente, os objetos possuem geometrias arbitrárias e complexas. Desta forma, para se decidir se um objeto é visível ou não, são utilizadas formas geométricas mais simples para aproximar o volume ocupado pelo objeto. O objetivo de se utilizar formas geométricas mais simples é padronizar e facilitar o cálculo da interseção. Essas formas geométricas, que são conhecidas como volumes delimitadores, são usualmente de dois tipos: esferas (bounding sphere, menor esfera que envolve o objeto) e paralelepípedos (bounding box, menor paralelepípedo que envolve o modelo). A figura 3 ilustra um esquema para o frustum culling: Figura 3: Esquema 2D de frustum culling Todos os objetos que encontram-se no interior do volume são visíveis. A vantagem de se usar o frustum culling é que uma grande quantidade de dados (polígonos) pode ser excluída do processo de renderização, antes de serem enviados ao hardware. Se um objeto está totalmente incluído no frustum, ele é enviado (i.e. seus polígonos) para o hardware. Se um objeto está parcialmente dentro do frustum, diversas estratégias podem ser aplicadas. Por exemplo, pode-se optar por enviar o objeto completo para o hardware ou particioná-lo e enviar apenas a parte que se encontra no interior do frustum. Os objetos que se encontram fora do frustum são descartados imediatamente Occlusion Culling O occlusion culling é uma variação mais sofisticada de culling onde objetos que são encobertos por outros são eliminados do pipeline gráfico. Como um exemplo, um observador está em frente a 4

5 um muro. Atrás do muro, existem diversos objetos complexos. Nesse exemplo, uma grande quantidade de processamento computacional pode ser poupada ao se descartar inicialmente todos os objetos que se encontram por trás do muro, já que estes não podem ser visualizados de maneira nenhuma. 3. Grafos de Cena (Scene Graphs) Um grafo de cena é uma estrutura de dados que utiliza uma abordagem de alto nível para modelagem e gestão de cenas, ao contrário das APIs gráficas básicas (OpenGL e Direct3D). Os usuários desse tipo de estrutura de dados não necessariamente precisam conhecer os detalhes de implementação de baixo nível para utilizá-la. Um dos conceitos centrais a respeito de um grafo de cenas é que este implementa uma estrutura hierárquica Descrição do Grafo de Cena Um grafo é uma estrutura matemática que armazena uma coleção de objetos de maneira organizada. Um grafo é formado por nós, que são conectados por arcos. Um arco conecta dois nós quaisquer. Comumente, um grafo de cenas é implementado como um DAG 6. É interessante formalizar algumas definições relacionadas com um DAG: Arco Representa uma conexão entre dois nós. Arco dirigido Nó Nó pai Nó filho Representa um arco que possui uma única direção, ou seja, estabelece uma relação unidirecional, como pai para filho. Representa uma estrutura que representa algum dado ou uma coleção de dados. Representa um nó que é o ponto de origem de um arco dirigido, ou seja, que inicia uma relação. Representa um nó que é o ponto de destino de um arco dirigido, ou seja, representa o término da relação. Nó descendente Se um nó B é filho de um nó A, então B é dito descendente de A. Todos os descendentes de B também são descendentes (ou sucessores) de A, e assim por diante, recursivamente. Nó ancestral Se um nó A é pai de um nó B, então A é dito ancestral de B. Todos os ancestrais de A (ou antecessores) também são ancentrais de B, e assim por diante, recursivamente. 6 Directed acyclic graph 5

6 Nó raiz Nó folha Representa um nó que não possui pai. Um grafo possui um único nó raiz, que representa o pai de todos os outros nós. Nó interior Caminho Travessia Branch Representa um nó que não possui filhos. Representa um nó que não é nó raiz nem nó folha. Representa uma sequência de nós conectados por arcos, iniciada em algum nó e terminada em um outro nó. Um tipo comum de caminho é aquele que se inicia no nó raiz e termina em algum nó folha. Representa a operação em que um caminho é percorrido. Um nó do tipo branch é um nó qualquer que possui vários filhos. Pode ser usado para agrupar outros nós, e está relacionado com a noção de subgrafo. Subgrafo ou branch graph Representa o conjunto de um nó qualquer do grafo e todos os seus filhos e descendentes. O nó qualquer escolhido é dito como um nó branch ou raiz do subgrafo. Directed Acyclic Graph (DAG) Árvore Representa um grafo que possui arcos dirigidos, sendo que nenhum caminho forma um ciclo. Desta forma, nenhum nó pode ser ao mesmo tempo filho e pai de um ancestral. Representa um caso especial de um DAG onde todos os nós filhos possuem um único nó pai. O conjunto de nós e arcos determina a organização do grafo, que pode ser estática ou dinâmica. Uma imagem é renderizada ao se aplicar algum algoritmo de travessia no grafo. Alteração de dados ou estrutura do grafo, assim como a especificação de algoritmos de travessia diversos, podem produzir imagens diferentes ao final do processo. A utilização de um DAG é útil porque permite que informações comuns em partes diversas da aplicação sejam divididas, em vez de replicadas. Como um exemplo, têm-se a figura 4, para um robô simples e um DAG (incompleto) que o representa: 6

7 Figura 4: Exemplo de um DAG para um robô simples Em contrapartida, uma árvore (incompleta) para representar o mesmo robô poderia ser construída da seguinte forma, como ilustrado na figura 5: Figura 5: Árvore para o robô da figura 4 Uma estrutura hierárquica de objetos é importante porque esta pode ser utilizada para otimizar vários procedimentos da aplicação, como por exemplo a renderização e a detecção de colisões. É possível aplicar a técnica do frustum culling em hierarquias de maneira eficiente. Por exemplo, têm-se uma cena que contém vários edifícios. Cada edifício pode conter vários quartos. Cada objeto (por exemplo um quarto) possui um volume delimitador cobrindo todas as suas extensões. Por sua vez, o objeto pai (o edifício) possui um volume delimitador que envolve todos os seus filhos (quartos). Ao se determinar que um edifício está fora do campo de visão, automaticamente está determinado que todos os seus filhos também estão fora do campo de visão. Isto representa uma vantagem significativa, pois é possível excluir grandes partes da cena que não contribuem para o resultado final (a imagem). Uma outra característica importante de hierarquias é a facilidade para manipulação. Por exemplo, um carro é constuído de várias partes como chassi e rodas. As rodas, por sua vez, são compostas de outros objetos como pneus. Uma possível hierarquia a ser modelada seria estabelecer um objeto carro como pai, e os outros objetos como seus filhos. É importante notar que podem existir outras sub-hierarquias, como no caso da roda. Para mover o carro, seria necessário apenas mover o objeto raiz da hierarquia. Todos os outros objetos, como estão organizados em relação ao objeto principal, seriam movidos automaticamente. Caso uma hierarquia não fosse utilizada, seria necessário mover cada objeto individualmente. Esta última possibilidade é ineficiente e sujeita a erros. 7

8 As APIs que implementam um grafo de cena (ou estrutura similar) são ditas APIs de modo de retenção (retained mode), pois os comandos enviados pelo desenvolvedor são armazenados para processamento em outras etapas Organização da Hierarquia Usualmente, as hierarquias representam relações espaciais entre seus elementos. Entretanto, como um grafo de cena é uma estrutura de modo de retenção, é possível organizar a cena de maneira a otimizar a utilização do hardware gráfico. Uma importante otimização a ser feita é ordenação por estados de hardware gráfico. O conjunto de estados do hardware gráfico representa uma configuração pipeline de processamento. Alterações de estado podem ser custosas porque podem provocar a paralização do pipeline gráfico, para reconfiguração com novos parâmetros. Como um exemplo, o estado atual de iluminação. Quando se requisita ao hardware que utilize iluminação na cena, este é configurado para realizar uma série de operações especiais. Existem várias variáveis envolvidas na configuração da iluminação, como tipos de fontes de luz (direcional, posicional), posição da fonte de luz na cena, cores relacionadas às diversas componentes da fonte de luz (cor difusa, cor de luz especular), entre outras. É possível perceber que quando se requisita que a iluminação seja ligada ou desligada, todo o processamento feito anteriormente terá que ser descartado, e o pipeline, terá que ser reiniciado. O custo (overhead) associado com essa reconfiguração (e com a perda do trabalho feito anteriormente) pode ser muito alto para a aplicação. Em um outro exemplo, têm-se uma cena que possui cem esferas metálicas (estado 1), cem esferas de madeira (estado 2) e cem esferas de mármore (estado 3). Supondo que o estado em consideração seja apenas o material em questão, podem existir três mudanças de estado (se a cena for organizada por estado) ou trezentas (se a cena for organizada espacialmente). Os grafos de cena podem organizar a cena hierarquicamente utilizando os estados do hardware para tentar maximizar o desempenho. Por exemplo, se para um determinado hardware a mudança da textura atual é muito custosa, pode ser interessante classificar a hierarquia por textura (para esse hardware). Entretanto, essa configuração pode não ser ideal para outros ambientes. É preciso ressaltar que existe um dilema entre organização por subdivisão espacial e organização por estados do hardware. Frequentemente, a organização por um critério implica na desorganização do outro. Ao se ordenar uma cena por estado, perde-se a relação espacial entre os elementos. Como um exemplo, um carro pode ser formado por peças que utilizam diversos materiais, como vidro, metal, plástico e borracha. Uma possível cena poderia ser formada por dezenas de carros desse tipo. Ao se organizar a cena espacialmente, é possível aplicar o culling e eliminar carros inteiros do pipeline. Entretanto, talvez possa ser necessário alterar o estado do material diversas vezes. De outra forma, ao se organizar o grafo de cenas por estado, a alteração de estados será minimizada. Entretanto, será poderá ser necessário aplicar o culling mais de uma vez para um mesmo objeto (i.e. aplicar em cada parte que compõe o objeto). A melhor abordagem dependerá de critérios como o custo de mudanças do estado do hardware gráfico e complexidade espacial da cena. 8

9 3.3. Nós do Grafo de Cena Existem vários tipos diferentes de nós em um grafo de cena. Cada tipo de nó armazena algum tipo de dados ou possui uma determinada responsabilidade no grafo. Esta seção descreve alguns tipos comuns de nós Agrupamento Os nós de agrupamento possuem um papel importante porque eles são responsáveis por estabelecer subhierarquias dentro do grafo. Os nós de agrupamento podem ter um número variável de filhos. Em grafos de cena que utilizam o paradigma de orientação a objetos, é comum estabelecer tipo genérico de grupo como a base para todos os demais. Existem algumas variações de nós de agrupamento utilizadas em grafos de cena, como descritas a seguir Transformações geométricas Tecnicamente, um nó de transformação geométrica também pode ser considerado um nó de agrupamento. Um nó deste tipo estabelece um posicionamento (translação, rotação) ou dimensionamento (escala) para todos os seus filhos. Desta forma, todos os descendentes são afetados pela transformação geométrica definida. Existem dois tipos de nós de transformação geométrica: nós de transformações geométricas estáticas e nós de transformações geométricas dinâmicas. Um nó de transformação geométrica estática define um sistema de coordenadas estático (SCS) 7. Em um sistema de coordenadas estático, os valores para a transformação, uma vez estabelecidos, não são alterados. Este tipo de nó pode ser usado para especificar, por exemplo, o posicionamento de objetos que não se movem no cenário. Por ser estático, esse tipo de nó também pode ser utilizado para pré-computar informações importantes como volumes delimitadores e informações para cálculo de colisões. Um nó de transformação geométrica dinâmica define um sistema de coordenadas dinâmico (DCS) 8. Em um sistema de coordenadas dinâmico, os valores da transformação são continuamente alterados. Por exemplo, um nó deste tipo poderia ser utilizado para armazenar o posicionamento de um objeto animado do cenário, como descrito na figura 6. Nesta figura, o modelo de um carro utiliza nós do tipo DCS para simular a animação das rodas. As rodas, ao girarem, possuem uma rotação em relação ao carro. Existem, portanto, quatro nós do tipo DCS, um para cada roda. 7 Static Coordinate System 8 Dynamic Coordinate System 9

10 Figura 6: Exemplo de uso de um nó de transformação geométrica dinâmica É interessante notar que o carro possui um nó DCS como pai, que pode ser usado para determinar o seu posicionamento na cena. Como as rodas possuem sistemas de coordenadas definidos em relação a seu pai (o carro, que por sua vez possui como pai o nó DCS), o posicionamento delas na cena é feito automaticamente ao se aplicar a transformação definida pelo primeiro nó DCS LOD 9 A técnica de LOD é utilizada como uma otimização para a renderização. Em projeções em perspectiva, quanto maior é a distância de um objeto em relação ao observador, menor é o seu tamanho (esse efeito é conhecido como perspective foreshortening) e, consequentemente, menor é o seu nível de detalhe. Entretanto, sem utilizar nenhum tipo de otimização, ao se enviar um objeto que contenha mil polígonos para o hardware, esses mil polígonos serão processados independentemente do nível de detalhe real do objeto (aquele que é percebido pelo observador). Isto ocorre frequentemente em APIs de baixo nível porque essas APIs não possuem noção de objetos e modelos, mas apenas de vértices e polígonos. A técnica de LOD, então, cria simplificações diversas para a geometria de um dado objeto baseada em alguns parâmetros pré-definidos (como distância em relação ao observador). Como um exemplo, têm-se a figura 7: 9 Level of Detail 10

11 Figura 7: Exemplo de LOD para representação de um objeto Um nó do tipo LOD pode ser utilizado para se selecionar automaticamente uma simplificação, conforme a figura abaixo. Cada filho do nó representa o mesmo objeto em resoluções diferentes. Figura 8: Nó do tipo LOD Switch Os nós do tipo switch possuem função semelhante ao comando switch encontrado em diversas linguagens de programação: dada uma chave, selecionar uma das alternativas. As alternativas possíveis são representadas como filhos do nó Sequenciamento Um nó de sequenciamento é um tipo especial de switch. Cada filho desse tipo de nó representa um quadro de uma animação. O nó pai é utilizado, então, para controlar automaticamente o fluxo da animação Grupo Ordenado Um nó de grupo ordenado representa um grupo onde a ordem de travessia é fixa. Por exemplo, pode ser utilizado para se aplicar um adesivo ( decal ) em uma parte da cena. Neste caso, o adesivo (ou outro detalhe qualquer) precisa, necessariamente, ser renderizado após todos os outros irmãos para que seja visível. 11

12 Geometria Os nós de geometrica armazenam dados necessários para descrever a forma de um objeto qualquer. Esses nós podem ser diversos subtipos Geometry Armazenam informações como coordenadas de vértices e valores para vetores normais. Adicionalmente, pode ser especificado o tipo de primitiva a ser usada para renderizar a geometria (como pontos, linhas, triângulos ou quadriláteros). Também podem ser utilizados para armazenar a representação de textos (2D ou 3D) Shape Uma primitiva pode ser também um objeto tridimensional, como cubos, esferas ou pirâmides. É comum, também, encontrar tipos de nós que representem essas figuras Billboard A técnica de billboards é utilizada para simular a geometria de alguma figura tridimensional em duas dimensões. É bastante utilizada em jogos, porque simula uma geometria complexa utilizando apenas um polígono (quadrilátero). Um dos objetos que é mais simulado com essa técnica são árvores. Uma árvore qualquer possui uma geometria complexa. Em aplicações como jogos, normalmente o usuário não está interessado em apreciar todos os detalhes da árvore. Utiliza-se então um quadrilátero e uma textura para simular a geometria da árvore. A textura contém uma projeção bidimensional da árvore. A textura, então, é aplicada ao quadrilátero, que é exibido de forma a sempre estar de frente para o observador. Desta forma, o observador é iludido a acreditar que está visualizando uma figura complexa. Essa técnica também é conhecida como sprite. Algumas implementações de grafos de cena oferecem nós para representar esse efeito Aparência Os nós de aparência são independentes da geometria porque representam, basicamente, materiais. Entre os dados armazenados, encontram-se definições de propriedades de materiais (cor ambiente, cor difusa, cor especular, brilho, rugosidade, etc) e informações sobre mapeamento de texturas (tipo de textura, dados da textura). Estes tipos de nó determinam vários estados do hardware gráfico Outros tipos de nós Esta seção lista alguns outros tipos comuns de nós, que não se enquadram nas categorias anteriores Fontes de Luz As fontes de luz podem afetar a cena globalmente ou localmente. Uma fonte de luz global poderia ser considerada como uma luz ambiente. Um nó do tipo fonte de luz pode ser, também, considerado como um nó de grupo. Nesse 12

13 contexto, poderia ser considerado que apenas os objetos definidos como descendentes do nó de fonte de luz seriam iluminados. Várias informações podem ser armazenadas, como intensidade, cor (componente de luz difusa, componente de luz ambiente, componente de luz especular), estado (ligado ou desligado), atenuação, formato (para fontes do tipo spotlight), entre outros. Os tipos de fonte de luz podem variar, como fontes direcionais ou spotlights. As fontes de luz podem ser afetadas por nós que representem transformações geométricas. Nesse caso, a posição e orientação da fonte de luz será determinada pela transformação Câmeras Uma câmera representa uma abstração para o ponto de vista do observador. O ponto de vista inclui a posição e orientação do observador em relação à cena. É incluída também a projeção utilizada para formar o volume de visão (e para a conversão para 2D). Algumas implementações, como Java3D, separam as informações sobre câmeras e conteúdo do grafo de cena, como na figura 10. Figura 9: Separação das informações de câmera e cena no grafo Desta forma, em Java3D, existem dois ramos principais: o ContentBranch e o ViewBranch. O ContentBranch é iniciado por um nó de agrupamento genérico (BG) 10. Existem outras variações sobre a definição de câmera. Em OpenSceneGraph não é definido um tipo de nó para câmeras sendo necessário que o desenvolvedor a especifique através de transformações matriciais. Em OpenSG, é definido um tipo de nó para câmera que faz parte do grafo. Na prática, o efeito final é o mesmo porque a transformação que a câmera define deve ser a primeira a ser aplicada na fase de renderização. 10 Branch Group 13

14 Som O grafo de cena pode ser utilizado também para armazenar informações não visuais como sons. Um nó pode descrever o tipo de fonte sonora (pontual, ambiente) e o seu conteúdo. Esses nós também podem armazenar outros dados como posição e direção da fonte sonora, quando for aplicável. 4. Utilização de Grafos de Cena A utilização de um grafo de cena em uma aplicação envolve basicamente dois passos, ambos descritos a seguir Construção O primeiro passo é a construção do grafo. A construção consiste em criar instâncias dos nós, determinar os valores que os nós representam e determinar as conexões (hierarquia) entre os nós. Um dos nós é escolhido para ser o nó raiz, que é o ponto de entrada no grafo. A determinação dos valores dos nós e suas conexões podem ser feitos de duas maneiras: Procedural Uma aplicação que utiliza o modo procedural utiliza funções da API de grafo de cena para criar instâncias de nós, determinar os valores de seus dados e criar os relacionamentos entre eles. Os valores dos dados dos nós, nesse caso, poderiam ser gerados por algum tipo de algoritmo. É importante notar que esse tipo de abordagem é pouco flexível em relação ao conteúdo do grafo de cena. Se o conteúdo do grafo é alterado com frequência, pode ser necessário recompilar a aplicação para que o efeito dos novos dados seja efetivamente visualizado. Por arquivos Essa é a maneira mais flexível no que se refere ao conteúdo. O desenvolvedor pode criar uma cena em programas de modelagem tridimensional, exportá-la para algum formato de arquivo e a seguir, importá-la para a aplicação. Dependendo da complexidade da cena, esse método pode ser mais conveniente por permitir que a cena seja modelada e testada antes de ser incorporada à aplicação (como em um jogo de computador). Entretanto, existem outros problemas, como a necessidade de estabelecer um formato de arquivos padrão e ferramentas para interpretar o conteúdo do arquivo e construir o grafo. Não se pode dizer que um método é melhor do que o outro. Pode-se dizer que um método é mais adequado ou menos adequado para uma aplicação, dependendo dos requisitos desta aplicação Travessia A travessia do grafo começa pela raiz e termina em nós folha. Após a travessia do grafo, obtêmse uma imagem renderizada. 14

15 A travessia do grafo é um passo importante e está diretamente relacionada com o desempenho da aplicação. Uma travessia completa percorre todos os caminhos possíveis do nó raiz até os nós folhas mas, geralmente, isso não é necessário. Uma travessia eficiente deve explorar a estrutura hierárquica do grafo para realizar operações de culing. Operações de culling permitem que partes do grafo sejam podadas (pruned), eliminando dados (que podem ser muitos) que não contribuem para o resultado final da imagem. A operação de culling pode ser aplicada comparando-se o volume delimitador de um determinado nó com o volume definido pelo frustum de uma câmera, por exemplo. Se não existe interseção entre os dois volumes, não será necessário realizar a travessia nesse nó, pois não é possível visualizar os dados representados por ele a partir do ponto de vista atual. Outra questão importante relacionada com travessias é a alteração do estado do hardware gráfico. No início da travessia, o estado é reiniciado com valores padrão. Conforme a travessia é realizada, os estados podem vir a ser alterados por causa dos valores contidos nos nós. Os grafos de cena podem utilizar algum esquema de cache para armazenar o estado atual antes de realizar a travessia de algum filho de um nó qualquer. Esse cache é utilizado para restaurar o estado do hardware quando a travessia pelo filho terminar. Desta forma, para realizar a travessia pelo próximo filho, não será necessário percorrer o grafo desde a raiz novamente para decidir qual é o estado do hardware inicial para aquele nó. Um exemplo simples é a matriz utilizada para se determinar o sistema de coordenadas atual. Inicialmente, a matriz corresponde à matriz identidade. Conforme a travessia é realizada, nós que representam transformações geométricas alteram o valor da matriz atual (os valores são concatenados). Por exemplo, um grafo de cenas modela um carro que possui um chassi e quatro rodas. O grafo possui um nó que determina o posicionamento do carro na cena. O filho desse nó é o subgrafo que representa o carro. Inicialmente, a matriz inicial é a indentidade. Ao percorrer o nó que determina a posição do carro, a matriz atual é concatenada com a matriz definida pelo nó. A seguir, a travessia é feita pelo nó que agrupa a hierarquia definida para o carro. Cada roda possui um deslocamento em relação ao chassi do carro. Desta forma, para renderizar uma roda, é necessário concatenar a matriz atual com a matriz que define o posicionamento da roda. Após a renderização da roda, é necessário restaurar a matriz anterior, para que todas as rodas sejam renderizadas na posição correta. Com a utilização do cache, a matriz pode ser restaurada facilmente. Caso contrário, seria necessário percorrer novamente o grafo desde a raiz até a outra roda, e assim sucessivamente, até renderizar todas elas Otimizações Como foi descrito anteriormente, a alteração de estados do hardware geralmente é uma operação custosa. Algumas APIs de grafos de cena, como o Java3D, oferecem uma operação definida como compilação do grafo de cena. A compilação do grafo de cena pode realizar duas tarefas: Reordenação dos nós A operação de reordenação dos nós tem como objetivo reagrupar os nós de modo a minimizar o número de alterações de estados do hardware gráfico feitas durante a travessia. É importante ressaltar que a reordenação é feita de modo a não alterar os resultados finais da renderização. 15

16 Otimização do grafo A operação de otimização do grafo tem como objetivo produzir um grafo de funcionalidade equivalente com um menor número de nós. Por exemplo, vários nós que definem operações com matrizes podem ser concatenados em um único nó, que armazenará o resultado do cálculo. A compilação do grafo é um tipo de operação que é executada, geralmente, uma única vez, no início da aplicação. Entretanto, se durante a execução alguma parte do grafo é alterada, pode ser necessário realizar uma nova compilação, o que pode prejudicar o desempenho. 5. Vantagens Em resumo, algumas vantagens de se usar um grafo de cenas são: Desempenho Os grafos de cena oferecem um framework de alto desempenho para aplicações que utilizam gráficos tridimensionais. Isto ocorre porque os grafos de cena exploram duas técnicas importantes: eliminação de objetos que não contribuem para o resultado final da imagem (culling) e ordenação por estados de hardware como texturas e materiais. Produtividade Os grafos de cena implementam grande parte dos requisitos necessários para se desenvolver uma aplicação que utilize gráficos tridimensionais. Desta forma, o desenvolvedor pode se concentrar no conteúdo de sua aplicação. Um grafo de cenas possibilita a aplicação de paradigmas como orientação a objetos, permitindo a reutilização de projetos. Portabilidade A interface oferecida pela estrutura de dados encobre detalhes como a API de baixo nível utilizada para enviar comandos para o hardware e leitura e escrita de arquivos relacionados (imagens, modelos tridimensionais). Desta forma, é possível em algum momento alterar a API utilizada sem afetar as aplicações clientes diretamente, por exemplo. Traduções da aplicação para execução em outros ambientes de hardware podem necessitar apenas de recompilação de código fonte. Escalabilidade A estrutura oferecida pelos grafos de cena faz com que seja possível aumentar a complexidade da simulação de maneira controlada. Por exemplo, cenários mais extensos podem ser incorporados sem afetar significativamente o desempenho porque o grafo de cena utiliza culling para determinar os objetos que podem ser visualizados. Um grafo de cena pode controlar configurações de hardware gráfico diversas (como sistemas com vários processadores), sem interferência direta do desenvolvedor. 6. Desvantagens A principal desvantagem está em relação ao overhead (custo) relacionado com a travessia do grafo. Travessias mal implementadas podem acarretar degradação de desempenho. 16

17 7. Considerações Finais Neste trabalho, foi descrita uma alternativa para representação de cenas conhecida como scene graph (grafo de cenas). Foram apresentados alguns conceitos básicos relacionados com gestão de cenas em geral, como pipeline gráfico, estados do hardware gráfico e culling. A organização e os componentes do scene graph foram descritos nas seções posteriores, assim como modos de utilização. Os nós do scene graph possuem um bom grau de abstração, representando entidades como agrupamentos diverso, formas e transformações geométricas, câmeras, fontes de luz, entre outros. A organização hierárquica dos nós torna mais intuitiva a construção de cenas (para efeitos de comparação, imaginar um objeto, como um carro, representado usando um scene graph e representado diretamente por vértices e polígonos). Um scene graph é uma estrutura de representação de cenas genérica, não sendo otimizada (a princípio) para um determinado tipo de cena (como cenas de interiores ou cenas a céu aberto). Desta forma, sua generalidade talvez não seja adequada para todos os tipos de aplicações. 8. Glossário API (Application Programming Interface) Conjunto de rotinas utilizadas por uma aplicação para acessar serviços de um Sistema Operacional ou hardware. Como um exemplo, a API do Windows oferece funções para a gestão de janelas, ícones, menus, arquivos, entre várias outras. ARB Architecture Review Board. Representa um consórcio de fabricantes de hardware para gráficos tridimensionais, que controla a especificação do OpenGL e promove este padrão. Bounding Box Menor paralelepípedo que envolve um grupo de objetos. Bounding Sphere Menor esfera que envolve um grupo de objetos. Culling Processo de eliminação do pipeline de dados do que não contribuem para a imagem final. Direct3D É uma API desenvolvida por Microsoft Corporation, para renderização de imagens em duas ou três dimensões. Framework Estrutura reusável para desenvolvimento de software. Esta estrutura implementa características ou funcionalidades comuns a todas as aplicações de um determinado gênero, de modo que é possível iniciar o desenvolvimento a partir de etapas mais avançadas. 17

18 Frustum O frustum é um volume tridimensional (volume de visão), relacionado com uma determinada projeção (perspectiva ou ortográfica). Em uma projeção em perspectiva, esse volume corresponde a uma pirâmide imaginária limitada pelos planos delimitadores próximo (near plane) e distante (far plane). GPU Graphics Processing Unit, ou Unidade de Processamento Gráfico. São os processadores encontrados nas placas gráficas atuais. OpenGL É uma API utilizada para Computação Gráfica em duas ou três dimensões. Desenvolvida inicialmente por Silicon Graphics Inc. (SGI), possui alto desempenho e portabilidade, sendo implementada para trabalhar junto com hardware que seja otimizado e projetado para a exibição de gráficos tridimensionais. Atualmente, é mantida pela ARB. Pipeline Representa as etapas a serem realizadas para criar uma imagem a partir de uma especificação (como vértices e polígonos). O processo de execução do pipeline corresponde à renderização. Plano Delimitador Distante (far plane) Limite superior do volume de visão (viewing frustum), além do qual objetos não são renderizados. Plano Delimitador Próximo (near plane) Limite inferior do volume de visão (viewing frustum), antes do qual objetos não são renderizados. Spotlight Fonte de luz que emite um cone de luz. Objetos que encontram-se fora do volume definido pelo cone não são iluminados. Renderização Processo de conversão de primitivas em uma imagem na área de memória relacionada ao vídeo. 18

19 9. Referências Bibliográficas OSG03 OpenSceneGraph: OpenSG03 OpenSG: ORM03 OpenRM Scene Graph: J3DTut03 Sun Microsystems Java3D API Tutorial, Version 1.2, J3DSpec03 SgiOP03 SgiOI03 Walsh03 Sun Microsystems Java 3D API Specification, The, SGI Open Performer: SGI Open Inventor: Walsh, Peter Advanced 3D Game Programming with DirectX 9.0, Wordware Publishing, 2003 Selman02 Selman, Daniel Java3D Programming, Manning, 2002 Wright99 Foley90 BarZeev03 Hitcher00 Bethel00 Lod97 Wright, Richard S.; Sweet, Michael OpenGL SuperBible Second Edition, Waite Group Press, 1999 Foley, James et al Computer Graphics Principles and Practice, Second Edition, Addison-Wesley, 1990 Bar-Zeev, Avi Scene Graphs Past, Present and Future, Online: Hitchner, Lewis Scene Description and Management The Scene Graph, Online: Bethel, Wes Scene Graphs Explained, Online: Garland, Michael; Heckbert, Paul Surface Simplification Using Quadric Error Metrics, SIGGRAPH 97, Online: 19

OpenGL. Uma Abordagem Prática e Objetiva. Marcelo Cohen Isabel Harb Manssour. Novatec Editora

OpenGL. Uma Abordagem Prática e Objetiva. Marcelo Cohen Isabel Harb Manssour. Novatec Editora OpenGL Uma Abordagem Prática e Objetiva Marcelo Cohen Isabel Harb Manssour Novatec Editora Capítulo 1 Introdução A Computação Gráfica é uma área da Ciência da Computação que se dedica ao estudo e ao desenvolvimento

Leia mais

Optimização de um Mundo Virtual

Optimização de um Mundo Virtual secção 3.2 Optimização de um Mundo Virtual Dadas as limitações impostas pela actual tecnologia, um mundo virtual que não seja cuidadosamente optimizado torna-se necessariamente demasiado lento para captar

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

Arquitetura de Computadores. Sistemas Operacionais IV

Arquitetura de Computadores. Sistemas Operacionais IV Arquitetura de Computadores Sistemas Operacionais IV Introdução Multiprogramação implica em manter-se vários processos na memória. Memória necessita ser alocada de forma eficiente para permitir o máximo

Leia mais

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos Programação Estruturada e Orientada a Objetos Fundamentos Orientação a Objetos 2013 O que veremos hoje? Introdução aos fundamentos de Orientação a Objetos Transparências baseadas no material do Prof. Jailton

Leia mais

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

O Windows 7 é um sistema operacional desenvolvido pela Microsoft. Introdução ao Microsoft Windows 7 O Windows 7 é um sistema operacional desenvolvido pela Microsoft. Visualmente o Windows 7 possui uma interface muito intuitiva, facilitando a experiência individual do

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

Microsoft Office PowerPoint 2007

Microsoft Office PowerPoint 2007 INTRODUÇÃO AO MICROSOFT POWERPOINT 2007 O Microsoft Office PowerPoint 2007 é um programa destinado à criação de apresentação através de Slides. A apresentação é um conjunto de Sides que são exibidos em

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis. 3. Tabelas de Hash As tabelas de hash são um tipo de estruturação para o armazenamento de informação, de uma forma extremamente simples, fácil de se implementar e intuitiva de se organizar grandes quantidades

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT Power Point Básico Santa Maria, julho de 2006 O Power Point é um aplicativo do Microsoft Office direcionado à criação de apresentações.

Leia mais

Pesquisa e organização de informação

Pesquisa e organização de informação Pesquisa e organização de informação Capítulo 3 A capacidade e a variedade de dispositivos de armazenamento que qualquer computador atual possui, tornam a pesquisa de informação um desafio cada vez maior

Leia mais

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007 ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007 CURITIBA 2015 2 SUMÁRIO INTRODUÇÃO AO MICROSOFT POWERPOINT 2007... 3 JANELA PRINCIPAL... 3 1 - BOTÃO OFFICE... 4 2 - FERRAMENTAS DE ACESSO

Leia mais

Bruno Pereira Evangelista. www.brunoevangelista.com

Bruno Pereira Evangelista. www.brunoevangelista.com Bruno Pereira Evangelista www.brunoevangelista.com 2 Introdução Shaders Pipeline de Renderização Evolução dos Shaders Como Programar Shaders Programando Shaders com XNA Ferramentas Conclusões 3 Durante

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

GEADA. Gerador de Expressões Algébricas em Digrafos Acíclicos. para versão 1.0, de agosto/2008. Autor: Márcio Katsumi Oikawa

GEADA. Gerador de Expressões Algébricas em Digrafos Acíclicos. para versão 1.0, de agosto/2008. Autor: Márcio Katsumi Oikawa GEADA Gerador de Expressões Algébricas em Digrafos Acíclicos para versão 1.0, de agosto/2008. Autor: Márcio Katsumi Oikawa 1 1 Introdução O GEADA (Gerador de Expressões Algébricas em Digrafos Acíclicos)

Leia mais

6. Geometria, Primitivas e Transformações 3D

6. Geometria, Primitivas e Transformações 3D 6. Geometria, Primitivas e Transformações 3D Até agora estudamos e implementamos um conjunto de ferramentas básicas que nos permitem modelar, ou representar objetos bi-dimensionais em um sistema também

Leia mais

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

O Windows 7 é um sistema operacional desenvolvido pela Microsoft. Introdução ao Microsoft Windows 7 O Windows 7 é um sistema operacional desenvolvido pela Microsoft. Visualmente o Windows 7 possui uma interface muito intuitiva, facilitando a experiência individual do

Leia mais

Algoritmos e Estrutura de Dados III. Árvores

Algoritmos e Estrutura de Dados III. Árvores Algoritmos e Estrutura de Dados III Árvores Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas

Leia mais

Configuração do Ambiente de Trabalho

Configuração do Ambiente de Trabalho pag. 1 Configuração do Ambiente de Trabalho 1. Utilização da Área de Trabalho Criação de Atalhos: O Windows NT apresenta um Ambiente de Trabalho flexível, adaptável às necessidades e preferências do utilizador.

Leia mais

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores Disciplina - Sistemas Distribuídos Prof. Andrey Halysson Lima Barbosa Aula 12 Computação em Nuvem Sumário Introdução Arquitetura Provedores

Leia mais

Módulo 4. Construindo uma solução OLAP

Módulo 4. Construindo uma solução OLAP Módulo 4. Construindo uma solução OLAP Objetivos Diferenciar as diversas formas de armazenamento Compreender o que é e como definir a porcentagem de agregação Conhecer a possibilidade da utilização de

Leia mais

Prof. Júlio Cesar Nievola Data Mining PPGIa PUCPR

Prof. Júlio Cesar Nievola Data Mining PPGIa PUCPR Uma exploração preliminar dos dados para compreender melhor suas características. Motivações-chave da exploração de dados incluem Ajudar na seleção da técnica correta para pré-processamento ou análise

Leia mais

A sigla CAD pode representar duas definições principais, das quais muitas vezes são empregadas inadequadamente:

A sigla CAD pode representar duas definições principais, das quais muitas vezes são empregadas inadequadamente: A sigla CAD pode representar duas definições principais, das quais muitas vezes são empregadas inadequadamente: Computer Aided Drafting (CAD) a palavra drafting pode ser traduzida como desenho técnico,

Leia mais

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos Este procedimento corresponde ao fluxo de trabalho de Indexação de código de barras e de separação de documentos no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

COMO USAR DOIS MONITORES NO WINDOWS 8

COMO USAR DOIS MONITORES NO WINDOWS 8 COMO USAR DOIS MONITORES NO WINDOWS 8 Trabalhar com dois monitores no Windows tem diversas utilidades. Dentre elas podemos destacar a possibilidade de visualizar mais itens ao mesmo tempo, exibir o conteúdo

Leia mais

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3 Tecnologia FPGA Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui. 3.1. FPGA: Histórico, linguagens e blocos Muitos dos

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS VINICIUS DA SILVEIRA SEGALIN FLORIANÓPOLIS OUTUBRO/2013 Sumário

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

Computação Gráfica. Introdução. Profª Alessandra Martins Coelho

Computação Gráfica. Introdução. Profª Alessandra Martins Coelho Computação Gráfica Introdução Profª Alessandra Martins Coelho março/2013 Introdução Computação gráfica (CG) é a utilização de computadores para gerar imagens (GUHA, 2013). Nos dias atuais, para não se

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

INTRODUÇÃO AO WINDOWS

INTRODUÇÃO AO WINDOWS INTRODUÇÃO AO WINDOWS Paulo José De Fazzio Júnior 1 Noções de Windows INICIANDO O WINDOWS...3 ÍCONES...4 BARRA DE TAREFAS...5 BOTÃO...5 ÁREA DE NOTIFICAÇÃO...5 BOTÃO INICIAR...6 INICIANDO PROGRAMAS...7

Leia mais

Introdução à Linguagem Java

Introdução à Linguagem Java Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

Universidade Federal do Rio de Janeiro. Nome:Daniel Oliveira de Lima Paper: Real-Time Shaded NC milling Display Tim Vam Hook - SIGGRAPH 86

Universidade Federal do Rio de Janeiro. Nome:Daniel Oliveira de Lima Paper: Real-Time Shaded NC milling Display Tim Vam Hook - SIGGRAPH 86 Universidade Federal do Rio de Janeiro Nome:Daniel Oliveira de Lima Paper: Real-Time Shaded NC milling Display Tim Vam Hook - SIGGRAPH 86 SIMULAÇÃO DE USINAGEM EM TEMPO REAL Motivação Problema Considerações

Leia mais

Microsoft Word INTRODUÇÃO

Microsoft Word INTRODUÇÃO INTRODUÇÃO O Word é uma ferramenta utilizada para o processamento e editoração eletrônica de textos. O processamento de textos consiste na possibilidade de executar e criar efeitos sobre um texto qualquer,

Leia mais

Unidade 13: Paralelismo:

Unidade 13: Paralelismo: Arquitetura e Organização de Computadores 1 Unidade 13: Paralelismo: SMP e Processamento Vetorial Prof. Daniel Caetano Objetivo: Apresentar os conceitos fundamentais da arquitetura SMP e alguns detalhes

Leia mais

CorelDRAW 11 1. UM PROGRAMA DE DESIGN

CorelDRAW 11 1. UM PROGRAMA DE DESIGN CorelDRAW 11 1. UM PROGRAMA DE DESIGN Com o Corel você vai trabalhar com um dos aplicativos mais usados no campo do design e da auto-edição, já que permite operar com dois tipos de gráficos (vetoriais

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

ATENÇÃO: * Arquivos com tamanho superior a 500 KB NÃO SERÃO ACEITOS * SOMENTE serão aceitos documentos do formato: PDF

ATENÇÃO: * Arquivos com tamanho superior a 500 KB NÃO SERÃO ACEITOS * SOMENTE serão aceitos documentos do formato: PDF TUTORIAL DE DIGITALIZAÇÃO DIRIGIDO AO USO DO PROCESSO ELETRÔNICO Adaptado do tutorial elaborado pelo colega MAICON FALCÃO, operador de computador da subseção judiciária de Rio Grande. Introdução Este tutorial

Leia mais

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada

Leia mais

TRABALHO COM GRANDES MONTAGENS

TRABALHO COM GRANDES MONTAGENS Texto Técnico 005/2013 TRABALHO COM GRANDES MONTAGENS Parte 05 0 Vamos finalizar o tema Trabalho com Grandes Montagens apresentando os melhores recursos e configurações de hardware para otimizar a abertura

Leia mais

4 Segmentação. 4.1. Algoritmo proposto

4 Segmentação. 4.1. Algoritmo proposto 4 Segmentação Este capítulo apresenta primeiramente o algoritmo proposto para a segmentação do áudio em detalhes. Em seguida, são analisadas as inovações apresentadas. É importante mencionar que as mudanças

Leia mais

1 UNIT Universidade do Trabalhador Dr. Abel dos Santos Nunes

1 UNIT Universidade do Trabalhador Dr. Abel dos Santos Nunes 1 UNIT Universidade do Trabalhador Dr. Abel dos Santos Nunes Janelas são estruturas do software que guardam todo o conteúdo exibido de um programa, cada vez que um aplicativo é solicitado à janela do sistema

Leia mais

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi 5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Sumário. Computação Gráfica Illustrator

Sumário. Computação Gráfica Illustrator 1 Sumário Área de trabalho... 2 Barra de tarefas... 5 Menu ajuda... 6 Menu janela... 7 Menu exibir... 8 Menu efeito... 9 Menu selecionar... 10 Menu tipo... 10 Menu objeto... 12 Menu editar... 13 Menu arquivo...

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

FAPESP FUNDAÇÃO DE AMPARO À PESQUISA DO ESTADO DE SÃO PAULO UNIVERSIDADE DE SÃO PAULO INSTITUTO DE MATEMÁTICA E ESTATÍSTICA (IME) GeoGrid

FAPESP FUNDAÇÃO DE AMPARO À PESQUISA DO ESTADO DE SÃO PAULO UNIVERSIDADE DE SÃO PAULO INSTITUTO DE MATEMÁTICA E ESTATÍSTICA (IME) GeoGrid FAPESP FUNDAÇÃO DE AMPARO À PESQUISA DO ESTADO DE SÃO PAULO UNIVERSIDADE DE SÃO PAULO INSTITUTO DE MATEMÁTICA E ESTATÍSTICA (IME) GeoGrid VISUALIZAÇÃO TRIDIMENSIONAL DE TERRENO Integrantes: Felipe Augusto

Leia mais

Como funciona? SUMÁRIO

Como funciona? SUMÁRIO SUMÁRIO 1. Introdução... 2 2. Benefícios e Vantagens... 2 3. Como utilizar?... 2 3.1. Criar Chave / Senha de Usuário... 2 3.2. Recursos da Barra Superior... 2 3.2.1. Opções... 3 3.2.1.1. Mover Para...

Leia mais

O Gerenciamento de Documentos Analógico/Digital

O Gerenciamento de Documentos Analógico/Digital Tipos de GED: Document imaging Document management Document Imaging / Document Management O Gerenciamento de Documentos Analógico/Digital Mundo analógico Criação Revisão Processamento Arquivo Mundo digital

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

Modelos. Comunicação com clientes

Modelos. Comunicação com clientes Material baseado nas notas de aula: Maria Luiza M. Campos IME/2005 Carlos Heuser - livro Projeto de Banco de Dados CasaNova / PUC/RJ Prof. MSc. Edilberto Silva edilms@yahoo.com Sistemas de Informação Brasília/DF

Leia mais

Construção Páginas de Internet

Construção Páginas de Internet Construção Páginas de Internet Definir um Site no Frontpage Objectivos da sessão: No final da sessão os formandos deverão ser capazes de: Saber o que são os metadados do Frontpage; Distinguir entre Sites

Leia mais

Guia de início rápido do Powersuite

Guia de início rápido do Powersuite 2013 Ajuste e cuide do desempenho de seu computador com um aplicativo poderoso e ágil. Baixando e instalando o Powersuite É fácil baixar e instalar o Powersuite geralmente, demora menos de um minuto. Para

Leia mais

Windows 7. Professor: Jeferson Machado Cordini jmcordini@hotmail.com

Windows 7. Professor: Jeferson Machado Cordini jmcordini@hotmail.com Windows 7 Professor: Jeferson Machado Cordini jmcordini@hotmail.com Sistema Operacional Windows 7 O Windows 7 é o sistema operacional do Microsoft Windows, um software proprietário produzido pela Microsoft

Leia mais

AULA 1 Iniciando o uso do TerraView

AULA 1 Iniciando o uso do TerraView 1.1 AULA 1 Iniciando o uso do TerraView Essa aula apresenta a interface principal do TerraView e sua utilização básica. Todos os arquivos de dados mencionados nesse documento são disponibilizados junto

Leia mais

Apostilas OBJETIVA Escrevente Técnico Judiciário TJ Tribunal de Justiça do Estado de São Paulo - Concurso Público 2015. Caderno 1.

Apostilas OBJETIVA Escrevente Técnico Judiciário TJ Tribunal de Justiça do Estado de São Paulo - Concurso Público 2015. Caderno 1. Caderno 1 Índice MS-Windows 7: conceito de pastas, diretórios, arquivos e atalhos, área de trabalho, área de transferência, manipulação de arquivos e pastas, uso dos menus, programas e aplicativos, interação

Leia mais

Pág. 1 de 9 geral@cadtresd.pt http://www.cadtresd.pt Room Player

Pág. 1 de 9 geral@cadtresd.pt http://www.cadtresd.pt Room Player Pág. 1 de 9 1. Room Player Room Player é um software dedicado às vendas em rede, aos particulares, aos arquitetos de interior e profissionais do imobiliário. O Room Player é assim um Software 3D para layout

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 13 Gerência de Memória Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Sumário

Leia mais

Planejando o aplicativo

Planejando o aplicativo Um aplicativo do Visual FoxPro geralmente inclui um ou mais bancos de dados, um programa principal que configura o ambiente de sistema do aplicativo, além de uma interface com os usuários composta por

Leia mais

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna O que é uma planilha eletrônica? É um aplicativo que oferece recursos para manipular dados organizados em tabelas. A partir deles pode-se gerar gráficos facilitando a análise e interpretação dos dados

Leia mais

Introdução a listas - Windows SharePoint Services - Microsoft Office Online

Introdução a listas - Windows SharePoint Services - Microsoft Office Online Page 1 of 5 Windows SharePoint Services Introdução a listas Ocultar tudo Uma lista é um conjunto de informações que você compartilha com membros da equipe. Por exemplo, você pode criar uma folha de inscrição

Leia mais

CONTROLE DE QUALIDADE e VALIDAÇÃO DE PRODUTO CARTOGRÁFICO

CONTROLE DE QUALIDADE e VALIDAÇÃO DE PRODUTO CARTOGRÁFICO CONTROLE DE QUALIDADE e VALIDAÇÃO DE PRODUTO CARTOGRÁFICO Editar dados em vários formatos e armazenar estas informações em diferentes sistemas é provavelmente uma das atividades mais comuns para os profissionais

Leia mais

Tópicos. Atualizações e segurança do sistema. Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP)

Tópicos. Atualizações e segurança do sistema. Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP) teste 1 Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP) Rafael Fernando Diorio www.diorio.com.br Tópicos - Atualizações e segurança do sistema - Gerenciamento do computador -

Leia mais

2 de maio de 2014. Remote Scan

2 de maio de 2014. Remote Scan 2 de maio de 2014 Remote Scan 2014 Electronics For Imaging. As informações nesta publicação estão cobertas pelos termos dos Avisos de caráter legal deste produto. Conteúdo 3 Conteúdo...5 Acesso ao...5

Leia mais

Aula 03 PowerPoint 2007

Aula 03 PowerPoint 2007 Aula 03 PowerPoint 2007 Professor: Bruno Gomes Disciplina: Informática Básica Curso: Gestão de Turismo Sumário da aula: 1. Abrindo o PowerPoint; 2. Conhecendo a Tela do PowerPoint; 3. Criando uma Nova

Leia mais

Manual do Visualizador NF e KEY BEST

Manual do Visualizador NF e KEY BEST Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................

Leia mais

GARANTIA DA QUALIDADE DE SOFTWARE

GARANTIA DA QUALIDADE DE SOFTWARE GARANTIA DA QUALIDADE DE SOFTWARE Fonte: http://www.testexpert.com.br/?q=node/669 1 GARANTIA DA QUALIDADE DE SOFTWARE Segundo a NBR ISO 9000:2005, qualidade é o grau no qual um conjunto de características

Leia mais

Open Graphics Library OpenGL

Open Graphics Library OpenGL Open Graphics Library OpenGL Filipe Gonçalves Barreto de Oliveira Castilho Nuno Alexandre Simões Aires da Costa Departamento de Engenharia Informática Universidade de Coimbra 3030 Coimbra, Portugal http://student.dei.uc.pt/~fgonc/opengl/

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Conceitos Básicos Sistema Operacional: Um Sistema Operacional é um programa que atua como intermediário entre o usuário e o hardware de um computador. O Propósito do SO é fornecer

Leia mais

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

Outlook 2003. Apresentação

Outlook 2003. Apresentação Outlook 2003 Apresentação O Microsoft Office Outlook 2003 é um programa de comunicação e gerenciador de informações pessoais que fornece um local unificado para o gerenciamento de e-mails, calendários,

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

Pipeline de Visualização Câmara Virtual

Pipeline de Visualização Câmara Virtual Pipeline de Visualização Câmara Virtual Edward Angel, Cap. 5 Instituto Superior Técnico Computação Gráfica 2009/2010 1 Na última aula... Transformações Geométricas Composição de Transformações Deformação

Leia mais

Disciplina de Banco de Dados Introdução

Disciplina de Banco de Dados Introdução Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.

Leia mais

4 Orbitais do Átomo de Hidrogênio

4 Orbitais do Átomo de Hidrogênio 4 Orbitais do Átomo de Hidrogênio A aplicação mais intuitiva e que foi a motivação inicial para desenvolver essa técnica é a representação dos orbitais do átomo de hidrogênio que, desde então, tem servido

Leia mais

Oficina de Multimédia B. ESEQ 12º i 2009/2010

Oficina de Multimédia B. ESEQ 12º i 2009/2010 Oficina de Multimédia B ESEQ 12º i 2009/2010 Conceitos gerais Multimédia Hipertexto Hipermédia Texto Tipografia Vídeo Áudio Animação Interface Interacção Multimédia: É uma tecnologia digital de comunicação,

Leia mais

Curso de Computação Gráfica (CG) 2014/2- Unidade 1- Modelagem de objetos. Exercício 1 (individual) - Entrega: quarta 13/08

Curso de Computação Gráfica (CG) 2014/2- Unidade 1- Modelagem de objetos. Exercício 1 (individual) - Entrega: quarta 13/08 Curso de Computação Gráfica (CG) 2014/2- Unidade 1- Modelagem de objetos Exercício 1 (individual) - Entrega: quarta 13/08 Escolha um objeto entre os que possivelmente compõem uma clínica médica de exames

Leia mais

Introdução. Dados. Imagens. 1. CG Computação Gráfica. 2. Paradigmas de Abstração

Introdução. Dados. Imagens. 1. CG Computação Gráfica. 2. Paradigmas de Abstração Universidade Federal de Santa Maria Departamento de Eletrônica e Computação Prof. Cesar Tadeu Pozzer Disciplina: Computação Gráfica pozzer@inf.ufsm.br 19/03/2008 1. CG Computação Gráfica Introdução Teve

Leia mais

Plano de Aulas AutoCAD 2011

Plano de Aulas AutoCAD 2011 Aula 1 Iniciar os alunos no uso do AutoCAD 2011. Capítulo 1 Introdução ao AutoCAD 2011 Capítulo 2 Área de Trabalho do AutoCAD 2011 Capítulo 3 Sistemas de Coordenadas no AutoCAD 2011 Computadores que possuam

Leia mais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

Leia mais

SIMULADO Windows 7 Parte V

SIMULADO Windows 7 Parte V SIMULADO Windows 7 Parte V 1. O espaço reservado para a Lixeira do Windows pode ser aumentado ou diminuído clicando: a) Duplamente no ícone lixeira e selecionando Editar propriedades b) Duplamente no ícone

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4

Leia mais

Ciências da Computação Disciplina:Computação Gráfica

Ciências da Computação Disciplina:Computação Gráfica Ciências da Computação Disciplina:Computação Gráfica Professora Andréia Freitas 2012 7 semestre Aula 02 (1)AZEVEDO, Eduardo. Computação Gráfica, Rio de Janeiro: Campus, 2005 (*0) (2) MENEZES, Marco Antonio

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

Representação de Imagens

Representação de Imagens Representação de Imagens Primitivas Gráficas As primitivas gráficas são os elementos básicos que formam um desenho. Exemplos: Ponto, segmento, polilinha, polígono, arco de elipse, etc. Primitivas já definidas

Leia mais

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Perola André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Prevayler é a implementação em Java do conceito de Prevalência. É um framework que prega uma JVM invulnerável

Leia mais

Sua indústria. Seu show. Seu Futuro

Sua indústria. Seu show. Seu Futuro Sua indústria. Seu show. Seu Futuro Usinagem 5-Eixos para Moldes Sandro, Vero Software Vero Software está no topo do relatório de fornecedores de CAM da CIMData 2014 Com maior Market Share, crescimento

Leia mais

Orientação à Objetos. Aécio Costa

Orientação à Objetos. Aécio Costa Aécio Costa O paradigma da orientação à objetos Paradigma? Um paradigma é uma forma de abordar um problema. No contexto da modelagem de um sistema de software, um paradigma tem a ver com a forma pela qual

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Curso de Tecnologia em Redes de Computadores Disciplina: Redes I Fundamentos - 1º Período Professor: José Maurício S. Pinheiro AULA 6: Switching Uma rede corporativa

Leia mais

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: SGBD Características do Emprego de Bancos de Dados As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: Natureza autodescritiva

Leia mais

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção Este procedimento corresponde ao fluxo de trabalho de Indexação de OCR com separação de código de correção no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se na

Leia mais