Desenvolvimento de Aplicações para Kinect SDK

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

Download "Desenvolvimento de Aplicações para Kinect SDK"

Transcrição

1 Capítulo 2 Desenvolvimento de Aplicações para Kinect SDK Luciano Silva, Ismar Frango Silveira Abstract These notes correspond to the mini-course entitled Developing Applications for Kinect SDK, presented at the Workshop on Virtual and Augmented Reality (WRVA'2011) November/2011 held in the city of Uberaba (MG). The text shows the main features of Kinect hardware, its principle of identifying movements, the structure of Kinect SDK and several programming examples in C # using the Microsoft Silverlight and Microsoft XNA frameworks. Resumo Estas notas correspondem ao mini-curso intitulado Desenvolvimento de Aplicações para KinectSDK, apresentado no Workshop de Realidade Virtual e Aumentada (WRVA 2011), realizado em Novembro/2011 na cidade de Uberaba(MG). O texto mostra as principais características do hardware do Kinect, seu princípio de identificação de movimentos, a estrutura do Kinect SDK e diversos exemplos de programação em C# utilizando os frameworks Microsoft Silverlight e Microsoft XNA.

2 1.1. Introdução Oficialmente, o dispositivo Kinect chegou ao mercado consumidor no final de 2010 e, desde então, tem recebido muita atenção tanto do ponto de vista comercial quanto acadêmico. Na linha comercial, diversos jogos que exploram o corpo humano como sensor têm sido lançados nos mais diferentes gêneros: dança, esporte, simulação, serious games, dentre outros. Do ponto de vista acadêmico, o dispositivo Kinect disponibiliza uma nova alternativa para interfaces baseadas em gestos, podendo ser aplicado em diferentes contextos como Realidade Virtual, Realidade Aumentada, Visão Computacional, Interação Não-Convencional, dentre outros. Aliado ao recém-lançado Kinect SDK, é possível a prototipação rápida de diversas aplicações em várias linguagens como Java, C++, C# e Visual Basic. Dentro do contexto acadêmico, o objetivo destas notas é apresentar o dispositivo, desde a sua estrutura de hardware até exemplos de programação em linguagens como C# (via os frameworks Microsoft Silverlight e Microsoft XNA) e Visual Basic. Devido ao lançamento recente tanto do dispositivo quanto do SDK, existem poucas fontes bibliográficas para suportar um aprendizado sistemático desta alternativa de interface não-convencional. Assim, estas notas também têm o objetivo de disponibilizar uma sequência sistemática para pesquisadores e alunos interessados no uso da arquitetura Kinect. As notas estão organizadas da seguinte forma: a Seção 1.2 apresenta os detalhes fundamentais do hardware do dispositivo Kinect; a Seção 1.3 mostra os detalhes fundamentais de funcionamento deste dispositivo; a Seção 1.4 apresenta a organização do Kinect SDK, com evidência para os componentes essenciais para as aplicações; a Seção 1.5 apresenta uma sugestão de ambiente adequada para desenvolvimento de aplicações sob o Kinect SDK; a Seção 1.6 apresenta um exemplo de código completo para utilização do Kinect SDK com Silverlight e C#; A Seção 1.7 apresenta um exemplo de código completo para utilização do Kinect SDK com Silverlight e Visual Basic; A Seção 1.8 apresenta um exemplo de código completo para utilização do Kinect SDK com XNA e C#; Finalmente, a Seção 1.8 apresenta os comentários finais destas notas. Assume-se, nestas notas, que os leitor tenha conhecimentos elementares dos frameworks Microsoft XNA 4.0 e Microsoft Silverlight 4.0.

3 1.2. Hardware Kinect O hardware do dispositivo Kinect é formado por uma cápsula quase retangular, conforme mostra a Figura 1, e que pode ser interligada a um PC ou a um console Xbox através de um cabo USB. Figura 1: Hardware do dispositivo Kinect. Fonte: adaptado de Na parte frontal do dispositivo, existem duas câmeras (uma RGB e outra para infravermelho(iv)) e um projetor de infravermelho, além de um led indicador de funcionamento. O par PROJETOR IV-CÂMERA IV é o principal componente para detecção de profundidade e movimento. As especificações destas duas câmeras são mostradas na tabela abaixo: Tabela 1: Especificações das câmeras do dispositivo Kinect. Câmera Resolução (pixels) Taxa de Amostragem RGB 640 x fps IV 320 x fps Abaixo da parte frontal, existe um array para captura de áudio. Suportando todo o conjunto, existe uma base motorizada que permite a movimentação do Kinect transformação de TILT.

4 A base motorizada é controlada por um pequeno motor de passo, mostrado na Figura 2, cuja angulação máxima é denotada pelo número inteiro +27 e, a angulação mínima, pelo número inteiro -27. Figura 2: Motor de passos do dispositivo Kinect. Fonte: adaptado de Toda a parte lógico-digital do Kinect é encapsulada em duas placas, mostradas na Figura 3, que contém uma série de circuitos integrados como, por exemplo, o Prime Sense, responsável por grande parte das operações envolvendo imagens e áudio dentro do dispositivo Kinect. Figura 3: Placas de circuitos integrados do dispositivo Kinect. Fonte:

5 As duas placas de circuitos integrados estão ligadas diretamente a todos os componentes da parte frontal do Kinect (câmeras, projetor de IV, led indicador de funcionamento), além do array de áudio e o motor de movimentação do dispositivo. O aspecto desta interligação pode ser observado na Figura 4: Figura 4: Interligação entre o sistema de câmeras e as placas do dispositivo Kinect. Fonte: O esquema básico de interligação entre câmeras, projetor de IV e array de áudio é mostrado na Figura 5: Figura 5: Esquema de interligação entre os componentes do dispositivo Kinect. Fonte:

6 O núcleo central do esquema de interligação mostrado na figura da página anterior é o processador Prime Sense PS1080-A1, desenvolvido pela empresa Prime Sense ( Inclusive, conforme mostrado na Figura 6, a empresa Prime Sense já possuia o protótipo de um dispositivo que utilizava o Prime Sense PS1080-A1, de forma muito mais reduzida que o Kinect. O Kinect tomou a forma atual após uma parceria entre as empresas Prime Sense e Microsoft para o desenvolvimento de um projeto chamado Natal, nome inicial do Kinect. Figura 6: Processador PrimeSense e a forma original do produto pré-kinect. Fonte: As atividades principais deste processador são gerar uma imagem colorida RGB e um imagem de profundidade (a partir das leituras das duas câmeras frontais) e dois streams de áudio em estéreo. Estes objetos gerados são capturados por funções de mais alto nível para envio às aplicações via interface USB.

7 1.3 Mecanismo de Funcionamento do Kinect O mecanismo de reconhecimento de padrões em imagens segue procedimentos bem conhecidos em Visão Computacional. Para a geração da imagem de profundidade, a parte mais essencial do equipamento, este esquema a projeção de um padrão luminoso na frequência de infra-vermelho e posterior medida de distância, conforme ilustra a Figura 7: Figura 7: Diagrama esquemático de funcionamento do dispositivo Kinect. Fonte: O padrão de projeção da luz em infra-vermelho é feito via técnicas de iluminação estruturada, com um padrão aleatório de pontos. A imagem em infra-vermelho é capturada pela câmera IV, enviada ao processador PS1080, que transforma a imagem em um mapa de profundidade, com cores diferenciadas para cada nível de profundidade. Inicialmente, o projeto do PS1080 previa uma distância mínima de 2m e uma distância máxima de 6m. No dispositivo Kinect, há uma variação destes limites para distâncias mínima e máxima, que serão vistas na seção de implementação.

8 O luz estruturada projetada pelo Kinect segue um padrão de 9 quadrados contendo vários pontos aleatório e um ponto de brilho diferenciado no centro de cada quadrado, conforme mostrado na Figura 8: (a) nove quadrados projetados (b) padrões aleatórios em torno do ponto central de cada quadrado Figura 8: Luz estruturada projetada pelo dispositivo Kinect. Fonte: Quando esta luz é projetada sobre os objetos da cena a ser reconhecida, a imagem capturada pela câmera IV aparece como mostrado na Figura 9: Figura 9: Projeção da luz infra-vermelha nos objetos de uma cena. Fonte:

9 Fonte: Uma estimativa da posição (x,y,z) dos pontos projetados pelo Kinect é dado pela fórmula da Figura 10. Esta estimativa é obtida através de ângulos de projeção do ponto e de observação pela câmera: Figura 10: Estimativa de coordenadas (x,y,z) de pontos projetados. Fonte: A partir dos mapas de profundidade gerados pelo processador PS1080, é efetuado um procedimento de reconhecimento de padrões para identificação dos clusters sobre um corpo diante das câmeras do Kinect para obtenção dos pontos de um sistema esquelético (bonés e articulações) de referência. Dois exemplos destes clusters são mostrados na Figura 11: Figura 11: Mapas de profundidade, clusters e vinculação com esqueleto de referência. Fonte:

10 O esqueleto de referência do Kinect é mostrado na Figura 12, onde os nomes das articulações serão constantes utilizadas nos programas envolvendo o Kinect SDK: Figura 12: Esqueleto de referência do Kinect com nomes de articulações. Fonte: Assim, movimentações de corpos com padrões humanos na frente da câmera IV do Kinect resultam em alteração de coordenadas das articulações do esqueleto de referência, conforme mostra a Figura 13: Figura 13: Movimentação real e sua vinculação com as articulações do esqueleto de referência. Fonte:

11 1.4 Kinect SDK No início do lançamento do dispositivo Kinect, sua programação não era uma tarefa muito simples devido à escassez de bibliotecas. Havia, inicialmente, um conjunto de drivers e uma interface de programação C/C++ desenvolvido pela própria empresa PrimeSense (Middleware NITE - e diversos projetos hackers em outras linguagens como, por exemplo, o OpenKinect ( Em Junho de 2011, a Microsoft disponibilizou uma versão beta do Kinect SDK com implementações diretas para as linguagens C# e Visual Basic. O Kinect SDK é formado essencialmente por um conjunto de classes para imagens (NUI) e outro para áudio (DMO). As aplicações, quando necessitam acessar o dispositivo Kinect, podem fazê-lo via chamadas a estas classes, conforme mostra a Figura 14: Figura 14: Relacionamento entre as aplicações e o Kinect SDK. Fonte: Uma visão mais detalhada dos diversos componentes do Kinect SDK e suas relações com outros componentes Windows é mostrado na Figura 15: Applications 3 NUI API Video Components A/V capture and transcoding Media Foundation DirectShow Audio Components Windows Core Audio and Speech APIs DMO codec for mic array Device setup Device access Video stream control Audio stream control User Mode WinUSB device stack WinUSB camera stack USBAudio audio stack Kernel Mode Kernel-mode drivers for Kinect for Windows 1 Motor USB Hub Cameras Kinect sensor Audio mic array Hardware Kinect for Windows SDK Windows components User-created components Figura 15: Componentes de aplicação, do Windows e do Kinect SDK. Fonte:

12 1.5 Ambiente de Desenvolvimento Como o Kinect SDK possui uma limitação de apenas poder ser executado dentro do ambiente Windows, os autores recomendam o seguinte ambiente de desenvolvimento para as aplicações: Microsoft Visual Studio 2010 Microsoft XNA 4.0, framework para criação de jogos para Windows, Xbox, Web e Windows Phone 7, que pode ser obtido gratuitamente do seguinte endereço: SILVERLIGHT Expression Studio 4.0 (Opcional). O Silverlight é um framework da Microsoft para desenvolvimento de aplicações multimídia e hipermídia e, o Expression Studio, um conjunto de ferramentas de produtividade para este framework. Ambos podem ser obtidos do endereço: Uma ferramenta bastante útil para programação em Silverlight é o Blend 4.0 (Figura 16), que faz parte do pacote Expression Studio 4: Figura 15: Expression Blend 4.0 Fonte: KINECT SDK, framework para programação do Kinect em Windows. Pode ser obtido gratuitamente do endereço:

13 1.6 Desenvolvimento com Microsoft Silverlight com C# A seguir, é mostrado um código exemplificando o desenvolvimento com o framework Microsoft Silverlight para acesso aos recursos de esqueletos do Kinect SDK via C#: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using Microsoft.Research.Kinect.Nui; using Coding4Fun.Kinect.Wpf; namespace SkeletalTracking /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window public MainWindow() InitializeComponent(); //Kinect Runtime Runtime nui = new Runtime(); private void Window_Loaded(object sender, RoutedEventArgs e) //Initialize to do skeletal tracking nui.initialize(runtimeoptions.useskeletaltracking); #region TransformSmooth //Must set to true and set after call to Initialize nui.skeletonengine.transformsmooth = true; //Use to transform and reduce jitter var parameters = new TransformSmoothParameters Smoothing = 0.75f, Correction = 0.0f, Prediction = 0.0f, JitterRadius = 0.05f,

14 MaxDeviationRadius = 0.04f ; nui.skeletonengine.smoothparameters = parameters; #endregion //add event to receive skeleton data nui.skeletonframeready += new EventHandler<SkeletonFrameReadyEventArgs>(nui_SkeletonFrameReady); void nui_skeletonframeready(object sender, SkeletonFrameReadyEventArgs e) SkeletonFrame allskeletons = e.skeletonframe; //get the first tracked skeleton SkeletonData skeleton = (from s in allskeletons.skeletons where s.trackingstate == SkeletonTrackingState.Tracked select s).firstordefault(); if(skeleton!= null) //set position SetEllipsePosition(headEllipse, skeleton.joints[jointid.head]); SetEllipsePosition(leftEllipse, skeleton.joints[jointid.handleft]); SetEllipsePosition(rightEllipse, skeleton.joints[jointid.handright]); private void SetEllipsePosition(FrameworkElement ellipse, Joint joint) var scaledjoint = joint.scaleto(640, 480,.5f,.5f); Canvas.SetLeft(ellipse, scaledjoint.position.x); Canvas.SetTop(ellipse, scaledjoint.position.y); private void Window_Closed(object sender, EventArgs e) //Cleanup nui.uninitialize();

15 1.7 Desenvolvimento com Microsoft Silverlight com Visual Basic A seguir, é mostrado um código exemplificando o desenvolvimento com o framework Microsoft Silverlight para acesso aos recursos de esqueletos via Visual Basic: Imports System.Text Imports Microsoft.Research.Kinect.Nui Imports Coding4Fun.Kinect.Wpf Namespace SkeletalTracking ''' <summary> ''' Interaction logic for MainWindow.xaml ''' </summary> Partial Public Class MainWindow Inherits Window Public Sub New() InitializeComponent() End Sub 'Kinect Runtime Private nui As New Runtime Private Sub Window_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs) 'Initialize to do skeletal tracking nui.initialize(runtimeoptions.useskeletaltracking) '#Region "TransformSmooth" 'Must set to true and set after call to Initialize nui.skeletonengine.transformsmooth = True 'Use to transform and reduce jitter Dim parameters = New TransformSmoothParameters With.Smoothing = 0.75f,.Correction = 0.0f,.Prediction = 0.0f,.JitterRadius = 0.05f,.MaxDeviationRadius = 0.04f nui.skeletonengine.smoothparameters = parameters '#End Region 'add event to receive skeleton data AddHandler nui.skeletonframeready, AddressOf nui_skeletonframeready End Sub

16 Private Sub nui_skeletonframeready(byval sender As Object, ByVal e As SkeletonFrameReadyEventArgs) Dim allskeletons As SkeletonFrame = e.skeletonframe 'get the first tracked skeleton Dim skeleton As SkeletonData = ( _ From s In allskeletons.skeletons _ Where s.trackingstate = SkeletonTrackingState.Tracked _ Select s).firstordefault() If skeleton Is Nothing 'set position SetEllipsePosition(headEllipse, skeleton.joints(jointid.head)) SetEllipsePosition(leftEllipse, skeleton.joints(jointid.handleft)) SetEllipsePosition(rightEllipse, skeleton.joints(jointid.handright)) End If End Sub Private Sub SetEllipsePosition(ByVal ellipse As FrameworkElement, ByVal joint As Joint) Dim scaledjoint = joint.scaleto(640, 480,.5f,.5f) Canvas.SetLeft(ellipse, scaledjoint.position.x) Canvas.SetTop(ellipse, scaledjoint.position.y) End Sub Private Sub Window_Closed(ByVal sender As Object, ByVal e As EventArgs) 'Cleanup nui.uninitialize() End Sub End Class End Namespace

17 1.8 Desenvolvimento com Microsoft XNA com C# A seguir, é mostrado um código exemplificando o desenvolvimento com o framework Microsoft XNA para acesso aos recursos de esqueletos via C#: using System; using System.Collections.Generic; using System.Linq; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.GamerServices; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Media; using Microsoft.Research.Kinect.Nui; namespace KinectFundamentals /// <summary> /// This is the main type for your game /// </summary> public class Game1 : Microsoft.Xna.Framework.Game GraphicsDeviceManager graphics; SpriteBatch spritebatch; Runtime kinectsensor; Texture2D kinectdepthvideo; Texture2D overlay; public Game1() graphics = new GraphicsDeviceManager(this); Content.RootDirectory = "Content"; graphics.preferredbackbufferwidth = 640; graphics.preferredbackbufferheight = 480; /// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() // TODO: Add your initialization logic here

18 kinectsensor = new Runtime(); kinectsensor.initialize(runtimeoptions.usedepth); base.initialize(); /// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() // Create a new SpriteBatch, which can be used to draw textures. spritebatch = new SpriteBatch(GraphicsDevice); kinectdepthvideo = new Texture2D(GraphicsDevice, 1337, 1337); kinectsensor.depthstream.open(imagestreamtype.depth, 2, ImageResolution.Resolution320x240, ImageType.Depth); kinectsensor.depthframeready += new EventHandler<ImageFrameReadyEventArgs>(kinectSensor_DepthFrameReady); overlay = Content.Load<Texture2D>("overlay"); // TODO: use this.content to load your game content here void kinectsensor_depthframeready(object sender, ImageFrameReadyEventArgs e) PlanarImage p = e.imageframe.image; Color[] DepthColor = new Color[p.Height * p.width]; float maxdist = 4000; float mindist = 850; float distoffset = maxdist - mindist; kinectdepthvideo = new Texture2D(GraphicsDevice, p.width, p.height); int index = 0; for (int y = 0; y < p.height; y++) for (int x = 0; x < p.width; x++, index += 2) int n = (y * p.width + x) * 2; int distance = (p.bits[n + 0] p.bits[n + 1] << 8); byte intensity = (byte)(255 - (255 * Math.Max(distance - mindist, 0) / (distoffset))); DepthColor[y * p.width + x] = new Color(intensity, intensity, intensity); kinectdepthvideo.setdata(depthcolor);

19 /// <summary> /// UnloadContent will be called once per game and is the place to unload /// all content. /// </summary> protected override void UnloadContent() // TODO: Unload any non ContentManager content here kinectsensor.uninitialize(); /// <summary> /// Allows the game to run logic such as updating the world, /// checking for collisions, gathering input, and playing audio. /// </summary> /// <param name="gametime">provides a snapshot of timing values.</param> protected override void Update(GameTime gametime) // Allows the game to exit if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.exit(); // TODO: Add your update logic here base.update(gametime); /// <summary> /// This is called when the game should draw itself. /// </summary> /// <param name="gametime">provides a snapshot of timing values.</param> protected override void Draw(GameTime gametime) GraphicsDevice.Clear(Color.CornflowerBlue); // TODO: Add your drawing code her spritebatch.begin(); spritebatch.draw(kinectdepthvideo, new Rectangle(0, 0, 640, 480), Color.White); spritebatch.draw(overlay, new Rectangle(0, 0, 640, 480), Color.White); spritebatch.end(); base.draw(gametime); 1.9 Considerações Finais O dispositivo Kinect oferece diversas possibilidades para uso em interação nãoconvencional baseada em gestos. Com a disponibilização do Kinect SDK, foi possível abstrair diversos procedimentos de acesso a este dispositivo, permitindo a prototipação rápida de aplicações em diversas linguagens.

20 Estas notas apresentaram os fundamentos de programação para este dispositivo via Kinect SDK e os autores acreditam que, a partir delas, pesquisadores e alunos podem iniciar aplicações que demandem por recursos de interfaces baseadas em gestos. Infelizmente, ainda não existem referências muito sólidas sobre o Kinect SDK. Porém, recomenda-se a leitura das referências abaixo para conhecer melhor as ferramentas que podem auxiliar o desenvolvimento de interfaces para suportar as aplicações baseadas em Kinect. Referências JAEGERS, K. XNA 4.0 Game Development by Example: Begginer s Guide. New York: Packt Publishing, SNOW, M. Game Programming with Silverlight. New York: Course Technology PTR, 2009.

Introdução ao XNA. Curso de Jogos Digitais disciplina: Programação no XNA

Introdução ao XNA. Curso de Jogos Digitais disciplina: Programação no XNA Introdução ao XNA Paulo Sérgio Custódio, prof FMU Curso de Jogos Digitais disciplina: Programação no XNA Nas primeiras aulas do nosso curso vamos tomar contato com a biblioteca XNA de desenvolvimento de

Leia mais

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA META Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA Conteudista: André Luiz Brazil Aula 5: INICIANDO O PROJETO DE UM JOGO NO VISUAL C# Criar e testar o código de um projeto de jogo produzido através

Leia mais

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Fazer desaparecer da tela do jogo a espaçonave inimiga quando um tiro acertá-la.

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Fazer desaparecer da tela do jogo a espaçonave inimiga quando um tiro acertá-la. META Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA Conteudista: André Luiz Brazil Aula 9: TRATANDO COLISÕES DE OBJETOS NO JOGO Fazer desaparecer da tela do jogo a espaçonave inimiga quando um tiro

Leia mais

Aula 02 Introdução ao desenvolvimento de Jogos em XNA Parte 1

Aula 02 Introdução ao desenvolvimento de Jogos em XNA Parte 1 Aula 02 Introdução ao desenvolvimento de Jogos em XNA Parte 1 1 Conhecendo o game loop em XNA A IDE Visual Studio é considerada o repositório onde devemos carregar e instalar a biblioteca de desenvolvimento

Leia mais

//Um contador para o número do pedido private int contador = 1; public jrealizarvenda() { InitializeComponent(); }

//Um contador para o número do pedido private int contador = 1; public jrealizarvenda() { InitializeComponent(); } using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using

Leia mais

Carregando tela inicial antes do jogo começar

Carregando tela inicial antes do jogo começar Carregando tela inicial antes do jogo começar Para fazer isso de forma simples: 1) Você pode criar três novos atributos no jogo: jogo_iniciou - um atributo verdadeiro/falso para controlar se o jogo já

Leia mais

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Atirar com a espaçonave e movimentar o cenário de fundo do jogo.

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Atirar com a espaçonave e movimentar o cenário de fundo do jogo. META Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA Conteudista: André Luiz Brazil Aula 7: ACRESCENTANDO TIROS E UM CENÁRIO ESPACIAL AO SEU JOGO Atirar com a espaçonave e movimentar o cenário de

Leia mais

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Incorporar uma trilha sonora e um som de tiro ao jogo espacial.

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Incorporar uma trilha sonora e um som de tiro ao jogo espacial. META Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA Conteudista: André Luiz Brazil Aula 8: ACRESCENTANDO SONS AO SEU JOGO Incorporar uma trilha sonora e um som de tiro ao jogo espacial. OBJETIVOS

Leia mais

Orientação a Objetos - Programação em C++

Orientação a Objetos - Programação em C++ OO- Engenharia Eletrônica Orientação a Objetos - Programação em C++ Slides 17: Programação Visual ou Orientada a Objetos Gráficos (Formulários, Botões, Caixas de Texto etc) Exemplificado em Microsoft Visual

Leia mais

// Namespaces para trabalhar com arquivos using Microsoft.Win32; using System.IO; namespace Aula1 { public partial class Arquivo : Window {

// Namespaces para trabalhar com arquivos using Microsoft.Win32; using System.IO; namespace Aula1 { public partial class Arquivo : Window { using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using

Leia mais

XNA. Introdução ao XNA

XNA. Introdução ao XNA XNA Introdução ao XNA Introdução XNA Game Studio 3.1 (http://creators.xna.com/) Visual Studio 2008 Introdução File New Project Introdução Solution Explorer Introdução Estrutura geral de um jogo Existência

Leia mais

Criação de uma aplicação Web ASP.NET MVC 4

Criação de uma aplicação Web ASP.NET MVC 4 Criação de uma aplicação Web ASP.NET MVC 4 usando Code First, com Roles (VS2012) Baseado no artigo de Scott Allen Roles in ASP.NET MVC4 : http://odetocode.com/blogs/scott/archive/2012/08/31/seeding membership

Leia mais

PRDS C#.Net Alexandre L. Silva

PRDS C#.Net Alexandre L. Silva PRDS 2011.1 C#.Net Alexandre L. Silva alexandre.silva@les.inf.puc-rio.br Programa 1. Introdução ao.net 2. Introdução ao ASP.Net 3. Introdução ao C#.Net 4. Primeiro programa 5. Métodos e Variáveis 6. Estruturas

Leia mais

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Exibir e movimentar a espaçonave do jogador na tela do jogo.

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Exibir e movimentar a espaçonave do jogador na tela do jogo. META Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA Conteudista: André Luiz Brazil Aula 6: EXIBINDO E MOVIMENTANDO A SUA ESPAÇONAVE Exibir e movimentar a espaçonave do jogador na tela do jogo. OBJETIVOS

Leia mais

Apresentação. Alexandre Tolstenko Nogueira. alexandre@tolstenko.net http://tolstenko.net

Apresentação. Alexandre Tolstenko Nogueira. alexandre@tolstenko.net http://tolstenko.net Apresentação Alexandre Tolstenko Nogueira alexandre@tolstenko.net http://tolstenko.net Teoria Prática Teoria XNA Pong Carregar e desenhar imagens na tela Estrutura e organização básica Colisões Componentes

Leia mais

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO Prof. Msc. Carlos José Giudice dos Santos carlos@oficinadapesquisa.com.br www.oficinadapesquisa.com.br Linguagens de Programação Material

Leia mais

Desenvolvendo jogos com MonoGame*

Desenvolvendo jogos com MonoGame* Desenvolvendo jogos com MonoGame* Por Bruno Sonnino Muitos desenvolvedores querem desenvolver jogos. E porque não? Jogos estão entre os mais vendidos na história da computação e as fortunas envolvidas

Leia mais

INF1339 Computação Gráfica Tridimensional. Waldemar Celes. 2 de Agosto de 2010

INF1339 Computação Gráfica Tridimensional. Waldemar Celes. 2 de Agosto de 2010 Sistemas Gráficos INF1339 Computação Gráfica Tridimensional Waldemar Celes celes@inf.puc-rio.br sala 505 RDC Tecgraf, DI/PUC-Rio 2 de Agosto de 2010 W. Celes Sistemas Gráficos 1 Visualização 3D Objetivo

Leia mais

Errors and exceptions

Errors and exceptions Errors and exceptions Bruce Eckel, Thinking in Java, 4th edition, PrenticeHall, New Jersey, cf. http://mindview.net/books/tij4 14-1 Overview Introdução Testes e Testes unitários Noção de Exceção A hierarquia

Leia mais

INSTRUÇÕES PARA AUTORES DO II ENCIF RESUMO EXPANDIDO

INSTRUÇÕES PARA AUTORES DO II ENCIF RESUMO EXPANDIDO INSTRUÇÕES PARA AUTORES DO II ENCIF RESUMO EXPANDIDO SCHMACHTENBERG, R. F.¹, BAGGIO, M. A.², SILVA, F. L.³ ¹ Aluna do curso Técnico em Informática Instituto Federal Sul-Rio-Grandense Câmpus Venâncio Aires

Leia mais

O XNA é uma nova plataforma de desenvolvimento de jogos baseada em.net 2.0+

O XNA é uma nova plataforma de desenvolvimento de jogos baseada em.net 2.0+ Framework 3.1. OXO Tennis for two O XNA é uma nova plataforma de desenvolvimento de jogos baseada em.net 2.0+ Restrições Soluções Usabilidade Fácil de obter Multi- plataforma.net Framework XNA Game Studio

Leia mais

JOGOS ELETRÔNICOS UTILIZANDO BLENDER E XNA

JOGOS ELETRÔNICOS UTILIZANDO BLENDER E XNA UNIVERSIDADE DO PLANALTO CATARINENSE DEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE SISTEMAS DE INFORMAÇÃO (BACHARELADO) SAMUEL ANTONIO DAMBRÔSO JOGOS ELETRÔNICOS UTILIZANDO BLENDER E XNA LAGES

Leia mais

Centralizar uma janela com uma janela Proprietário WPF

Centralizar uma janela com uma janela Proprietário WPF Centralizar uma janela com uma janela Proprietário WPF Para centralizar uma janela sobre outra janela em WPF, você precisa fazer duas coisas. Primeiro, você precisa definir a propriedade WindowStartupLocation

Leia mais

MJ3I- PA - AMBIENTE VIRTUAL 3D PARA VISUALIZAÇÃO DE BRAÇOS ARTICULADOS NO IOS

MJ3I- PA - AMBIENTE VIRTUAL 3D PARA VISUALIZAÇÃO DE BRAÇOS ARTICULADOS NO IOS MJ3I- PA - AMBIENTE VIRTUAL 3D PARA VISUALIZAÇÃO DE BRAÇOS ARTICULADOS NO IOS Heitor Augusto Schmitt Prof. Dalton S. dos Reis FURB - Universidade Regional de Blumenau DSC - Departamento de Sistemas e Computação

Leia mais

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis Programação para Dispositivos Móveis Professor Ariel da Silva Dias Desenvolvendo para Android Por que estudar programação para dispositivos móveis? Linha histórica da indústria durante os séculos Feudalismo

Leia mais

PROGRAMAÇÃO EM JOGOS DIGITAIS

PROGRAMAÇÃO EM JOGOS DIGITAIS PROGRAMAÇÃO EM JOGOS DIGITAIS Frutuoso Silva Aplicações gráficas / Jogos Como funciona uma aplicação gráfica? O que é um jogo? Como funciona um jogo? 1 Aplicação gráfica! É um programa que apresenta gráficos

Leia mais

UAWall. #entrega_01 - estado de arte

UAWall. #entrega_01 - estado de arte UAWall #entrega_01 - estado de arte O projeto UAW! sugere a utilização de uma tecnologia que tende a tornar-se cada vez mais presente e que se encontra em desenvolvimento, nomeadamente o uso da Kinect

Leia mais

Criar uma solução com um link Serviços RIA entre os projetos

Criar uma solução com um link Serviços RIA entre os projetos Criar uma solução com um link Serviços RIA entre os projetos Para configurar uma solução de Serviços de RIA 1. Criar um novo projecto RIA Services no Visual Studio 2010, selecionando Arquivo, Novo e, em

Leia mais

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis Programação para Dispositivos Móveis Professor Ariel da Silva Dias Apresentação Android e IDEs Por que estudar programação para dispositivos móveis? Linha histórica da indústria durante os séculos Feudalismo

Leia mais

IF Sudeste MG Notícias IF Sudeste MG News

IF Sudeste MG Notícias IF Sudeste MG News IF Sudeste MG Notícias IF Sudeste MG News Gustavo Ciampi Costa Faulhaber 1, Felipe Barra Knop 2 e Sandro Roberto Fernandes 3 Resumo: O uso de dispositivos móveis está consolidado em nosso cotidiano. A

Leia mais

1.5 PROGRAMAÇÃO DE JOGOS EM AMBIENTE DE REA LIDADE AUMENTADA AMBIENTES INTEGRADOS DE DESENVOLVIMENTO DE JOGOS 19

1.5 PROGRAMAÇÃO DE JOGOS EM AMBIENTE DE REA LIDADE AUMENTADA AMBIENTES INTEGRADOS DE DESENVOLVIMENTO DE JOGOS 19 ÍNDICE GERAL SOBRE O LIVRO XI 1 INTRODUÇÃO 1 1.1 GERAÇÃO DIGITAL NATIVE 2 1.2 ALGORITMIA E PROGRAMAÇÃO DE COMPUTADORES 2 1.3 COMPUTAÇÃO EM NUVEM 4 1.4 PROGRAMAÇÃO DE DISPOSITIVOS MÓVEIS 6 1.5 PROGRAMAÇÃO

Leia mais

Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C#

Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C# Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina POO -2017 Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C# http://www1.univap.br/~wagner Prof.

Leia mais

Introdução ao Desenvolvimento para Dispositivos Móveis

Introdução ao Desenvolvimento para Dispositivos Móveis PARTE II Introdução ao Desenvolvimento para Dispositivos Móveis Victor Adriel de Jesus Oliveira INF - UFRGS Summary PARTE I Introdução a Plataformas Móveis Padrões para o Desenvolvimento de Aplicativos

Leia mais

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Fazer explodir a espaçonave inimiga quando um tiro acertá-la.

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Fazer explodir a espaçonave inimiga quando um tiro acertá-la. META Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA Conteudista: André Luiz Brazil Aula 10: PRODUZINDO EFEITOS DURADOUROS (EXPLOSÕES) NO JOGO Fazer explodir a espaçonave inimiga quando um tiro acertá-la.

Leia mais

Programming in C# Conteúdo Programático. Área de formação Plataforma e Tecnologias de Informação

Programming in C# Conteúdo Programático. Área de formação Plataforma e Tecnologias de Informação Destinatários Programadores experientes com algum conhecimento de C, C++, JavaScript, Objective-C, Microsoft Visual Basic, ou Java e conheçam os conceitos de programação orientada por objetos. Nº mínimo

Leia mais

PADI 2015/16. Aula 1 Introdução à Plataforma.NET

PADI 2015/16. Aula 1 Introdução à Plataforma.NET PADI 2015/16 Aula 1 Introdução à Plataforma.NET 1 Sumário 1. Framework.NET Arquitectura 2. Linguagem C# 2.0 Sintaxe C# vs. Java vs. C++ 3. IDE: MS Visual Studio 2005 ou superior Ferramentas Console/Win

Leia mais

Ambientes Virtuais de Execução

Ambientes Virtuais de Execução Ambientes Virtuais de Execução Semestre Inverno 2012/13 Trabalho Final 1 Objectivos Este trabalho tem como objectivo a consolidação de conhecimentos dos mecanismos e construções do sistema de tipos do.net

Leia mais

Manual de Instalação DVD MAKER USB2.0

Manual de Instalação DVD MAKER USB2.0 Manual de Instalação DVD MAKER USB2.0 Conteúdo V1.0 Capítulo 1 : Instalação de Hardware DVD MAKER USB2.0...2 1.1 Conteúdos do Pacote...2 1.2 Requisitos do Sistema...2 1.3 Instalação do Hardware...2 Capítulo

Leia mais

Aluno: Tiago Andrade Togores Orientador: Professor Flávio Soares Côrrea da Silva

Aluno: Tiago Andrade Togores Orientador: Professor Flávio Soares Côrrea da Silva Aluno: Tiago Andrade Togores Orientador: Professor Flávio Soares Côrrea da Silva Interação humano-computador Interação humano-computador Interfaces naturais Interação humano-computador Interfaces naturais

Leia mais

Consulta de endereço através do Cep

Consulta de endereço através do Cep --------------------------------------------------------------------------------------------- Por: Giancarlo Fim giancarlo.fim@gmail.com Acesse: http://giancarlofim.wordpress.com/ ---------------------------------------------------------------------------------------------

Leia mais

Técnicas Modernas em Compiladores

Técnicas Modernas em Compiladores Técnicas Modernas em Compiladores e como esse conhecimento pode transformar você em um programador melhor. Elemar Júnior @elemarjr falecom@elemarjr.com elemarjr@ravendb.net elemarjr.com Olá, eu sou Elemar

Leia mais

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 4 PROF. EMILIO PARMEGIANI

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 4 PROF. EMILIO PARMEGIANI DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 4 PROF. EMILIO PARMEGIANI WEB USER CONTROLS Neste exercício trabalharemos com a criação de controles ASP.NET personalizados. Através do uso de Web

Leia mais

AVALIAÇÃO DA PRECISÃO DO SENSOR KINECT PARA MEDIDAS DE DISTÂNCIA

AVALIAÇÃO DA PRECISÃO DO SENSOR KINECT PARA MEDIDAS DE DISTÂNCIA AVALIAÇÃO DA PRECISÃO DO SENSOR KINECT PARA MEDIDAS DE DISTÂNCIA Paulo R. S. Custódio 1, Gustavo C. Silva 2, Helosman V. Figueiredo 3 1,3 Universidade do Vale do Paraíba, paulo55866@gmail.com 2 PROBES

Leia mais

Processamento Digital de Imagens

Processamento Digital de Imagens 1 Ciência da Computação Processamento Digital de Imagens Prof. Sergio Ribeiro Tópicos Introdução Espectro Eletromagnético Aquisição e de Imagens Sensoriamento Remoto 2 Introdução Espectro Eletromagnético

Leia mais

Processamento Digital de Imagens

Processamento Digital de Imagens Ciência da Computação Processamento Digital de Imagens Prof. Sergio Ribeiro Tópicos Introdução Espectro Eletromagnético Aquisição e Digitalização de Imagens Efeitos da Digitalização Digitalização Sensoriamento

Leia mais

Associação 1:1. Baseado no Diagrama de Classe a seguir, iremos criar as classes de Modelagem que compõem a Associação de Piloto com Carro.

Associação 1:1. Baseado no Diagrama de Classe a seguir, iremos criar as classes de Modelagem que compõem a Associação de Piloto com Carro. Associação 1:1 Abrir o Visual Studio Abrir o projeto WebHeranca Baseado no Diagrama de Classe a seguir, iremos criar as classes de Modelagem que compõem a Associação de Piloto com Carro. Para isso, será

Leia mais

Módulo. de captura, filtragem e redirecionamento de mensagens DirectX. Giovani Chaves Orientador: Mauro Marcelo Mattos

Módulo. de captura, filtragem e redirecionamento de mensagens DirectX. Giovani Chaves Orientador: Mauro Marcelo Mattos Módulo de captura, filtragem e redirecionamento de mensagens Giovani Chaves Orientador: Mauro Marcelo Mattos Sumário Módulo de captura, filtragem e redirecionamento de mensagens Módulo de captura, filtragem

Leia mais

PEF 5743 Computação Gráfica Aplicada à Engenharia de Estruturas

PEF 5743 Computação Gráfica Aplicada à Engenharia de Estruturas PEF 5743 Computação Gráfica Aplicada à Engenharia de Estruturas Prof. Dr. Rodrigo Provasi e-mail: provasi@usp.br Sala 09 LEM Prédio de Engenharia Civil Bibliotecas Gráficas Existem diversas ferramentas

Leia mais

Brilliant Solutions for a Safe World

Brilliant Solutions for a Safe World Componente Biométrico - Voz Componentes do lado do servidor (multi-plataforma): Licenças do Matching Server Licenças do Fast Voice Extractor Licenças do Voice Matcher Componentes do cliente para Windows,

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 9 Threads Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Threads Uma thread

Leia mais

Added by Fabiano Ramos dos Santos, last edited by Fabiano Ramos dos Santos on Out 18, 2010 (view change) SHOW COMMENT Labels incubado, componente

Added by Fabiano Ramos dos Santos, last edited by Fabiano Ramos dos Santos on Out 18, 2010 (view change) SHOW COMMENT Labels incubado, componente Dashboard > SDK - Software Development Kit - v.1.0 > > Projetos > Tools > Tools Library > Metadados > Visão Geral > Componentes > Narrativa - Comentários Relacionados Log In Home Específicos Flex Getting

Leia mais

Software Testing with Visual Studio 2013 (20497)

Software Testing with Visual Studio 2013 (20497) Software Testing with Visual Studio 2013 (20497) Formato do curso: Presencial Preço: 800 Nível: Intermédio Duração: 12 horas Este curso, mostra a Programadores e Testers como utilizar as ferramentas do

Leia mais

Histórico de Revisões

Histórico de Revisões 1 Histórico de Revisões Data Versão Responsável Histórico 22/11/2016 1.0 Robson M. Matos Elaboração da documentação técnica 21/06/2018 1.1 Robson M. Matos Inclusão do método consulta, removido método pesquisa.

Leia mais

XNA Game Studio Express. Desenho em 2D. Aula 2. Alexandre Santos Lobão contato@alexandrelobao. Pós s em Desenvolvimento de Jogos Eletrônicos - IESB

XNA Game Studio Express. Desenho em 2D. Aula 2. Alexandre Santos Lobão contato@alexandrelobao. Pós s em Desenvolvimento de Jogos Eletrônicos - IESB XNA Game Studio Express Aula 2 Desenho em 2D Alexandre Santos Lobão contato@alexandrelobao AlexandreLobao.com Pós s em Desenvolvimento de Jogos Eletrônicos - IESB Agenda: Aula 2 Revisão Arquitetura de

Leia mais

RECONHECIMENTO FACIAL 2D

RECONHECIMENTO FACIAL 2D RECONHECIMENTO FACIAL 2D PARA SISTEMAS DE AUTENTICAÇÃO EM DISPOSITIVOS MÓVEIS Luciano Pamplona Sobrinho Orientador: Paulo César Rodacki Gomes ROTEIRO Introdução Objetivos Fundamentação Teórica Conceitos

Leia mais

ELETRÔNICA DIGITAL I

ELETRÔNICA DIGITAL I ELETRÔNICA DIGITAL I DE10-LITE Programação Utilizando VHDL Professor Dr. Michael Klug 1 Comparativo Linguagens Linguagem de Programação x HDL Supondo que cada instrução leve 20ns entre 40 e 60ns para conclusão

Leia mais

UAWall. #entrega_02 - viabilidade técnica

UAWall. #entrega_02 - viabilidade técnica UAWall #entrega_02 - viabilidade técnica UAWALL ENTREGA 2 - VIABILIDADE TÉCNICA PAG 2 1. Software necessário Para a criação de imagem vectorial e tratamento de fotografia, a opção recai sobre o Adobe Illustrator

Leia mais

0-9 A B C D F G H I J K M N O P R S T V W 0-9

0-9 A B C D F G H I J K M N O P R S T V W 0-9 Abaixo estão relacionados os softwares instalados nos computadores dos laboratórios utilizando o sistema operacional Windows XP. Se desejar solicitar a atualização ou a instalação de algum software, por

Leia mais

Trabalho 2 - Sistemas Operacionais Embarcados

Trabalho 2 - Sistemas Operacionais Embarcados Sistemas Operacionais Embarcados Trabalho 2 - Sistemas Operacionais Embarcados Carlos Marcelo Pedroso Universidade Federal do Paraná, Departamento de Engenharia Elétrica E-mail: pedroso@eletrica.ufpr.br

Leia mais

Disciplina: Sistemas Operacionais

Disciplina: Sistemas Operacionais Curso: Análise e Desenvolvimento de Sistemas Disciplina: Sistemas Operacionais Parte 1: Introdução aos Conceitos de Sistemas Operacionais Prof. Wagner Santos C. de Jesus wsantoscj@gmail.com Conceito Fundamental

Leia mais

Desenvolvimento de um Escalonador de Cenas para motores de jogos

Desenvolvimento de um Escalonador de Cenas para motores de jogos Desenvolvimento de um Escalonador de Cenas para motores de jogos Lucas Pinheiro Otaviano Andre 1 1 Instituto Metrópole Digital Universidade Federal do Rio Grande do Norte (UFRN) lpoandre@inf.ufrgs.br Abstract.

Leia mais

RV PlanoVision Viewer

RV PlanoVision Viewer RV PlanoVision Viewer Visualizador de Realidade Virtual com Estereoscopia Horizontal e Rastreamento de Cabeça Djalma Lúcio Soares da Silva Sumário I.Introdução... 3 II.Relatório... 4 1.Objetivo... 4 2.Arquitetura...

Leia mais

Definição de Mídia. Em inglês: media Plural da palavra medium em Latim. Significa meio, centro Meio de distribuir e representar a informação

Definição de Mídia. Em inglês: media Plural da palavra medium em Latim. Significa meio, centro Meio de distribuir e representar a informação Definição de Mídia Em inglês: media Plural da palavra medium em Latim Significa meio, centro Meio de distribuir e representar a informação Tipos de Mídia Mídia de Percepção Como os humanos percebem a informação

Leia mais

Fundament n os s da platafo f rm r a. NE N T André Menegassi

Fundament n os s da platafo f rm r a. NE N T André Menegassi Fundamentos da plataforma.net André Menegassi O que é o.net Framework?.NET é uma plataforma de software para desenvolvimento de aplicações que conecta informações, sistemas, pessoas e dispositivos através

Leia mais

Integração por Web Services

Integração por Web Services Integração por Web Services Versão 1.1 Maio 2010 Índice Índice... 2 Introdução... 3 Arquitectura PRIMAVERA... 4 User Interface... 4 Motor... 4 Interface para o Administrador... 5 Motores PRIMAVERA em Web

Leia mais

Bruno Pereira Evangelista. Pontifícia Universidade Católica de Minas Gerais

Bruno Pereira Evangelista. Pontifícia Universidade Católica de Minas Gerais Bruno Pereira Evangelista Pontifícia Universidade Católica de Minas Gerais 2/60 Apresentação Introdução Pipeline de renderização Efeitos utilizando GPUs Shaders Como utilizar shaders Ferramentas Demos

Leia mais

Introdução à linguagem C++

Introdução à linguagem C++ Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 2: Introdução à linguagem C++ Introdução à linguagem C++ Conceitos básicos: variáveis, tipos de dados, constantes, I/O, etc. Estruturas

Leia mais

Casamento de Padrões

Casamento de Padrões Universidade Estadual de Campinas Instituto de Computação Processamento e Análise de Imagens (MC940) Análise de Imagens (MO445) Casamento de Padrões Aluno: Alexandre Tolstenko Nogueira 072737 1. Introdução

Leia mais

Câmera Estereoscópica para o Game Engine XNA

Câmera Estereoscópica para o Game Engine XNA Câmera Estereoscópica para o Game Engine XNA Guilherme Borges Machado de Campos, Tiago Ungaro Bardella, Luciano Silva Laboratório de Processamento Gráfico e Mídias Digitais Faculdade de Computação e Informática

Leia mais

Como Mudar a Senha do Roteador Pelo IP o.1.1. Configure e Altere a Senha do seu Roteador acessando o IP Acesse o Site e Confira!

Como Mudar a Senha do Roteador Pelo IP o.1.1. Configure e Altere a Senha do seu Roteador acessando o IP Acesse o Site e Confira! Como Mudar a Senha do Roteador Pelo IP 192.168.o.1.1. Configure e Altere a Senha do seu Roteador acessando o IP 192.168.1.1. Acesse o Site e Confira! If you are using the IP address 192.168.0.1.1, take

Leia mais

DRIVER LYNX-IO ACESSO A I/O NO WINDOWS NT 4.0

DRIVER LYNX-IO ACESSO A I/O NO WINDOWS NT 4.0 Código do Documento: S139U01 Revisão: 0 DRIVER LYNX-IO ACESSO A I/O NO WINDOWS NT 4.0 1. INTRODUÇÃO No Windows NT, o acesso ao I/O do microcomputador pelo programa aplicativo é bloqueado pelo sistema operacional.

Leia mais

IMPLEMENTAÇÃO DE SOFTWARE DE LEITURA GESTUAL PARA O APRENDIZADO DE LIBRAS

IMPLEMENTAÇÃO DE SOFTWARE DE LEITURA GESTUAL PARA O APRENDIZADO DE LIBRAS IMPLEMENTAÇÃO DE SOFTWARE DE LEITURA GESTUAL PARA O APRENDIZADO DE LIBRAS Lori R. F. Machado Filho, Gerson Battisti, Edson L. Padoin Professor Dr. Edson L. Padoin do curso de Ciência da Computação da Universidade

Leia mais

Por Sergio Genilson Pfleger PLATAFORMA ROBÓTICA GENÉRICA BASEADA EM ARDUINO.

Por Sergio Genilson Pfleger PLATAFORMA ROBÓTICA GENÉRICA BASEADA EM ARDUINO. Por Sergio Genilson Pfleger PLATAFORMA ROBÓTICA GENÉRICA BASEADA EM ARDUINO. PROBLEMÁTICA: Plataforma Robótica que satisfaça requisitos desejados Problema Asimo - Honda SOLUÇÕES Utilizar o que está disponível

Leia mais

MAC Trabalho de formatura Supervisionado. Avaliação de Duas Monograas Passadas

MAC Trabalho de formatura Supervisionado. Avaliação de Duas Monograas Passadas Instituto de Matemática e Estatística Universidade de São Paulo MAC0499 - Trabalho de formatura Supervisionado Professor Carlos Eduardo Ferreira Avaliação de Duas Monograas Passadas Thiago Tatsuo Nagaoka,

Leia mais

ROBOTOY: ferramenta para ensino de programação para crianças usando robôs Arduino. Aluna: Juliana Carolina Batista Orientadora: Joyce Martins

ROBOTOY: ferramenta para ensino de programação para crianças usando robôs Arduino. Aluna: Juliana Carolina Batista Orientadora: Joyce Martins ROBOTOY: ferramenta para ensino de programação para crianças usando robôs Arduino Aluna: Juliana Carolina Batista Orientadora: Joyce Martins Roteiro Introdução Objetivo Geral Objetivos Específicos Fundamentação

Leia mais

Protótipo de um visualizador de modelos 3D para dispositivos móveis utilizando a plataforma.net CF 2.0

Protótipo de um visualizador de modelos 3D para dispositivos móveis utilizando a plataforma.net CF 2.0 Protótipo de um visualizador de modelos 3D para dispositivos móveis utilizando a plataforma.net CF 2.0 Marcos Dell Antonio de Souza Orientador Prof. Dr. Paulo César Rodacki Gomes Sumário Introdução Objetivos

Leia mais

Arquitetura de Jogos Gustavo Goedert. p

Arquitetura de Jogos Gustavo Goedert.  p Arquitetura de Jogos Gustavo Goedert http://www.gustavogoedert.com/lectures/facin0810.zi p Sobre o Apresentador Empresas Southlogic Studios (1999-2008) Ubisoft Porto Alegre (2009-2010) Atualmente pesquisador

Leia mais

Compilação dos trabalhos: questões de concurso

Compilação dos trabalhos: questões de concurso 1 Compilação dos trabalhos: questões de concurso UFBA/DCC/Linguagens para Aplicação Comercial/2009.1 MPU/2007 (Equipe 1) 1 Quanto às variáveis Java, um inteiro de 64 bits em notação de complemento de dois

Leia mais

Realidade Aumentada aplicada ao ensino da simetria molecular

Realidade Aumentada aplicada ao ensino da simetria molecular Realidade Aumentada aplicada ao ensino da simetria molecular Matheus Gaspar Reis 1, Alan Salvany Felinto 1 1 Departamento de Computação Universidade Estadual de Londrina (UEL) Caixa Postal 10.011 86057-680

Leia mais

Selecione o WPF Application dentro de Templates > Visual C# > Windows

Selecione o WPF Application dentro de Templates > Visual C# > Windows Atividade adicional 2 Criação de formulários e controles gráficos Abra o Visual Studio e acesse o menu File > New > Project Selecione o WPF Application dentro de Templates > Visual C# > Windows Quando

Leia mais

CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA ENTREGA 22/05/2017 (valor 0.2: 0.1 Organização e 0.1 solução) Material para prova P2

CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA ENTREGA 22/05/2017 (valor 0.2: 0.1 Organização e 0.1 solução) Material para prova P2 1. Explique decodificação de entrada e saída 2. Cite 10 endereços de dispositivo "on-board" do PC CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA ENTREGA 22/05/2017 (valor 0.2: 0.1 Organização e 0.1 solução)

Leia mais

AULA 1 INTRODUÇÃO AO JAVA

AULA 1 INTRODUÇÃO AO JAVA AULA 1 INTRODUÇÃO AO JAVA Ao término dessa aula você terá aprendido: História e características do Java Ambientes e plataformas Java O Java é a base para praticamente todos os tipos de aplicações em rede

Leia mais

Carlos Eduardo Batista. Centro de Informática - UFPB

Carlos Eduardo Batista. Centro de Informática - UFPB Linguagem de Programação I Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação para o uso de C++ para o aprendizado de POO Quando usar C e quando usar C++ C++ versus Java Ambientes

Leia mais

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET. quarta-feira, 17 de outubro de 12

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET. quarta-feira, 17 de outubro de 12 DESENVOLVIMENTO DE SOFTWARE PARA INTERNET 1 WEB USER CONTROLS 2 Tipos de Web Controls: WEB USER CONTROLS HTML CONTROLS HTML SERVER CONTROLS WEB SERVER CONTROLS VALIDATION CONTROLS USER CONTROLS 3 Tipos

Leia mais

Desenvolvimento de Software I

Desenvolvimento de Software I Desenvolvimento de Software I Prof. Arnaldo Martins Hidalgo Junior arnaldo@flash.tv.br http://aulashidalgo.wordpress.com 5 h/a (2 aulas semanais) http://aulashidalgo.wordpress.com 1 Competências Avaliar

Leia mais

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java.

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java. P. Fazendeiro & P. Prata POO FP0/1 ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java. 0 Iniciar o ambiente de desenvolvimento integrado

Leia mais

Integração de software heterogêneo: Desenvolvimento de um framework para integração de XNA com ARToolkit

Integração de software heterogêneo: Desenvolvimento de um framework para integração de XNA com ARToolkit Integração de software heterogêneo: Desenvolvimento de um framework para integração de XNA com ARToolkit Dennis José da Silva Faculdade de Computação e Informática Universidade Presbiteriana Mackenzie

Leia mais

Sistemas Operacionais. Visão Geral

Sistemas Operacionais. Visão Geral Sistemas Operacionais Visão Geral Sumário 1. Máquina de Camadas 2. Funções Básicas do SO 3. Conceitos Introdutórios 1. Hardware 2. Software 3. Operações de E/S 4. Histórico 1. Década de 40 2. Década de

Leia mais

TÍTULO: ESTUDO DO USO DO KINECT PARA INTERPRETAÇÃO DE GESTOS VISANDO LIBRAS

TÍTULO: ESTUDO DO USO DO KINECT PARA INTERPRETAÇÃO DE GESTOS VISANDO LIBRAS Anais do Conic-Semesp. Volume 1, 2013 - Faculdade Anhanguera de Campinas - Unidade 3. ISSN 2357-8904 TÍTULO: ESTUDO DO USO DO KINECT PARA INTERPRETAÇÃO DE GESTOS VISANDO LIBRAS CATEGORIA: CONCLUÍDO ÁREA:

Leia mais

Mestrado em Engenharia Eletrotécnica e de Computadores

Mestrado em Engenharia Eletrotécnica e de Computadores Mestrado em Engenharia Eletrotécnica e de Computadores Interligação e Gestão de Redes Virtual LANs Nome: Número: 0. Objectivos Adquirir conhecimentos para conceber e gerir uma rede de computadores baseada

Leia mais

Notas sobre Aplicação MVC Contoso University: Parte 4. Uso de Atributos para controlar Formatação, Validação e Mapeamento na Base de Dados

Notas sobre Aplicação MVC Contoso University: Parte 4. Uso de Atributos para controlar Formatação, Validação e Mapeamento na Base de Dados Notas sobre Aplicação MVC Contoso University: Parte 4 Parte 4. Uso de Atributos para controlar Formatação, Validação e Mapeamento na Base de Dados Atributos: DisplayFormat (DataFormatString) MaxLength

Leia mais

Métodos de Sincronização

Métodos de Sincronização Métodos de Sincronização Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2017 1 / 31 Sumário 1 Sistemas multiprogramáveis 2 Mecanismos de sincronização

Leia mais

Módulo 3. Depuração de Programas

Módulo 3. Depuração de Programas Módulo 3 Depuração de Programas 1. Introdução Pretende-se com esta sessão teórico-prática que os alunos acompanhem a execução de um programa instrução a instrução, visualizando as alterações ao estado

Leia mais

1 Introdução. I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho

1 Introdução. I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho 1 Introdução I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho Os hardwares gráficos atualmente podem ser considerados como verdadeiros processadores

Leia mais

Network Address Translation - NAT. 2 Mecanismo de Operação. Pedroso. 4 de março de 2009

Network Address Translation - NAT. 2 Mecanismo de Operação. Pedroso. 4 de março de 2009 Network Address Translation - NAT Pedroso 4 de março de 2009 1 Introdução A falta de endereços IP versão 4 válidos para Internet está fazendo com que sejam propostas soluções alternativas para interconexão

Leia mais

Filipe José Neto Caetano

Filipe José Neto Caetano Escola Superior de Tecnologia e Gestão Instituto Politecnico da Guarda Tese de Mestrado Sistema de apoio à condução de uma cadeira de rodas elétrica Filipe José Neto Caetano Dezembro de 2011 Sistema de

Leia mais