VRML Virtual Reality Modeling Language
|
|
|
- Maria do Mar Marroquim Bernardes
- 8 Há anos
- Visualizações:
Transcrição
1 Roteiro VRML Virtual Reality Modeling Language PRIMITIVAS AVANÇADAS II Baseada na apresentação de: Márcio Bueno, Paulo Gonçalves de Barros, Dênio Mariz Judith Kelner, Alejandro Frery 1. O que é VRML 2. Histórico 3. Objetivos da VRML 4. VRML, Internet e WWW 5. Visão geral do VRML 6. Estrutura do Arquivo VRML 7. Conceitos-chave 8. Semântica dos Nós 9. Primitivas Básicas 10.Primitivas Avançadas 2 **Atualizar data de apresentação e nome do apresentador! Aí está o roteiro da apresentação. Como na aula passada, continuaremos de ver primitivas avançadas. A aula provavelmente será mais curta que o normal, deixando bastante tempo para vocês adiantarem as listas atrasadas e fazer a lista número
2 Primitivas Básicas e Avançadas Luzes Group Transform Viewpoint Anchor Inline Proto Extern Proto WorldInfo Background Panorama Fog IndexedFaceSet IndexedLineSet PointSet Extrusion Elevation Grid Billboard DirectionalLight PointLight SpotLight Sound AudioClip NavigationInfo TimeSensor VisibilitySensor ProximitySensor Collision TouchSensor SphereSensor CylinderSensor PlaneSensor 3 Headlight off! Preferences Navigation - Headlight on X Processamento de iluminação para polígono Média da iluminação em cada vértice Campos básicos Color Intensity AmbientIntensity Tipos de luz DirectionalLight: raios de luz numa mesma direção PointLight: lâmpada comum 4 SpotLight: cone de luz Bem aqui está o assunto da aula mais detalhadamente. Já vimos todos os tópicos em cinza. O que veremos serão apenas os dois tópicos em verde. São eles as primitivas avançadas: DirectionalLight; PointLight; SpotLight; Sound; AudioClip; NavigationInfo; TimeSensor; VisibilitySensor; ProximitySensor; Collision; TouchSensor; SphereSensor; CylinderSensor; PlaneSensor. O nós de luz tem a proposta bastante óbvia de iluminar o seu ambiente. Até agora, o nosso mundo era iluminado com a luz padrão do plug-in do navegador: a headlight. A partir de agora, nós iremos desativá-la e iluminar à nossa própria maneira. O processamento da luz em cada polígono se dá através do cálculo da média da iluminação em cada um de seus vértices. Isso gera um problema, pois não é possível ter polígonos grandes com partes diferentemente iluminadas (a menos que se manipule as normais desses vértices, o que será visto mais adiante). Os campos básicos das luzes são: Color: define a cor da luz emitida Intensity: intensidade dos raios de luz AmbientIntensity: percentual de contribuição dessa luz à luz ambiente (luz ambiente = luzes de outros objetos refletidas em si) Três são os tipos de luz: DirectionalLight: raios de luz numa mesma direção, equivalente ao sol; PointLight: uma fonte pontual de luz, equivalente a uma lâmpada comum; SpotLight: cone de luz, equivalente a um abajur de leitura. 3 4
3 Luzes - DirectionalLight DirectionalLight { ambientintensity 0 color direction intensity 1 on TRUE Luzes - DirectionalLight Iluminação hierárquica Ilumina todos abaixo de seu pai na hierarquia Raiz Group Raios de luz paralelos luz do sol 5 Copyright Vapour Technology Ltd. 6 As luz direcional, como já foi dita, é como a luz do sol, com sues raios paralelos e numa mesma direção. Os campos do nó DirectinalLight são: ambientintensity: percentual de contribuição da luz à iluminação ambiente; Color: cor da luz; Direction: vetor indicando a direção a qual a luz é emitida para a origem (o valor padrão é 0 0-1, indicando que a luz brilha no sentido de z positivo para a origem continuando pro z negativo); Intensity: intensidade da luz emitida; On: interruptor da luz, indicando se está acesa ou não. O directionallight ilumina os objetos hierarquicamente. Todos os nós que estão abaixo de seu pai são iluminados. Nesse exemplo, um dos cubos é iluminado apenas pelas luz amarela enquanto o outro é iluminado tanto pela amarela quanto pela vermelha. 5 6
4 Luzes - DirectionalLight Luzes - PointLight NavigationInfo {headlight FALSE DirectionalLight { ambientintensity 1 intensity 1 color direction Shape { appearance Appearance { material Material { diffusecolor geometry Box { Viewpoint { orientation position description "view 1" 7 PointLight { ambientintensity 0 attenuation color intensity 1 location on TRUE radius 100 Luz emana de ponto no espaço lâmpada incandescente 8 Aqui temos um exemplo de uso de uma DirectionalLight. Perceba a mudança de ângulo da câmera para tornar possível a visualização da lateral esquerda menos iluminada do cubo. As luz pontual, como já foi dita, é como uma lâmpada incandescente, com seus raios partindo em todas as direções de um mesmo ponto. Os campos do nó PointLight são: AmbientIntensity: percentual de contribuição da luz à iluminação ambiente; Attenuation: fatores de atenuação da luz. São três no total (f1, f2, f3). Eles funcionam na atenuação total, afetando a intensidade da luz i baseados na seguinte fórmula: i = 1 / (f1 + f2*r + f3*r 2 ) O primeiro valor (f1) indica luz sem atenuação, o segundo (f2) indica luz com atenuação linearmente proporcional à distância e o terceiro (f3) com atenuação quadraticamente proporcional à distância. Color: cor da luz; Intensity: intensidade da luz emitida; Location: localização espacial da luz; On: interruptor da luz, indicando se está acesa ou não. Radius: raio de iluminação. Somente objetos dentro do raio são afetados pela iluminação da luz. 7 8
5 Luzes - PointLight Luzes - SpotLight NavigationInfo {headlight FALSE PointLight { ambientintensity 1 intensity 1 color attenuation location radius 30 DEF mysphere Transform { translation children Shape { appearance Appearance { material Material {diffusecolor geometry Sphere { Transform { translation children USE mysphere Transform { translation children USE mysphere Transform {translation children USE mysphere 9 SpotLight { ambientintensity 0 attenuation beamwidth 1.57 color cutoffangle 0.78 direction intensity 1 location on TRUE radius 100 Luz em forma de cone, Lâmpada de leitura Mesmos parâmetros das outras duas luzes, além de: BeamWidth CutOffAngle raio cutoffangle BeamWidth 10 Um exemplo do uso de PointLight. A fonte de luz está situada entre as duas esferas centrais. Percebam a dissipação da luz de acordo com a distância de sua fonte. As duas esferas mais externas se encontram menos iluminadas que as centrais. As luz spot, como já foi dita, é como uma lâmpada de leitura, com sues raios partindo, em todas as direções dentro de um cone, de um mesmo ponto. Os campos do nó SpotLight são: AmbientIntensity: percentual de contribuição da luz à iluminação ambiente; Attenuation: fatores de atenuação da luz. São três no total (f1, f2, f3). Eles funcionam na atenuação total, afetando a intensidade da luz i baseados na seguinte fórmula: i = 1 / (f1 + f2*r + f3*r 2 ) O primeiro valor (f1) indica luz sem atenuação, o segundo (f2) indica luz com atenuação linearmente proporcional à distância e o terceiro (f3) com atenuação quadraticamente proporcional à distância. BeamWidth: define o ângulo máximo do cone de luz. Todos os objetos dentro do cone serão afetados pela luz do spotlight; Color: cor da luz; CutOffAngle: ângulo que define cone interno ao beamwidth a partir do qual a atenuação da luz acontece; Direction: vetor indicando a direção e o sentido os quais a luz é emitida; Intensity: intensidade da luz emitida; Location: localização espacial da luz; On: interruptor da luz, indicando se está acesa ou não. Radius: raio de iluminação. Somente objetos dentro do raio são afetados pela iluminação da luz. 9 10
6 Luzes - SpotLight Sons - Sound NavigationInfo {headlight FALSE SpotLight { ambientintensity 1 attenuation beamwidth 1.57 color cutoffangle 0.7 direction intensity 1 location on TRUE radius 10 Shape { appearance Appearance { material Material { diffusecolor geometry Box {size Sound { direction intensity 1 location maxback 10 maxfront 10 minback 1 minfront 1 priority 0 source NULL spatialize TRUE maxback minback minfront maxfront direction 12 Um exemplo do uso de SpotLight. A fonte de luz branca está projetada num plano também branco. Percebam a dissipação da luz de acordo com o afastamento do eixo central do cone de luz. É também perceptível o cone central, onde não há atenuação, definido pelo valor do CutOffAngle. Vamos agora colocar sons em nosso mundo. Para tanto, devemos definir um nó para localizar espacialmente nossa fonte sonora. Esse nó é o Sound. Ele permite criar uma fonte sonora cuja propagação sonora se dá de forma elipsoidal como na figura acima. As áreas de mesma cor possuem mesma intensidade sonora. Os campos desse nó, cujos valores padrão estão apresentados acima, são: Direction: direção da emissão de som; Intensity: intensidade/ volume do som valor de 0 a 1 que multiplica o volume inicial do arquivo sonoro; Location: localização espacial da fonte sonora; MaxBack: distância máxima atrás da fonte sonora de onde o som pode ser ouvido; MaxFront: distância máxima na frente da fonte sonora de onde o som pode ser ouvido; MinBack: distância máxima atrás da fonte sonora a partir da qual o volume fica constante e na sua intensidade máxima; MinFront: distância máxima na frente da fonte sonora a partir da qual o volume fica constante e na sua intensidade máxima; Priority: os navegadores tem limitações quanto à quantidade de canais de som. É importante priorizar seus sons para, em caso dessa limitações no número de canais, os principais sons de seu mundo não deixem de ser ouvidos. Source: arquivo de origem do som. Na verdade, o que entra aqui é um nó AudioClip (arquivo de áudio) ou MovieTexture (arquivo de vídeo). No segundo caso, o navegador tocará os sons do arquivo de vídeo especificado. Spatialize: indica se o som deve ser caracterizado com estando numa posição espacial específica. Se sim, o som varia sua intensidade de acordo com a movimentação do usuário, permitindo que o último detecte sua localização espacial auditivamente. Se não, ele é considerado como som ambiente, sem uma localização espacial específica perceptível
7 Sons - Sound Sons - Sound AudioClip { description "" loop FALSE pitch 1.0 starttime 0 stoptime 0 url [] Define configuração para nó Sound Formatos MIDI.MID 1.0 ou.wav sem compressão 13 Exemplo Música ambiente Sound { maxback 50 maxfront 50 minback 5 minfront 5 source AudioClip { description "Musica ambiente" loop TRUE url "musica.mid" spatialize FALSE 14 O complemento do nó Sound é o AudioClip. É ele que específica o arquivo de som e suas propriedades para ser tocado. Os campos desse nó, cujos valores padrão estão apresentados acima, são: Description: uma descrição do som, caso desejado; Loop: ativa o som a tocar infinitas vezes ininterruptamente; Pitch: define a velocidade do som.se o valor é 1.0, ele é tocado normalmente. Se o valor é 0.5, ele é tocado uma oitava abaixo e com metade da velocidade. Se o valor é 2.0 ele é tocado uma oitava acima e duas vezes mais rápido. starttime: indica o tempo de início de reprodução do som em segundos a partir de meia noite de 1 de janeiro de 1970 (isso vai ser dado automaticamente quando o ligarmos a algum sensor) stoptime: indica o tempo de término de reprodução do som em segundos a partir de meia noite e 1 de janeiro de 1970 (isso vai ser dado automaticamente quando o ligarmos a algum sensor) url: endereço de localização do som, podendo estar na Internet ou não. Aqui temos um exemplo simples de utilização do dois nós de som. Ele cria uma música ambiente para um mundo VRML. Observe que o campo spatialize está com valor FALSE, o que indica que a musica não está posicionada e localizável espacialmente
8 Navegação NavigationInfo NavigationInfo { avatarsize [0.25, 1.6, 0.75] headlight TRUE speed 1.0 type ["WALK"] visibilitylimit 0.0 Configura avatar do usuário, sua navegação e limite de visibilidade set_bind isbound Eventos São notificações de mudança no valor de algum campo Campos EventOut eventos que geram informação EventIn aceitam e utilizam informação externa (EventOut) Campos Exposed possuem EventIn e EventOut próprios Um evento é composto de Mensagem TimeStamp Eventos encadeados tem mesmo timestamp Passemos agora para as configurações de navegação e de interface do usuário. Desse nó, veremos apenas os campos em verde, deixando de lado os em cinza. Bem, explicando cada um dos campos, cujos valores padrão estão apresentados acima, temos: avatarsize: indica o tamanho da entidade que representa o usuário no mundo. Ele consiste de um cilindro cujos valores padrão são: 0.25 para o raio; 1.6 para altura; 0.75 para altura dos joelhos, definindo a altura máxima de um degrau, dentro mundo, que o usuário é capaz de subir; Headlihgt: define se a luz padrão do mundo deve ficar acesa ou não. Isso dependerá se você já providenciou iluminação própria para seu mundo; Speed: fator multiplicativo para a velocidade de navegação do usuário ( 0.5 faz ele se deslocar com metade da velocidade e 2.0 com o dobro); Type: configura os tipos de navegação possíveis ao usuário no seu mundo. Vale observar que mais de um tipo pode ser aplicado por vez. E dentre estes tipos, temos: WALK: o usuário pode andar pelo mundo, sofrendo ação da gravidade e não podendo se deslocar para cima (comando de PAN não funciona corretamente); FLY: o usuário pode se deslocar livremente pelo mundo sem efeito da gravidade; EXAMINE: O USUário fica parado, mas pode girar o mundo em todas as direções e aproximá-lo de si para estudá-lo no melhor ângulo possível; NONE: o usuário não pode se movimentar ou movimentar o mundo. VisibilityLimit: indica até que distância de si o usuário pode enxergar no mundo. Isso importante de se utilizar quando se tem um mundo muito grande e cheio de objetos e se quer diminuir sua carga computacional. Outro conceito importante é o conceito de eventos Os nos podem se comunicar entre si através da geração e captação de eventos. Eventos são, então, notificações de mudança no valor de algum campo passados e recebidos de um nó para outro. Os tipos de evento são: EventOut eventos que geram informação EventIn aceitam e utilizam informação externa (EventOut) Alguns nós possuem campos que são do tipo exposed. Isso significa que o nó tem dois eventos já definidos para esse campo: set_nomedocampo (representando o EnventIn desse campo, servindo para receber novos valores para si) e nomedocampo_changed (representando o EnventOut desse campo, servindo para notificar o mundo externo sobre sua mudança de valor). Para facilitar o uso, não é necessário se referir a esses eventos com o prefixo set_ e sufixo _changed. Basta usar o nomedocampo e o navegador distinguirá qual dos dois eventos está sendo utilizado. Somente campos Exposed podem ser modificados, por exemplo (ver )
9 Rotas Eventos e Rotas cont. Efetuam a transmissão de informação entre eventos Ex.: tocar um som quando o mouse for clicado Definir nomes únicos para os objetos cujos eventos serão ligados DEF SENSOR TouchSensor { DEF SOUND Sound { Conectar campos através do comando Route ROUTE SENSOR.touchTime TO SOUND.startTime Sensor EventOut TouchTime Route Sound EventIn StartTime Se houver objetos com mesmo nome, todos serão afetados! 17 VRML não converte tipos de eventos Criação de Sript de conversão Um evento é composto de Mensagem TimeStamp Eventos encadeados tem mesmo TimeStamp Geração de eventos com novo TimeStamp Scripts Sensores Nós de animação e interação Sensores Interpoladores Scripts 18 Para que os eventos sejam transmitidos, é necessário criar-se canais de comunicação entre eles. Esses canais são chamado de routes (que em inglês significa rotas). Eles irão ligar eventos de saída a eventos de entrada, assim efetuar a comunicação de mudança de valores entre campos de nós. Para criar-se um rota precisa se ter bem-definidos o local do campo de EventOut e o de EventIn. Ou seja, cada nó tem que ter um nome único no código para identificá-lo. Observe o exemplo. Criar nós com mesmo nome e com campos EventIn (fan out) fará com que esses campos desses nós recebam um mesmo EventOut equivalente a um broadcast. Entretanto, Criar nós com mesmo nome e com campos EventOut (fan in) fará com que todos os EventOut gerados por esse campos desses nós vão para um mesmo EventIn (fan in). Isso pode gerar problemas de colisão entre os eventos gerados. Nesse caso, um controle de tempo de eventos tem que ser feito. VRML não converte tipos de eventos. Ou seja, os eventos ligados por uma rota tem que gerar e receber eventos de mesmo tipo. Caso isso não ocorra, é necessária a criação de script de conversão de um tipo para outro antes da passagem da mensagem. Um evento é composto de uma mensagem (valor gerado pelo evento em si) e de um timestamp (tempo de acontecimento do evento - valor interno definido pela modelo de execução de VRML e não-manipulável). Eventos encadeados (um evento está ligado a outro evento por um rota, que está ligado a outro e assim por diante) têm mesmo timestamp. Isso significa dizer que loops gerados numa mesma cadeia de eventos só são executados uma vez, pois o modelo de execução de VRML só executa um evento com mesmo TimeStamp para cada eventin/eventout. As únicas formas de gerar eventos com novo TimeStamp são através de Scripts e de Sensores. Qualquer outra forma depende da ativação por um outro evento e, portanto, produz um evento com mesmo TimeStamp. Os nós básicos para animação e interação são; Sensores Interpoladores Scripts Começaremos vendo os sensores. Geração de animação em si se dá através dos nós Interpolator, Switch e dos campos do tipo Exposed
10 Eventos Sensores Exemplos Fan out e fan in em mesma cascata ok? Fan in de cascatas distintas ok ok? Loop numa cascata ok ok Tipos de sensores Environmental TimeSensor VisibilitySensor ProximitySensor Collision Pointing-device TouchSensor SphereSensor CylinderSensor PlaneSensor Aqui temos 3 exemplos de uso de eventos e rotas: -O primeiro apresenta um fan out ( mesmo evento sendo direcionado para dois evento distintos) que funciona normalmente. Entretanto, o fan in (mais de um evento sendo enviado para um mesmo objeto) vai dar problema, pois ambos os eventos a serem captados pelo nó fazem parte da mesma cadeia de eventos. -O segundo exemplo mostra um fan in com evento vindo de cadeias diferentes. A probabilidade de eventos de cadeias diferentes terem o mesmo timestamp é muito baixa então, não grandes problemas nesse caso. Entretanto, teoricamente, eventos de mesmo timestamp podem ser gerados, podendo ocorrer comportamento imprevisíveis. -O terceiro exemplo apresenta um loop. Cadeias em loop em VRML funcionam, mas somente uma única vez, pois um eventout só processa um evento pro timesatamp. Quando um segundo evento de mesmo timestamp chegar no eventout do nó de cima ele não será transmitido. Sensores são nós capazes de captar algum tipo de informação no ambiente ou do usuário e transformá-la em um evento. Os sensores são divididos em dois tipos, cada um dele com quatro nós, listados abaixo: Environmental: sensores que detectam mudanças no ambiente como situação espacial do avatar do usuário, passagem do tempo, etc. TimeSensor VisibilitySensor ProximitySensor Collision Pointing-device: sensores que detectam reações do usuário através do mouse. TouchSensor SphereSensor CylinderSensor PlaneSensor 19 20
11 Contando o tempo TimeSensor TimeSensor { exposedfield SFBool enabled TRUE exposedfield SFTime cycleinterval 1 exposedfield SFBool loop FALSE exposedfield SFTime starttime 0 exposedfield SFTime stoptime 0 eventout SFTime cycletime eventout SFFloat fraction_changed eventout SFBool isactive eventout SFTime time Equivalente a cronômetro Contando o tempo TimeSensor Exemplo Som tocado a cada 3 segundos DEF Cronometer TimeSensor { cycleinterval 3.0 loop TRUE Sound { minfront 5 minback 5 maxfront 50 maxback 50 source DEF MySound AudioClip { url "sound.wav" ROUTE Cronometer.cycleTime TO MySound.startTime cont Sensores de tempo são nada mais medidores da variação de tempo no mundo, como cronômetros. Seus campos são: CucleInterval: o tempo em que ele reinicia a contagem; Enabled: indica se o contador está o sensor está ativado(deve contar) ou não; Loop indica se o contador irá contar inúmeras vezes (TRUE) ou apenas uma (FALSE); StopTime: tempo em que ele deve parar a contagem (como no nó Sound); Starttime: Tempo em que ele deve começar a contagem (como no nó Sound); Seu campos de evento são: CycleTime: envia um evento quando ao intervalo de cada ciclo do contador. O conteúdo da mensagem é o tempo atual; Fraction_changed: envia eventos seqüencial e ininterruptamente tão rápido quanto possível. O seu conteúdo é um float contendo a fração do ciclo de intervalo em que o contador se encontra; Time: gerado ao mesmo tempo do Fraction_changed, mas com conteúdo diferente. O seu conteúdo é o absoluto do tempo decorrido; Aqui temos um exemplo de uso de timesensor. Ligamos ao cycleinterval o campo starttime de um AudioClip. Assim, toda vez que se atinge um ciclo do contador de tempo, o som do AudioClip é contado
12 Basta ver pra acontecer VisibilitySensor Basta ver pra acontecer VisibilitySensor cont. VisibilitySensor { exposedfield SFVec3f center exposedfield SFBool enabled TRUE exposedfield SFVec3f size eventout SFTime entertime eventout SFTime exittime eventout SFBool isactive Sensores que são ativados quando se encontram dentro do campo de visão do usuário. Útil para otimização de processamento de animação 23 Exemplo Canhão atira quando o usuário o vê DEF mysensor VisibilitySensor { size center Sound { minfront 5 minback 5 maxfront 50 maxback 50 source DEF mysound AudioClip { loop TRUE url "sound.wav" Inline {url "canhao.wrl" ROUTE mysensor.entertime TO mysound.starttime ROUTE mysensor.exittime TO mysound.stoptime 24 VisibilitySensors são sensores que são ativados quando as caixas que os representam se encontram dentro do campo de visão do usuário. Eles são úteis para otimizar as animações. Por exemplo, pode-se desativar animações que não estejam sendo vistas pelo usuário a fim de reduzir o processamento no mundo. Os campos desse sensor são: Center: a posição espacial onde o centro do sensor se encontra; Enabled: se o sensor está ativado ou não; Size: tamanho da caixa que representa o sensor; entertime: mensagem enviada quando o sensor entra no campo de visão do usuário contendo o tempo em que esse evento ocorreu; exittime: mensagem enviada quando o sensor sai do campo de visão do usuário contendo o tempo em que esse evento ocorreu; isactive: mensagem enviada quando o sensor entra e sai no campo de visão do usuário contendo TRUE (entrou no campo de visão) ou FALSE (saiu do campo de visão); Aqui temos um exemplo de uso do visibilitysensor. Ele está posicionado no mesmo local de um canhão. Quando o usuário o vê, ele emite som de tiros
13 Chegue mais! ProximitySensor ProximitySensor { exposedfield SFVec3f center exposedfield SFBool enabled TRUE exposedfield SFVec3f size eventout SFTime entertime eventout SFTime exittime eventout SFBool isactive eventout SFVec3f position_changed eventout SFRotation orientation_changed Sensores que são ativados quando o usuário de encontra dentro da área do sensor. Útil para reações de personagens quanto à aproximação do usuário (falar, atacar, fugir) 25 Chegue mais! ProximitySensor Exemplo Canhão atira quando o usuário se aproxima DEF mysensor ProximitySensor { size Sound { minfront 10 minback 10 maxfront 100 maxback 100 source DEF mysound AudioClip { loop TRUE url "sound.wav" Inline {url "canhao.wrl" ROUTE mysensor.entertime TO mysound.starttime ROUTE mysensor.exittime TO mysound.stoptime cont. 26 ProximitySensors são sensores que são ativados quando o usuário se encontra dentro das caixas que representam esses sensores. Eles são úteis para reações de personagens o seu mundo. Por exemplo, para um personagem falar com o usuário, ou para um inimigo atirar nele durante um jogo. Os campos desse sensor são: Center: a posição espacial onde o centro do sensor se encontra; Enabled: se o sensor está ativado ou não; Size: tamanho da caixa que representa o sensor; EnterTime: mensagem enviada quando o usuário entra na caixa que representa o sensor, contendo o tempo em que esse evento ocorreu; ExitTime: mensagem enviada quando o usuário sai da caixa que representa o sensor, contendo o tempo em que esse evento ocorreu; IsActive: mensagem enviada quando o usuário entra ou sai na caixa que representa o sensor, contendo TRUE (entrou na caixa) ou FALSE (saiu da caixa); Position_changed: gerará um evento toda vez que, dentro da caixa do sensor, o usuário mudar sua posição. O valor enviado é o da posição do usuário relativa ao centro desse sensor. Orientation_changed: gerará um evento toda vez que, dentro da caixa do sensor, o usuário mudar sua orientação. O valor enviado é o da orientação do usuário relativa ao centro desse sensor. Aqui temos um exemplo de uso do ProximitySensor. Ele está posicionado no mesmo local de um canhão. Quando o usuário se aproxima (distância menor que 7,5 metros), ele emite som de tiros
14 Obstruindo o Caminho Collision Collision { exposedfield MFNode children [] exposedfield SFBool collide TRUE eventout SFTime collidetime field SFNode proxy NULL field SFVec3f bboxcenter field SFVec3f bboxsize eventin MFNode addchildren eventin MFNode removechildren Controla detecção de colisão entre nós Nó de agrupamento Obstruindo o Caminho Collision Exemplo Não é possível encostar no canhão NavigationInfo{type "WALK" Collision { children Inline { url "canhao.wrl" proxy Shape { geometry Box { size collide TRUE Viewpoint { position cont Collision é um nó que define a colisão entre objetos. Ele basicamente agrupa em si objetos nos quais o usuário pode colidir. Seus campos são: Collide: campo que define a ativação da detecção (se for igual a TRUE) ou não (se for igual a FALSE) Children: lista contendo nós para os quais a detecção de colisão deve ser calculada; CollideTime: gera um evento toda vez em que algo colide com os filhos do nó de colisão. A mensagem é o tempo em que essa colisão ocorreu. Proxy: é possível substituir as formas dos nós de colisão por um forma mais simples (caixa, cilindro), a fim de facilitar o processamento da detecção de colisão. Isso é feito se passando essa forma mais simples através do campo proxy; AddChildren: campo para recebimento de eventos de entrada contendo novo nó para inserí-lo no nó de colisão; RemoveChildren: campo para recebimento de eventos de entrada contendo nó para removê-lo do nó de colisão; BBoxCenter: centro da caixa de contorno do nó; BBoxSize: tamanho da caixa de contorno do nó; Aqui temos um exemplo de uso do Collision. Ele está posicionado no mesmo local de um canhão. Quando o usuário se aproxima do canhão (a uma distância de 15 metros do último), ele colide com o proxy criado para o canhão. ATENÇÃO: Muitas vezes pode ocorrer erro na colisão se o método de navegação for modificado, principalmente posto para o modo STUDY
15 Detecção de Toque TouchSensor TouchSensor { exposedfield SFBool enabled TRUE eventout SFBool isover eventout SFBool isactive eventout SFTime touchtime eventout SFVec2f hittexcoord_changed eventout SFVec3f hitnormal_changed eventout SFVec3f hitpoint_changed Posição do mouse hitnormal hitposition Objeto com TouchSensor Tela do monitor 29 Detecção de Toque TouchSensor Detecção de clique, arraste e sobreposição com o mouse em objetos com mesmo nó pai. Group Touch Sensor Group { children [ Group { children [ DEF PositionOrientation TouchSensor { Inline {url "canhao.wrl" ] DEF ShotSensor TouchSensor { DEF shotaim Transform { children [ Sound { minfront 50 minback 50 maxfront 100 maxback 100 source DEF shotsound AudioClip {url "sound.wav" Inline {url "seta.wrl" ] ] ROUTE ShotSensor.touchTime TO shotsound.starttime ROUTE PositionOrientation.hitPoint_changed TO shotaim.translation Group 30 Esse é o nó de detecção de clique, arraste e sobreposição do mouse em objetos do mundo virtual. Os campos desse nó são: Enabled: ativa a detecção de entrada do mouse; HitPoint_Changed: gera um evento contendo como mensagem o vetor de posição da projeção da posição do mouse na tela na superfície dos nós afetados pelo sensor; HitNormal_Changed: gera um evento contendo como mensagem o vetor normal da posição da projeção, na superfície dos nós afetados pelo sensor, da posição do mouse na tela; HitTexCoord_Changed: gera um evento contendo como mensagem a posição na textura da face, na superfície do objeto afetado pelo sensor, relativa à posição da projeção da posição do mouse na tela (consultar TextureTransform e TextureCoordinate); IsActive: gera um evento cuja mensagem indica se o botão do mouse for pressionado sobre os nós do TouchSensor (TRUE) e quando ele for solto/despressionado sobre os mesmos(false); IsOver: gera um evento cuja mensagem indica se o mouse está sobre os nós do TouchSensor (TRUE) e quando ele sai de cima (FALSE); TouchTime: gera um evento cuja mensagem indica o tempo em que o botão do mouse foi pressionado sobre os nós do TouchSensor e quando ele foi solto/despressionado. Se ele for solto fora dos objetos com sensor a mensagem de FALSE não é enviada; Esse é o nó de detecção de clique, arraste e sobreposição do mouse em objetos do mundo virtual. Ele funciona afetando todos os nós filhos do mesmo pai que ele, como mostra a figura. Aqui temos um exemplo de uso do nó TouchSensor. Uma seta (mira) segue o cursor e aponta para pontos da superfície do canhão. Ao clicar, um som de tiro é apresentado
16 Rotação Manual SphereSensor Rotação Manual SphereSensor SphereSensor { exposedfield SFBool enabled TRUE eventout SFBool isactive exposedfield SFBool autooffset TRUE exposedfield SFRotation offset eventout SFRotation rotation_changed eventout SFVec3f trackpoint_changed Posição do mouse trackpoint offset Objeto com SphereSensor Tela do monitor 31 Detecção de rotação com o mouse em objetos com mesmo nó pai. NavigationInfo {type "NONE" Group { children [ DEF MySensor SphereSensor {autooffset TRUE DEF boxtransform Transform { children Shape{ appearance Appearance { material Material { diffusecolor geometry Box{ ] ROUTE MySensor.rotation_changed TO boxtransform.rotation 32 Esse é o nó que permite girar objetos através do mouse. Os campos desse nó são: Offset: valor de rotação dado pelo usuário ao girar o objeto com o mouse; AutoOffset: define que a o valor de rotação dado pelo usuário permaneça no objeto (no campo offset) até a próxima rotação. Por exemplo, o usuário roda o objeto uma vez de uma posição inicial P i para um posição final P f. Se AutoOffset for igual a TRUE, da próxima vez que o objeto for rodado ele começará a rodar da posição P f. Se o AutoOffset for igual a FALSE, da próxima vez que o objeto for rodado ele começará a rodar da posição P i ; Enabled: indica se o sensor está ativado ou não; TrackPoint_Changed: gera um evento contendo como mensagem o vetor de posição da projeção da posição do mouse na tela na superfície dos nós afetados pelo sensor; Rotation_Changed: gera um evento contendo como mensagem o vetor de rotação resultante a ser encaminhado para os objetos a serem girados; IsActive: gera um evento cuja mensagem indica se o botão do mouse for pressionado sobre os nós do SphereSensor (TRUE) e quando ele for solto/despressionado sobre os mesmos(false); Esse é o nó de detecção de rotação com o mouse em objetos com mesmo nó pai no mundo virtual. O funciona afetando todos os nós filhos do mesmo pai que ele, como o TouchSensor e todos os outros sensores de mouse. Aqui temos um exemplo de uso do nó SphereSensor. Um cubo gira à vontade do usuário
17 Rotação Manual Restrita CylinderSensor Rotação Manual Restrita CylinderSensor CylinderSensor { exposedfield SFBool enabled TRUE eventout SFBool isactive exposedfield SFBool autooffset TRUE exposedfield SFFloat offset 0 exposedfield SFFloat diskangle exposedfield SFFloat maxangle -1 exposedfield SFFloat minangle 0 eventout SFRotation rotation_changed eventout SFVec3f trackpoint_changed 2 y 1 DiskAngle Posição do mouse trackpoint offset Objeto com SphereSensor Tela do monitor 33 Detecção de rotação no eixo y com o mouse em objetos com mesmo nó pai. Group { children [ DEF mysensor CylinderSensor {diskangle 0.28 DEF conetransform Transform { children Shape { appearance Appearance { material Material { diffusecolor geometry Cone { ] ROUTE mysensor.rotation_changed TO conetransform.rotation 34 Esse é o nó que permite girar objetos através do mouse restritamente ao eixo coordenado y. Para rodar em outros eixos, basta aplicar um Transform ao sensor, modificando o eixo da forma desejada; Os campos desse nó são: Offset: valor de rotação dado pelo usuário ao girar o objeto com o mouse; AutoOffset: define que a o valor de rotação dado pelo usuário permaneça no objeto (no campo offset) até a próxima rotação. Por exemplo, o usuário roda o objeto uma vez de uma posição inicial P i para um posição final P f. Se AutoOffset for igual a TRUE, da próxima vez que o objeto for rodado ele começará a rodar da posição P f. Se o AutoOffset for igual a FALSE, da próxima vez que o objeto for rodado ele começará a rodar da posição P i ; Enabled: indica se o sensor está ativado ou não; TrackPoint_Changed: gera um evento contendo como mensagem o vetor de posição da projeção da posição do mouse na tela na superfície dos nós afetados pelo sensor; Rotation_Changed: gera um evento contendo como mensagem o vetor de rotação resultante a ser encaminhado para os objetos a serem girados; IsActive: gera um evento cuja mensagem indica se o botão do mouse for pressionado sobre os nós do CylinderSensor (TRUE) e quando ele for solto/despressionado sobre os mesmos(false); DiskAngle: ângulo que define a mudança de forma de manipulação da rotação cilíndrica. Se o ângulo entre o eixo y do cilindro e a reta ligando o usuário à superfície do cilindro na metade de sua altura for menor que o DiskAngle, então o usuário girará o cilindro segurando em suas bases e girando o mouse sobre elas (seta 1 da figura). Entretanto, se o ângulo entre o eixo y do cilindro e a reta ligando o usuário à superfície do cilindro na metade de sua altura for maior que o DiskAngle, o usuário girará o cilindro segurando em sua lateral e arrastando o mouse no sentido horizontal (seta 2 da figura). MaxAngle: define o ângulo máximo que o cilindro pode girar; MinAngle: define o ângulo mínimo que o cilindro pode girar. Se minangle for maior que maxangle, o cilindro não restrições quanto ao ângulo de rotação; Esse é o nó de detecção de rotação (no eixo y) com o mouse em objetos com mesmo nó pai no mundo virtual. Ele funciona afetando todos os nós filhos do mesmo pai que ele, como o TouchSensor e todos os outros sensores de mouse. Aqui temos um exemplo de uso do nó CylinderSensor. Um cone gira no eixo y à vontade do usuário
18 Translação Planar Manual PlaneSensor Translação Planar Manual PlaneSensor PlaneSensor { exposedfield SFBool enabled TRUE eventout SFBool isactive exposedfield SFBool autooffset TRUE exposedfield SFVec3f offset exposedfield SFVec2f maxposition -1-1 exposedfield SFVec2f minposition 0 0 eventout SFVec3f trackpoint_changed eventout SFVec3f translation_changed maxposition y minposition minposition x maxposition 35 Detecção de translação no plano XY com o mouse em objetos com mesmo nó pai. NavigationInfo {type "EXAMINE" Shape {geometry Box{size Transform { translation children [ DEF mysensor PlaneSensor { maxposition minposition DEF mybox Transform { children Shape { appearance Appearance { material Material {diffusecolor geometry Box {size ] Viewpoint {position ROUTE mysensor.translation_changed TO mybox.translation 36 Esse é o nó que permite deslocar objetos através do mouse restritamente ao plano dos eixos coordenados x e y. Para deslocar em outros eixos, basta aplicar um Transform ao sensor, modificando o plano da forma desejada; Os campos desse nó são: Offset: valor de translação dado pelo usuário ao deslocar o objeto com o mouse; AutoOffset: define que a o valor de translação dado pelo usuário permaneça no objeto (no campo offset) até a próxima translação. Por exemplo, o usuário desloca o objeto uma vez de uma posição inicial P i para um posição final P f. Se AutoOffset for igual a TRUE, da próxima vez que o objeto for deslocado ele começará a deslocar da posição P f. Se o AutoOffset for igual a FALSE, da próxima vez que o objeto for rodado ele começará a deslocar da posição P i ; Enabled: indica se o sensor está ativado ou não; TrackPoint_Changed: gera um evento contendo como mensagem o vetor de posição da projeção da posição do mouse na tela na superfície dos nós afetados pelo sensor; Translation_Changed: gera um evento contendo como mensagem o vetor de translação resultante a ser encaminhado para os objetos a serem deslocados; IsActive: gera um evento cuja mensagem indica se o botão do mouse for pressionado sobre os nós do PlaneSensor (TRUE) e quando ele for solto/ despressionado sobre os mesmos (FALSE); MaxPosition: define o deslocamento máximo do sensor em ambos eixos do plano; MinPosition: define o deslocamento mínimo do sensor em ambos eixos do plano. Se, num determinado eixo, os valores de minposition e maxposition forem iguais, o sensor não se permitirá deslocamentos nesse eixo. Se, num determinado eixo, os valor de minposition for maior que o de maxposition, o sensor não terá nenhuma restrição de descolamento nesse eixo. Esse é o nó de detecção de translação (no eixo y) com o mouse em objetos com mesmo nó pai no mundo virtual. O funciona afetando todos os nós filhos do mesmo pai que ele, como o TouchSensor e todos os outros sensores de mouse. Aqui temos um exemplo de uso do nó PlaneSensor. Um cubo se desloca dentro dos limites de um outro no plano XY
19 Referências Floppy s VRML 97 Tutorial: Web 3D Consortium VRML Archives 37 Bem, a quarta lista de exercícios se encontra no mesmo local das outras. Quem ainda não terminou as outras listas, é bom terminar. O prazo da lista é para a próxima aula, de forma semelhante às outras listas. Boa sorte. As transparências se encontram comentadas. Algumas contêm informações extras que podem ser de utilidade para vocês durante a resolução da lista. 37
Índice 1. INTRODUÇÃO E BREVE HISTÓRICO 1 2. CARACTERÍSTICAS BÁSICAS DE VRML 2 3. GERANDO MUNDOS VRML 3 4. COMBINANDO VRML E JAVASCRIPT 36
Índice 1. INTRODUÇÃO E BREVE HISTÓRICO 1 2. CARACTERÍSTICAS BÁSICAS DE VRML 2 3. GERANDO MUNDOS VRML 3 3.1. FORMAS PRIMITIVAS E SUAS COMBINAÇÕES 3 3.1.1. EXPERIMENTANDO COM TEXTOS 5 3.2. TRANSFORMAÇÕES
VRML Virtual Reality Modeling Language
Roteiro VRML Virtual Reality Modeling Language PRIMITIVAS BÁSICAS E AVANÇADAS Baseada na apresentação de: Dênio Mariz, Judith Kelner, Alejandro Frery Cin/UFPE, novembro 2000 1. O que é VRML 2. Histórico
Virtual Reality Modeling Language
Virtual Reality Modeling Language Luís Manuel Borges Gouveia Fevereiro de 1998 Objectivo da apresentação: - duzir o 2.0 como linguagem de especificação de cenas 3D Pre-requisitos - conhecimento de princípios
VRML Virtual Reality Modeling Language
Roteiro VRML Virtual Reality Modeling Language INTRODUÇÃO AO VRML Baseado em apresentação de Judith Kelner, Alejandro Frery 1. O que é VRML 2. Histórico 3. Objetivos da VRML 4. VRML, Internet e WWW 5.
1. Realidade Virtual 1.1 Introdução 1.2 VRML 1.2.1 Histórico VRML 1.0 VRML 2.0 VRML 97 1.2.2 Aplicações
1. Realidade Virtual 1.1 Introdução A Realidade Virtual(RV) vem trazer ao uso do computador um novo paradigma de interface com o usuário. Neste paradigma, o usuário não estará mais em frente ao monitor,
Sistemas Multimídia Aula 3 VRML
Sistemas Multimídia Aula 3 VRML Diogo Pinheiro Fernandes Pedrosa Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais Curso de Ciência da Computação Introdução O que é VRML?
APRESENTAÇÃO... 3 IGEO... 3 ACESSO AO SISTEMA... 4 MANUAL DO USUÁRIO... 4 FUNCIONALIDADES... 5 NAVEGAÇÃO E CONSULTA... 5 MANIPULAÇÃO DE CAMADAS...
Sumário APRESENTAÇÃO... 3 IGEO... 3 FUNCIONALIDADES COMUNS AOS USUÁRIOS E ADMINISTRADOR ACESSO AO SISTEMA... 4 ACESSANDO O SISTEMA VIA WEB... 4 MANUAL DO USUÁRIO... 4 FUNCIONALIDADES... 5 NAVEGAÇÃO E CONSULTA...
DIRETORIA DE PESQUISA E PÓS-GRADUAÇÃO PROJETO: TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO NO PROCESSO DE ENSINO E APRENDIZAGEM DE MATEMÁTICA
DIRETORIA DE PESQUISA E PÓS-GRADUAÇÃO PROJETO: TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO NO PROCESSO DE ENSINO E APRENDIZAGEM DE MATEMÁTICA NOME: DATA: / / Software GeoGebra 5.0 versão desktop 1ª Parte Conhecendo
1º Teste Computação Gráfica
1º Teste Computação Gráfica LEIC-Alameda/LEIC-Tagus/LERCI Prof. Mário Rui Gomes Prof. João Brisson Lopes de Abril de 4 Nº Nome: Responda às questões seguintes justificando adequadamente todas as respostas.
Aula 4 TECNOLOGIA EM JOGOS DIGITAIS PROGRAMACAO E INTEGRACAO DE JOGOS I. Marcelo Henrique dos Santos
Aula 4 Email: Site: [email protected] www.marcelohsantos.com.br Conceitos sobre a Unity Conceitos sobre a Unity BARRA DE CONTROLE DA CENA O primeiro menu drop-down é para escolher o modo de desenho.
Sumário APRESENTAÇÃO...3 ACESSO AO SISTEMA...4 FUNCIONALIDADES...5 SIG-PCJ... 3 ACESSANDO O SISTEMA VIA WEB...4 MANUAL DO USUÁRIO...
SIG-PCJ Sumário APRESENTAÇÃO...3 SIG-PCJ... 3 ACESSO AO SISTEMA...4 ACESSANDO O SISTEMA VIA WEB...4... 4 FUNCIONALIDADES...5 NAVEGAÇÃO E CONSULTA... 5 FERRAMENTAS DE NAVEGAÇÃO DO MAPA...5 FERRAMENTAS DE
Curso Básico. Profa. Dra. Elisamara de Oliveira
Curso Básico Profa. Dra. Elisamara de Oliveira 2 Índice 1. Introdução ao VRML... 04 1.1. Histórico... 05 1.2. Aplicações do VRML... 05 1.3. Como começar a navegar em mundos VRML na internet 07 2. A Linguagem
Manual do Navegador Sig Cuiabá
Manual do Navegador Sig Cuiabá Módulo Público - Versão 1.3 04/2015 Elaboração: Gilmar Souza Acácio Conteúdo Introdução... 3 Características de um SIG... 3 Requisitos para a utilização do Sig Cuiabá...
SUMÁRIO 1. APRESENTAÇÃO FUNCIONALIDADES COMUNS AOS USUÁRIOS... 3
1 2 SUMÁRIO 1. APRESENTAÇÃO... 3 2. FUNCIONALIDADES COMUNS AOS USUÁRIOS... 3 2.1 ACESSO AO SISTEMA... 3 2.1.1 ACESSANDO O SISTEMA VIA WEB... 3 2.1.2 MANUAL DO USUÁRIO... 5 2.2 FUNCIONALIDADES... 5 2.2.1
Ambiente de programação
EXPLORANDO O O que é o SCRATCH? O software Scratch é um ambiente para a criação de jogos, histórias e animações, usando raciocínio lógico. A partir desta ferramenta é possível exercitar conceitos de lógica
A terceira dimensão. Modelagem tridimensional Elaboração tridimensional Realidade virtual
A terceira dimensão A terceira dimensão Modelagem tridimensional Elaboração tridimensional Realidade virtual 2 Modelagem tridimensional Métodos de representação tridimensional: modelos geométricos; superfícies
VRML2.0. Tutorial. Marcos Carrard
UNIJUÍ Universidade Regional do Noroeste do Estado do Rio Grande do Sul DeTec Departamento de Tecnologia Bacharelado em Informática Tutorial VRML2.0 Marcos Carrard Ijuí (RS), 2000/2001 Apresentação Este
EBRcart2 digital cart machine
EBRcart2 digital cart machine Limpa os cartuchos Abre um arquivo de roteriro.rot Salva um arquivo de roteiro.rot Salva com o mesmo nome Configura ções Mostra registro de reproduções Seleciona as páginas
Realidade Virtual: Conceitos e Aplicações REALIDADE VIRTUAL
Realidade Virtual: Conceitos e Aplicações Curso de Informática Disciplina: Prof. Marcelo Walter Palestrante: Prof. Fernando Osório 2000/1 UNISINOS - Centro de Ciências Exatas e Tecnológicas (C6/6) Curso
Autodesk 3ds Max - Primitivas
Autodesk 3ds Max - Primitivas Primitivas O que são? Primitivas são geometrias (ou figuras geométricas) parametrizadas que o 3ds Max possui para que seu usuário possa criar modelos usando essas geometrias
FUNDAMENTOS DE SISTEMAS MULTIMÍDIA INTEGRAÇÃO DE OBJETOS MPEG-4
FUNDAMENTOS DE SISTEMAS MULTIMÍDIA INTEGRAÇÃO DE OBJETOS MPEG-4 UFF UNIVERSIDADE FEDERAL FLUMINENSE FERNANDO DE MATTOS MACIEL MATR.: 100.41.014-2 Fevereiro de 2004 APRESENTAÇÃO: Introdução; Objetivos do
SEL-0339 Introdução à Visão Computacional. Aula 3 Processamento de Imagens Coloridas
Departamento de Engenharia Elétrica - EESC-USP SEL-0339 Introdução à Visão Computacional Aula 3 Processamento de Imagens Coloridas Prof. Dr. Marcelo Andrade da Costa Vieira Prof. Dr. Adilson Gonzaga [email protected]
Workshop - A Robótica em Contexto Educativo
Pastas do robô: Pastas do Robô a. Try Me b. View c. Bluetooth d. My Files Software files NXT files Sound Files e. NXT program f. Settings Pastas do robô: a. Try Me b. View c. Bluetooth d. My Files Software
Cosmo Worlds. truques & dicas. cosmo Worlds. José Carlos Miranda 1
truques & dicas cosmo Worlds José Carlos Miranda 1 Nocões Básicas Criar primitivas gráficas? Transformações Geométricas 1. Criar um objecto Create Box 2. Aplicar transformações geométricas aos objectos
AULA: BrOffice Impress segunda parte
AULA: BrOffice Impress segunda parte Objetivos Ter uma visão geral do BrOffice Impress; Aprender a trabalhar com o modo de exibição dos slides; Saber utilizar cores ou textura em segundo plano; Aprender
CATIA V5 TREINAMENTO - MODELAGEM SÓLIDA TUTORIAL - 01 DESENVOLVIDO EM CATIA V5 SM - COMPUTAÇÃO GRÁFICA
CATIA V5 TREINAMENTO - MODELAGEM SÓLIDA TUTORIAL - 01 DESENVOLVIDO EM CATIA V5 UM POUCO DA HISTÓRIA DO CATIA A HISTÓRIA DO CATIA TEVE INÍCIO EM 1975, QUANDO A EMPRESA AVIONS MARCEL DASSAULT (AMD) ADQUIRIU
Aula 5 TECNOLOGIA EM JOGOS DIGITAIS PROGRAMACAO E INTEGRACAO DE JOGOS I. Marcelo Henrique dos Santos
Aula 5 Mestrado em Educação (em andamento) Pós-graduação em Negócios em Mídias Digitais (em andamento) MBA em Marketing e Vendas Especialista em games : Produção e Programação Bacharel em Sistema de Informação
INF Fundamentos de Computação Gráfica /1
INF01047 - Fundamentos de Computação Gráfica - 2013/1 Especificação do Trabalho Final Professores: João Comba ([email protected]) e Marcelo Walter ([email protected]) Objetivo Consolidar o conhecimento
INSTALAÇÃO E CONFIGURAÇÃO
TUTORIAL WIRECAST 6 INSTALAÇÃO E CONFIGURAÇÃO TUTORIAL DE INSTALAÇÃO, CONFIGURAÇÃO E TRANSMISSÃO COM WIRECAST 6 OBS: Este tutorial tem como intuito auxiliar os clientes da SiteHosting, a fazerem a instalação
DESENVOLVIMENTO DE UM SOFTWARE DE GERAÇÃO E VISUALIZAÇÃO DE NANOESTRUTURAS
DESENVOLVIMENTO DE UM SOFTWARE DE GERAÇÃO E VISUALIZAÇÃO DE NANOESTRUTURAS Aluno: Marcos Paulo Moraes Orientador: André Silva Pimentel Introdução A nanotecnologia está associada a diversas áreas de pesquisa
Explorar Restrições Esboço
Explorar Restrições Esboço Explorar o impacto das restrições geométricas e dimensionais em um simples esboço. Compreender os limites esboço para trabalhar eficazmente com o Autodesk Inventor. Objetivos
Manual do programa de cálculo de grelhas equivalentes
Manual do programa de cálculo de grelhas equivalentes Introdução: A interface do programa foi desenvolvida para ser a mais simples possível, seguinte uma sequência de passos que são sempre necessários
Loops. Loops Simples Switches Simples Loops Encadeados Switches Encadeados Utilizando Loops e Switches
LOOPS E SWITCHES LOOPS E SWITCHES Loops Switches Loops Simples Switches Simples Loops Encadeados Switches Encadeados Utilizando Loops e Switches LOOPS LOOPS Os LOOPS nos permitem repetir trechos de códigos
A terceira dimensão. A terceira dimensão. Modelagem tridimensional. A terceira dimensão Wilson de Pádua Paula Filho
A terceira dimensão A terceira dimensão Realidade virtual Métodos de representação tridimensional: modelos geométricos; superfícies poligonais; superfícies curvas; representações de varredura; geometria
MANUAL DO USUÁRIO Panoramic Cam X-Pheral - DC187
MANUAL DO USUÁRIO Panoramic Cam X-Pheral - DC187 Parabéns! Você acaba de adquirir a Panoramic Cam X-Pheral DC187 da Átrio. Leia este manual de instruções antes de utilizar o dispositivo e guarde para referência
APOSTILA LOUSA INTERATIVA SMARTBOARD
APOSTILA LOUSA INTERATIVA SMARTBOARD Apresentação As novas tecnologias são uma realidade na vida das pessoas. O mercado de trabalho, antenado com essa nova configuração social, tem exigido profissionais
Orientações sobre a apostila eletrônica
Orientações sobre a apostila eletrônica A apostila eletrônica é uma cópia praticamente exata da apostila impressa que enviamos para os alunos através dos correios. A apostila eletrônica está disponível
1 2 D I C A S I N F A L Í V E I S SMARTPHONES EBOOK. [ ] michael oliveira
1 2 D I C A S I N F A L Í V E I S DE COMO GRAVAR VIDEOS COM SMARTPHONES [ ] michael oliveira EBOOK BOAS VINDAS Antes de mais nada eu gostaria de te agradecer por você ter feito o Download deste ebook.
HANDS-ON PROGRAMAÇÃO DE JOGOS PARA CRIANÇAS
HANDS-ON PROGRAMAÇÃO DE JOGOS PARA CRIANÇAS Hoje vamos criar nosso primeiro jogo utilizando o Scratch, trabalharemos com Labirintos, você sabe o que é? Veja nosso Robô XM, ele precisa chegar ao quadradinho
Tutorial sobre o uso da ferramenta de autoria A Ferramenta de Autoria - Célula
Tutorial sobre o uso da ferramenta de autoria A Ferramenta de Autoria - Célula Célula é uma Ferramenta de Autoria para o padrão Ginga. Auxilia no processo de criação da interatividade na TV Digital e é
Administração Central. Unidade do Ensino Médio e Técnico Cetec Capacitações São Paulo
2018 São Paulo Material Didático sobre Robocode Conhecendo o Robô 1 Criando nosso primeiro Robô 1.1 Ambiente de Batalha O ambiente de batalha é o local onde será realizada a guerra entre os Robôs. Abaixo
TUTORIAL VIDEO - HANGOUTS ON AIR. Siga o passo a passo para que possa criar e transmitir um evento.
TUTORIAL VIDEO - HANGOUTS ON AIR Siga o passo a passo para que possa criar e transmitir um evento. 1. Acesse o link https://www.youtube.com/my_live_events será solicitado uma conta e senha do gmail, deverá
Autodesk Inventor 9 DocTec4 Construção de um Modelo Tridimensional Parte 1
TECAD Soluções CAD e Projecto Colaborativo Rua Sidónio Muralha, 5 - Loja A 2635-477 Rio de Mouro Tel: 21 919 92 30 Fax: 21 919 92 39 Email: [email protected] Web site: http://www.tecad.pt Autodesk Inventor
Capítulo 3 Primeiros Passos em OpenGL Função Desenha Função Teclado Função Inicializa Programa Principal...
Sumário Prefácio...15 Capítulo 1 Introdução...17 Capítulo 2 Instalação...22 2.1 Visão Geral das Bibliotecas OpenGL...22 2.2 Bibliotecas Necessárias para Execução...24 2.3 Bibliotecas Necessárias para Compilação...24
CRIAÇÃO RÁPIDA DE PROGRAMAS (SHOWS)
TUTORIAL Nº 001 CRIAÇÃO RÁPIDA DE PROGRAMAS (SHOWS) Autor: Ciro Ota São José dos Campos/SP, 13 de Março de 2008 INTRODUÇÃO: Nesse manual iremos ensinar como criar um programa de forma rápida e simples,
Tutorial básico para Kdenlive
Tutorial básico para Kdenlive Veja a lista completa de tutoriais para o Kdenlive 1. Download 2. Instalação Linux/Ubuntu 3. Instalação Windows 4. Conhecendo o programa - Interface 5. Edição com o Kdenlive
CURSO BÁSICO. Ao selecionar a sua disciplina, aparecerá a página principal contendo as informações e as atividades disponíveis.
CURSO BÁSICO COMO PARTICIPAR Da disciplina Ao selecionar a sua disciplina, aparecerá a página principal contendo as informações e as atividades disponíveis. Na parte superior da tela há uma barra de navegação
Solid Edge ST6. Tutorial 1. Modelando um pino MODELAGEM SÍNCRONA E ORDENADA (SYNCHRONOUS AND ORDERED):
Solid Edge ST6 Tutorial 1 Modelando um pino MODELAGEM SÍNCRONA E ORDENADA (SYNCHRONOUS AND ORDERED): Antes de começar é necessário saber que existem dois ambientes para criação de seus modelos: o ambiente
Configurações. Alterar o papel de parede
Alterar o papel de parede, na página 1 Alterar o toque, na página 2 Ajustar o brilho da tela, na página 2 Ajustar o contraste, na página 2 Alterar o tamanho da fonte, na página 3 Alterar o nome do telefone,
Réguas, a Flecha Azul e os Marcadores
Réguas, a Flecha Azul e os Marcadores Olá! Neste vídeo, vamos ver mais ferramentas de navegação no Pro Tools. Os Tópicos deste vídeo são os seguintes: 1. Réguas 2. Controlando o Ponto de Seleção (a Flecha
3. Conhecimentos Básicos
3. Conhecimentos Básicos 3.1 Sistema de Coordenadas A área de trabalho do AutoCAD é baseada em um sistema cartesiano de coordenadas, onde serão posicionados os pontos que definirão as entidades do desenho.
Aula 3 - Ondas Eletromagnéticas
Aula 3 - Ondas Eletromagnéticas Física 4 Ref. Halliday Volume4 Sumário - Transporte de Energia e o Vetor de Poynting; Polarização; Reflexão e Refração; Reflexão Interna Total; Situação a ser analisada...
POV-Ray. André Tavares da Silva.
POV-Ray André Tavares da Silva [email protected] www.povray.org Para você acessar o material do POV-Team, acesse o tutorial em www.povray.org Sintaxe A Linguagem de Descrição de Cena do POV- Ray possui
ACESSANDO O EADFASA. Passo a passo para acadêmicos. Núcleo de Educação a Distância - NEAD
ACESSANDO O EADFASA Passo a passo para acadêmicos Núcleo de Educação a Distância - NEAD Índice Primeiro acesso Troca de senha Acessando a sala virtual Respondendo a um fórum Abertura / Leitura de Arquivos
Processamento de Imagens Coloridas. Prof. Adilson Gonzaga
Processamento de Imagens Coloridas Prof. Adilson Gonzaga 1 Aparência de um Objeto A aparência de um objeto é o resultado de uma complexa interação da luz incidente sobre este objeto, suas características
Tutorial básico para Kdenlive
Tutorial básico para Kdenlive Veja a lista completa de tutoriais para o Kdenlive 1. Download 2. Instalação Linux/Ubuntu 3. Instalação Windows 4. Conhecendo o programa - Interface 5. Edição com o Kdenlive
BLOCO LOOP. Figura 1 Bloco loop (repetir para sempre) Figura 2 Bloco loop (repetir até o sensor de toque ser activado) PARÂMETROS DO BLOCO LOOP
BLOCO LOOP O bloco loop (loop block), que pertence a uma categoria de blocos de programação chamados blocos de fluxo (flow blocks), repete uma série de blocos até uma condição especificada ser satisfeita,
Tarefa 03 Professor Bernadelli
Tarefa 03 Professor Bernadelli 01. (ITA SP) Um raio de luz de uma lanterna acesa em A ilumina o ponto B, ao ser refletido por um espelho horizontal sobre a semi-reta DE da figura, estando todos os pontos
GUIA PRÁTICO. Câmera frontal. Diminuir/ Aumentar volume. Tecla Liga/ Desliga. Câmera. Sensor de impressão digital 5026J CJB1L43ALBRA
GUIA PRÁTICO Câmera frontal Diminuir/ Aumentar volume 6" Tecla Liga/ Desliga Câmera Sensor de impressão digital 5026J 1 CJB1L43ALBRA 1 Carregue completamente o dispositivo para o primeiro uso. Abra a tampa
Material reorganizado e adaptado por: Suéllen Rodolfo Martinelli. Disponibilizado em:
Material reorganizado e adaptado por: Suéllen Rodolfo Martinelli Disponibilizado em: www.scratchbrasil.net.br Material original criado por: Cesar Ferreira, Cláudio Gilberto César e Susana Seidel Disponibilizado
Manual de Utilização do Convert Video. Passo Fundo, abril de Av. Presidente Vargas, 1305 / Sala 201 Passo Fundo RS
Manual de Utilização do Convert Video Passo Fundo, abril de 2015 ÍNDICE 1) Acesso... 3 2) Permissões do Flash... 4 3) Configurações de Som... 5 4) Tela inicial do programa... 6 5) Funcionalidades da barra
Manual para App Android e Software Windows
INSTALAÇÃO DO APLICATIVO Acesse www.nse.com.br/downloads-manuais e baixe os programas de acordo com o dispositivo que irá utilizar. - Para uso em computador com Windows baixe Software Windows. - Para uso
Física 1. Resumo e Exercícios P1
Física 1 Resumo e Exercícios P1 Fórmulas e Resumo Teórico Parte 1 Derivada de polinômios - Considerando um polinômio P x = ax %, temos: d P x = anx%() dx Integral de polinômios - Considerando um polinômio
Tutorial de instalação e configuração do Software Giga VMS
Tutorial de instalação e configuração do Software Giga VMS Passo 1 Execute o instalador do Software Giga VMS. Passo 2 Marque a opção Português (br). Passo 3 Clique em Próximo. Passo 4 Aguarde a instalação
thereiny Manual do Usuário ThereMy
thereiny Manual do Usuário ThereMy CONSERVAÇÃO Madeira Recomenda-se aplicar lustra-móveis e dar brilho com um pano seco. Painel Utilizar álcool gel, porém nunca utilizar álcool líquido, pois poderá manchar
SOLID EDGE ST6 TUTORIAL 9 GERANDO VISTAS A PARTIR DE UM MODELO 3D. Aqui isso será feito com o corpo da Biela que você desenhou no tutorial 6.
SOLID EDGE ST6 TUTORIAL 9 GERANDO VISTAS A PARTIR DE UM MODELO 3D Seguindo este tutorial você estará apto a gerar vistas a partir de elementos 3D. O Solid Edge permite que sejam geradas vistas de modelos
ELABORADO POR ALBINO SZESZ JUNIOR E JEAN POPOATZKI (NUTEAD/UEPG) PONTA GROSSA, MARÇO DE 2017
ELABORADO POR ALBINO SZESZ JUNIOR E JEAN POPOATZKI (NUTEAD/UEPG) PONTA GROSSA, MARÇO DE 2017 Sumário Apresentação... 3 Ambiente Virtual de Aprendizagem (AVA-UEPG)... 4 Acessar o AVA-UEPG... 4 Login e senha...
Manual Caça-Pardal e Caça-Radares
Página 1 Sumário Caça-Pardal... 3 Introdução... 3 Como funciona o Caça-Pardal... 3 Como iniciar seu Caça-Pardal... 3 Os alertas sonoros e visuais... 4 Modificando as configurações do Caça-Pardal... 5 Computador
SIMULAÇÃO DO LABORATÓRIO DE SUPERFÍCIES EQUIPOTENCIAIS BASEADA EM REALIDADE VIRTUAL
SIMULAÇÃO DO LABORATÓRIO DE SUPERFÍCIES EQUIPOTENCIAIS BASEADA EM REALIDADE VIRTUAL Daniel Stefany Duarte Caetano, Alexandre Cardoso e Edgard Lamounier Jr. Universidade Federal de Uberlândia Faculdade
Fís. Monitor: Leonardo Veras
Professor: Leonardo Gomes Monitor: Leonardo Veras Espelhos esféricos: método analítico 20 set RESUMO Para fazer o estudo analítico do espelhos esféricos, precisamos definir algumas medidas. De acordo com
LISTA 2 ESPELHOS PLANOS (MÓD. 3 E 4)
1. (Epcar (Afa) 2016) Considere um objeto formado por uma combinação de um quadrado de aresta a cujos vértices são centros geométricos de círculos e quadrados menores, como mostra a figura abaixo. Colocando-se
Planejamento de Produção
Planejamento de Produção 1 Conteúdo 1. Propósito 3 2. Descrição e Utilidades do Planejamento de Produção 4 3. Criação de Lote de Produção 5 4. Informações a serem consideradas 10 4.1. Acompanhamento 11
Manual do Usuário Instrutor
0 Manual do Usuário Instrutor Sumário Tela de Login...2 Sincronizar dados...3 Agenda de aulas...3 Validação dos dados de aula...4 Criando a ancoragem e conectando com a câmera...4 Registrando localização...6
Utilização e visão geral dos aplicativos de Ensino Digital EvoBooks
Guia do usuário Como utilizar os aplicativos da EvoBooks? A metodologia de Ensino Digital EvoBooks utiliza uma série de aplicativos com conteúdos e aulas digitais estruturados. Vamos aprender como utilizar
Velocidade do Som. Comprimento da Onda
Velocidade do Som A propagação do som no espaço envolve três partes: a fonte de onde o som se origina, o meio no qual ele se propaga e o receptor, onde este som será percebido. Hoje estudaremos o meio
MANUAL DE OPERAÇÃO WCV EQUIPAMENTOS ELETRÔNICOS LTDA AL. DOS ANAPURUS, 1939 MOEMA - SÃO PAULO BRASIL
MANUAL SCOPE MANUAL DE OPERAÇÃO WCV EQUIPAMENTOS ELETRÔNICOS LTDA AL. DOS ANAPURUS, 1939 MOEMA - SÃO PAULO BRASIL TEL/FAX (11) 5535-7200 / 5531-5945 / 5531-8784 http://www.wcv.com.br Página 2 de 13 Índice
