|
|
m e n u |
início > realidade virtual > vrml > formas arbitrárias | ||||||||||||||||||||
realidade virtual conceitos básicos dispositivos vrml introdução primitivas transformações imagens |
Formas Arbitrárias Até agora o nosso mundo está limitado à utilização das primitivas gráficas. Caso seja do nosso interesse descrever objetos mais complicados, teríamos que fazê-lo concatenando cubos, esferas, cones e cilindros. Para sanar esta limitação veremos nesta seção técnicas que nos darão maior liberdade criativa. Pontos, Segmentos e Faces É possível especificar pontos isolados em VRML os que, convenientemente unidos, poderão formar segmentos ou faces. Dado que a sintaxe dos respectivos nós é bastante intuitiva, proceder-se-á a apresentação de exemplos ao invés de discutir a sua estrutura.
Mas é muito difícil enxergar alguma coisa, dado que os pontos são adimensionais. Eles são, contudo, os elementos básicos para a definiçào de segmentos, tal como se mostra no seguinte exemplo.
É fácil perceber que o que mudou do exemplo anterior para este é o nome do nó (IndexedLineSet) e a especificação da seqüência de pontos que devem ser unidos (coordIndex). Com a mesma filosofia podem ser contruídas faces, tal como ilustrado a seguir.
Desta maneira podem ser construídas figuras côncavas mas, para tanto, deve ser acrescentada a opção convex FALSE dentro do nó geometry. Topografia A maneira usual de descrever cenários topográficos em VRML é através do uso do nó ElevationGrid. Esse nó permite especificar a altura (coordenada y) de cada ponto no plano (x,z), desde que estes pontos estejam regularmente espaçados. A sintaxe deste nó de geometria requer a especificação do número de pontos amostrados na coordenada x (xDimension), o número de pontos amostrados na coordenada z (zDimension), o espaçamento entre pontos no eixo x (xSpacing), o espaçamento entre pontos no eixo z (zSpacing) e as alturas observadas em cada um destes pontos (height). O número total de alturas deve ser o resultado do produto entre o número de pontos em cada eixo. Na hora de construir o modelo o primeiro ponto da lista de alturas é colocado na origem do sistema de coordenadas, o segundo ponto é colocado à direita ao longo do eixo x e à distância especificada para esse eixo, e assim por diante até completar a primeira linha. O primeiro ponto da segunda linha é colocado frente à primeira linha (mais próximo ao/à observador/a) à distância especificada para o espaçamento no eixo z. O modelo padrão supõe que a topografia assim definida é sólida, i.e., que não poderá ser vista dese abaixo. Para que a visão inferior seja construída é necessário especificar que o modelo não é sólido; isto é feito usando a variável lógica solid. A suavidade com que as faces são construídas pode ser controlada com o parâmetro creaseAngle (ângulo de dobra ou prega). Esse ângulo, especificadom em radianos, é um limiar:
Quando não especificado o creaseAngle vale zero, fazendo com que não seja feita nenhuma tentativa de suavizado da superfície. Disponibiliza-se a seguir um exemplo fornecido no livro de Ames et al., para que o/a leitor/a modifique as especificações de solid, de creaseAngle, de espaçamento nos dois eixos e verifique o resultado visual destas alterações.
O/a leitor/a pode pegar um conjunto de dados bastante interessante, disponível no arquivo tenda.dat. Nesse arquivo foi gerada uma matriz de 50x50 pontos em função de uma equação que envolve uma função exponencial cujo argumento é a soma de duas funções trigonométricas. A tarefa consiste em visualizar esses dados modificando os parâmetros do nó ElevationGrid. Extrusão Este substantivo, sinônimo de explosão, é empregado em engenharia para denominar o processo de formar sólidos fazendo passar materiais pastosos através de orifícios, para depois esperar que o material se solidifique... mais ou menos o que acontece quando se decora um bolo. Para formar uma extrusão em VRML (técnica que nos dará ainda mais liberdade para criar objetos) precisamos descrever a seção do objeto e a trajetória que essa seção percorrerá. Adicionalmente podem ser fornecidas, a escala a aplicar a esta seção em cada ponto da trajetória e a orientação da mesma em cada instante. Novamente, ilustraremos o uso deste novo nó através de exemplos.
Aqui vale a mesma observação já feita para construir objetos côncavos. Dois exemplos interessantes do uso deste nó são a Faixa de Möebius e a Garrafa de Klein.
|
||||||||||||||||||||