• Nenhum resultado encontrado

CAPÍTULO 8. Desenhos, imagens e modelos 3D editores de imagens, CADs e modeladores 3D

N/A
N/A
Protected

Academic year: 2021

Share "CAPÍTULO 8. Desenhos, imagens e modelos 3D editores de imagens, CADs e modeladores 3D"

Copied!
32
0
0

Texto

(1)

47

*http://www.arandusistemas.com.br/Ingles/instruhiperion.htm e

http://www.web3d-fr.com/outils/Download-Cosmoworlds.php (versão válida por 30 dias)

Fig. 8-2 e 8-3 - a imagem mostra lado-a-lado o traço da lapiseira escaneado na resolução da tela e um traço feito com o ponteiro do mouse no programa Paint ().

Fig. 8-2 - a imagem escaneada tem as bordas do traço serrilhadas (baixa resolução), mas há uma gradação de cinza para suavizar o traçado.

Fig. 8-3 - o traçado no Paint não tem suavização e mostra claramente os pixels da tela. O traço é preto porque o pixel está apagado.

Fig. 8-1– rastro de uma lapiseira sobre o papel

Desenhos, imagens e modelos 3D

editores de imagens, CADs e modeladores 3D

Não é do escopo deste livro ensinar AutoCAD ou qualquer outro programa comercial, além da introdução a um editor de linguagem VRML chamado Hiperion e a um modelador 3D muito simples chamado CosmoWorlds, ambos de versão livre à disposição dos estudantes

*

.

Pretende-se, isto sim, introduzir as bases da computação gráfica 3D, CADs e modeladores 3D, mostrando como os métodos e técnicas da Geometria Descritiva e do Desenho Técnico – projeções, vistas ortográficas, perspectivas, etc. – estão presentes e são o fundamento operacional dos mais modernos e avançados programas da área.

Conhecendo as bases operacionais comuns a todos os programas, pode-se ter uma visão mais clara da área e desmistificar as ferramentas de desenho e modelagem. Com ferramentas simples, este livro percorre o terreno da construção e visualização de sólidos 3D com tecnologia de Realidade Virtual. O equivalente, em computador, ao traço feito pelo lápis em um pedaço de papel é o traço em qualquer programa editor de desenhos do tipo “Paint” do Windows.

No papel, a lapiseira deixa um rastro de grafite (Fig. 8-1) que é tanto mais irregular quanto mais rugoso for o papel e mais macio o grafite.

Na tela do computador, o equivalente à irregularidade do papel é a grade de pixels que forma a imagem (pixel é menor área da tela à qual é possível atribuir uma cor, ou seja, iluminar ou não com determinada cor).

Nos monitores, essa grade tem tipicamente uma “rugosidade” – chamada resolução - de 72 desses pixels por polegada (usa-se a notação 72 dpi, ou dots per inch - pontos por polegada).

O traço de lapiseira, escaneado na mesma resolução da tela do computador, 72 dpi, apresenta as bordas serrilhadas, com pixels em degradê de cinza (Fig. 8-2).

Um traço feito no editor Paint com o ponteiro do mouse não tem a mesma suavização e mostra exatamente o caminho do ponteiro na grade de pixels da tela (Fig. 8-3)

No traçado feito com o programa Paint, pode-se ver claramente a área quadrada dos pixels (menor área quadrada da tela) apagadas, portanto da cor preta

Programas como o Paint, Photoshop, Paintshop, etc. – são chamados editores de imagens e geram ou trabalham com imagens chamadas raster ou bitmap (mapa de bits). Os arquivos das imagens bitmap contém, basicamente, uma descrição – ou um mapa – dos pontos que a formam, cada um com sua coordenada XY e sua cor.

(2)

Pode-se fazer uma analogia entre o detalhe de uma foto digital em duas resoluções diferentes na tela do computador (Fig. 8-4) e o mesmo detalhe ampliado de uma revista (Fig. 8-5). O processo de impressão de imagens em revistas também é feito por pontos de cores diferentes (usa-se 4 cores ao invés das três cores da tela) para simular imagens suaves. Quanto maior a resolução (número de pontos por unidade de área), menor o tamanho dos pontos e maior perfeição da imagem.

Fig. 8-4 – detalhe de uma foto digital com resolução de 50 dpi e 150 dpi (Dot Per Inch, ou Pontos Por Polegada).

Fig. 8-5 – detalhe da mesma foto impressa em uma revista. Ao invés dos pixels, vê-se a formação da imagem pela impressão de pontos de cor diferente para dar, à distância, a sensação de continuidade e suavidade.

(3)

Fig. 8-6 – Detalhe de um desenho em uma revista em quadrinhos. Vistos à distância normal de leitura ou em tamanho reduzido, os pontos misturam-se e dão os meios-tons desejados.

Fig. 8-7 – Detalhe de uma foto digital de alta resolução. Fonte: Banco de imagens do Windows XP

(4)

Programas vetoriais de desenho

Programas como o AutoCAD ou CorelDraw descrevem suas imagens matematicamente por meio de arranjos vetoriais, e não por mapas de bits. Os programas vetoriais são mais adequados para imagens compostas de manchas ou traçados. Por esse motivo, embora programas como o CorelDraw ou Illustrator sejam adequados para a execução de ilustrações, não são usados para produção ou tratamento de imagens com variações tonais como fotografias.

Os traçados e construções vetoriais trabalham com a ideia de objetos e permitem atribuição de propriedades a cada objeto, manipulações e visualização não possíveis nos editores de imagens e seus bitmaps. Por exemplo, uma linha (ou segmento) é um objeto definido pelas coordenadas das suas extremidades e pode ser esticado (alterando a posição das extremidades), alargado, colorido, receber atribuições de funções, etc. Os objetos podem ser agrupados ou somados para formar um objeto maior e mais complexo, podem ser cortados, deformados, editados, subtraídos uns dos outros ou podem ser posicionados e manipulados de forma que o resultado seja a interseção entre eles. São inúmeras as operações possíveis com objetos.

O programa AutoCAD e todos os outros CADs foram criados para desenhar as linhas do desenho técnico. Por serem baseados no sistema de coordenadas cartesianas utilizado em desenho técnico, os CADs tem uma componente tridimensional, além dos eixos X e Y mostrados na tela. Dentro desse sistema

tridimensional, os CAD e todos os modeladores 3D permitem construir objetos tridimensionais e visualizá-los de uma infinidade de pontos de vista.

A Fig. 8-9 mostra uma tela do AutoCAD com duas imagens que, embora sejam iguais, têm estrutura diferente: a imagem da esquerda é um desenho de uma perspectiva cavaleira de um cubo na metáfora da folha de papel, e a da direita é produto da projeção, na tela, de um paralelepípedo (efetivamente tridimensional) que tem as arestas de profundidade (eixo Z das alturas, no AutoCAD) oblíquas ao plano XY. Girando o sistema de eixos em relação à tela do computador (

Fig. 8-10), pode-se ver claramente a diferença entre os dois objetos, um desenho bidimensional e uma construção tridimensional.

Fig. 8-10 – Rotacionando o sistema de eixos para ver as alturas, descobre-se que os dois objetos tem estruturas de dados diferentes: o desenho tem apenas coordenadas X e Y e a construção 3D tem coordenadas X, Y e Z.

Fig. 8-9 - Tela do AutoCAD com duas imagens iguais de construções diferentes: um desenho de um cubo em perspectiva, e um modelo 3D de um paralelepípedo que tem as arestas de profundidade (alturas, no AutoCAD) oblíquas ao plano XY

(5)

plotagem no papel - não simula a tridimensionalidade, é, efetivamente, tridimensional.

Fig. 8-11 – As janelas do AutoCAD podem mostrar até quatro vistas ao mesmo tempo. Nesta imagem da tela do AutoCAD, são mostradas a partir da imagem superior esquerda: vista de frente (plano XZ); vista lateral esquerda (plano YZ); vista superior (plano XY); e uma perspectiva isométrica.

Além da plotagem de coordenadas, objetos 3D podem ser criados no AutoCAD de diversas formas. A primeira técnica a ser lançada no início da demanda por modelos 3D foi a extrusão ou elevação das linhas de um desenho, isto é, levanta-se uma face vertical pela elevação de uma linha desenhada no papel.

Além do pioneiro AutoCAD, surgiram no mercado muitos outros programas CAD e de modelagem. Alguns deles conservaram, desde o início, a técnica do desenho e extrusão para geração de modelos 3D. O programa Form-Z, por exemplo, até hoje tem essa técnica como uma das principais, uma vez que é voltado para o mercado de arquitetura e faz a extrusão a partir dos desenhos de plantas-baixas.

(6)

A maioria dos modernos programas CAD e de modelagem 3D permite a criação de objetos 3D das mais diferentes formas, desde a montagem e construção com somatório de sólidos primitivos – esfera, cone, paralelepípedo e cilindro, para citar os mais básicos – até a modelagem por metaballs que é uma

tecnologia que tem células passíveis de se agregar e multiplicar para a modelagem de objetos orgânicos.

A linguagem VRML – Virtual Reality Modeling Language – é uma das que permite, muito facilmente por meio de arquivos-texto, gerar objetos com sólidos primitivos que vão-se compondo para resultar objetos mais complexos. Todos os modelos 3D do CD que acompanha este livro foram gerados com modeladores 3D que trabalham em VRML – geralmente CosmoWorlds. Daí os modelos serem VRML.

Um dos modeladores 3D mais simples e didáticos de utilizar é o CosmoWorlds, que trabalha basicamente com uma linguagem VRML clara e enxuta.

Fig. 8-13 – Interface do modelador CosmoWorlds que permitiu gerar os modelos e as animações 3D do CD-ROM que acompanha este livro.

(7)

O exercício da computação gráfica e da

modelagem 3D

Plotagem de coordenadas e visualização do modelo em um

sistema CAD

• plotagem das mesmas coordenadas em um sistema CAD, o que resulta um modelo 3D • visualização do modelo 3D em suas várias vistas ortográficas e possibilidades perspectivas em computador

Os primeiros programas Computer Aided Design (CAD) procuraram mimetizar e melhorar a prancheta de desenho para os projetos e desenhos de engenharia mecânica. Com os recursos de programação e processamento limitados da época, os programas adotaram a metáfora do desenho a lápis sobre papel, mas, por serem vetoriais, desde o início podiam conter informações tridimensionais. Ainda hoje os CADs possuem um referencial cartesiano que usa o plano XY para definir a folha de papel virtual na tela vertical do computador, com o eixo Z ortogonal à tela.

As primeiras versões do AutoCAD foram criadas visando os desenhos de engenharia mecânica. Para os desenhos bidimensionais e as vistas ortográficas de peças mecânicas e similares, a posição dos eixos cartesianos parece não ter tido maior importância. No entanto, quando arquitetos e outros profissionais começaram a desenhar plantas-baixas ou objetos tridimensionais com a base assentada nessa folha virtual de papel, as larguras ficaram corretamente sobre o eixo X, mas as profundidades ficaram sobre o eixo cartesiano das alturas, Y. Sobrou para o eixo Z a função de receber as alturas desses objetos que têm uma componente tridimensional explícita. Numa edificação, por exemplo, as alturas das paredes para a geração da maquete eletrônica são plotadas na direção do eixo Z, o que é uma inversão do sistema cartesiano convencional.

Programas mais recentes de modelagem 3D e as linguagens VRML (Virtual Reality Modeling Language) ou X3D também usam os eixos coordenados na mesma posição, mas, pelo fato de usarem metáforas de ambientes tridimensionais - ao invés da folha de papel na posição vertical – tem a base dos seus mundos virtuais assentada corretamente no plano definido pelos eixos largura-profundidade XZ.

A inversão do referencial cartesiano, em si, se usada no contexto dos programas CAD, pode não resultar em problemas. Porém, profissionais como pedreiros, serralheiros ou marceneiros usam e entendem o sistema cartesiano convencional XYZ como sendo largura-altura-profundidade, respectivamente.

Qualquer marceneiro entende que as medidas de 3,00 x 2,50 x 60 para um armário referem-se à largura, altura e profundidade. A inversão do sistema, para eles, pode resultar desastrosa.

Para exemplificar como acontece a inversão no AutoCAD, veja o abaixo resultado de três plotagens do objeto da Fig. 4-11: com as coordenadas originais (Fig.8-14); com as coordenadas alteradas para que o objeto resulte na posição original (Fig.8-15); com as coordenadas originais e o sistema de eixos invertido no programa (Fig.8-16). Note que, nos dois primeiros casos, está sendo usado o sistema de eixos padrão do AutoCAD, isto é, as alturas resultam no eixo Z.

Fig. 8-14 – Perspectiva NE Isometric Coordenadas dos vértices originais

Fig. 8-15 – Perspectiva NE Isometric

(8)

Coordenadas dos vértices originais

usadas nas Figs. 4-11, 8-14 e 8-16

Perspectiva NE Isometric

Coordenadas dos vértices alteradas

usadas na Fig. 8-15

Perspectiva NE Isometric

A (0; 0; 0) M (8; 3; 2) A (0; 0; 0) M (2; 8; 3) B (8; 0; 0) N (6; 3; 2) B (0; 8; 0) N (2; 6; 3) C (8; 0; 2) O (6; 3; 4) C (2; 8; 0) O (4; 6; 3) D (6; 0; 2) P (8; 3; 4) D (2; 6; 0) P (4; 8; 3) E (6; 0; 4) Q (8; 3; 6) E (4; 6; 0) Q (6; 8; 3) F (8; 0; 4) R (6; 3; 6) F (4; 8; 0) R (6; 6; 3) G (8; 0; 6) S (4; 2; 6) G (6; 8; 0) S (6; 4; 2) H (0; 0; 6) T (2; 2; 6) H (6; 0; 0) T (6; 2; 2) I (2; 2; 0) U (2; 4; 6) I (0; 2; 2) U (6; 2; 4) J (4; 2; 0) V (0; 4; 6) J (0; 4; 2) V (6; 0; 4) K (6; 3; 0) W (0; 7; 0) K (0; 6; 3) W (0; 0; 7) L (8; 3; 0) X (2; 7; 0) L (0; 8; 3) X (0; 2; 7) ARESTAS

AB, BC, CD, DE, EF, FG, GH, HA

IJ, JK, KL, LM, MN, NO, OP, PQ, QR, RS, ST, TU, UV, VW, WX, XI XU, IT, JS, KN, OR

WA, LB, MC, ND, OE, PF, QG, VH

Fig. 8-16- Perspectiva SW Isometric - Coordenadas dos vértices originais e eixos rotacionados

Plotagem das coordenadas originais com os eixos rotacionados pelo comando New UCS: rotação de 90º em torno de X e –90º em torno de Y.

Relembrando: no AutoCAD e programas similares, o processo de plotagem no sistema coordenado – ao contrário da plotagem no papel - não simula a tridimensionalidade, é, efetivamente, tridimensional.

Ao invés de lançar pontos que serão unidos para representar as arestas, nos CADs as arestas são criadas automaticamente com a entrada das coordenadas das extremidades de um segmento em um comando como Line, por exemplo.

Nessa plotagem de extremidades dos segmentos que serão as arestas de um objeto, é necessário estar atento para a ordem de entrada dos pontos e para a ligação entre eles ou não no momento da entrada de dados.

(9)

Visualização do modelo 3D

A plotagem das coordenadas tridimensionais no AutoCAD gerou um modelo aramado 3D, e não apenas uma perspectiva desenhada na metáfora da folha de papel.

A existência de um modelo 3D permite a visualização do objeto com imagens a partir de uma infinidade de pontos de vista. Uma das aplicações mais comuns desse recurso é a geração automática de vistas ortográficas do objeto, tendo-se dividido a área de trabalho do AutoCAD em quatro outras menores.

Fig. 8-17 – a janela do AutoCAD foi dividida em quatro e, além da perspectiva isométrica, cada uma recebeu uma vista – de frente, lateral esquerda e superior – por meio do menu View > 3D views.

Todos os programas mais conhecidos de CAD e modelagem 3D permitem a obtenção de uma infinidade de desenhos, imagens perspectivas, desenhos necessários para manufatura, vistas ortográficas, rotações, cortes, deformações, etc. a partir de um único objeto, modelo ou cena 3D original.

Os recursos de manipulação e visualização de um objeto, modelo ou cena 3D reduzem enormemente os gastos de tempo e trabalho normalmente despendidos para o desenho convencional – mesmo em CAD - de toda a documentação de um projeto.

A plotagem das coordenadas no AutoCAD por meio de comandos como Line, Polyline, 3D Polyline, etc. não cria um objeto formado por faces, ou um modelo sólido 3D. Cria apenas um aramado que, embora tridimensional, não possui superfícies para serem renderizadas, ou volume para ser cortado, etc.

No AutoCAD e outros programas para desenho, objetos 3D formados por superfícies podem ser definidos com comandos como 2D solid, 3D faces ou 3D surface.

Nos CADs e nos modeladores 3D, sólidos 3D podem ser construídos com operações de adição, subtração ou modificação de sólidos primitivos como esfera, cone, cilindro, paralelepípedo e outros.

(10)
(11)
(12)
(13)

Modelando em VRML

(por que VRML? )

Por que misturar Desenho Técnico e Geometria Descritiva com VRML?

Porque o exercício de modelagem com uma linguagem descritiva como o VRML, em um programa didático como o Hiperion, auxilia no desenvolvimento do raciocínio espacial necessário para essas disciplinas.

Além disso, com o crescente desenvolvimento e popularização dos procedimentos BIM (Building

Information Modeling ou Modelagem da Informação da Construção), esses exercícios são introdutórios às técnicas e tecnologias de modelagem e iniciam o aluno no que está por trás, nas bases, dos programas de computação gráfica.

O que é VRML?

É a sigla de "Virtual Reality Modeling Language" - Linguagem de Modelamento em Realidade Virtual - uma linguagem que permite descrever, ou seja, modelar, muito facilmente, objetos e "mundos"

tridimensionais interativos e/ou animados para a Web ou para serem vistos e manipulados em qualquer computador ou sistema.

Por "modelamento de objetos" entende-se a descrição, para o computador, das características de forma (geometria, tamanho, posição, orientação, etc.) dos objetos, como se o estivéssemos montando, esculpindo ou, efetivamente, modelando uma "massa" virtual no espaço e em três dimensões.

A tecnologia de Realidade Virtual permite interagir com o objeto modelado em "tempo real", ou seja, os movimentos do dispositivo de entrada (mouse, joystick, etc.) são acompanhados simultaneamente de movimentos do objeto (rotação, translação, etc.) na tela do computador.

Em outras palavras, a Realidade Virtual não imersiva permite-nos observar (visualizar) o objeto como se o estivéssemos manipulando à distância por meio de um braço mecânico ou qualquer outro mecanismo e essa manipulação fosse transmitida ao vivo para um monitor de televisão.

A linguagem VRML

VRML é simplesmente uma linguagem de descrição de uma cena que padroniza a maneira de como os meios tridimensionais são representados na Web. Diferentemente de linguagens de programação como C++, o VRML não tem que ser compilado e rodar. Melhor, arquivos de VRML são gramaticalmente analisados e então mostrados. Já que isso é um processo muito mais rápido, a criação de arquivos de VRML é muito mais simples do que uma programação. VRML permite mais interatividade e facilidades de melhoramentos incrementais, embora tenha recursos limitados.

Um arquivo VRML é carregado da mesma maneira que se acessam arquivos HTML (páginas da Web): clicando num link ou escrevendo um endereço e pressionando <ENTER>. Dependendo da velocidade de sua conexão e do tamanho do arquivo, o tempo de carregamento pode ser de poucos segundos ou muitos minutos.

Um arquivo VRML é um arquivo-texto que pode ser escrito em qualquer editor de texto, bastando que seja salvo no formato txt, trocando a extensão .txt por .wrl.

(14)

A ESTRUTURA E SINTAXE DO VRML

Nós, folhas e campos

A rigor, VRML é somente um formato de arquivo que descreve objetos. Teoricamente, os objetos podem conter qualquer coisa, geometria 3D, dados de som MIDI ou WAV, imagens JPEG, e assim por diante. VRML define um conjunto de objetos aproveitados para fazer gráficos 3D.

Esses objetos são chamados NÓS. Um arquivo VRML consiste de um grupo de nós e de nós-folha que vão se ramificando. Os nós contém atributos e dados, os quais são armazenados em campos.

Basicamente, pode-se dizer que um nó é um conjunto de especificações que determina as características dos objetos contidos na cena gráfica como tipo, forma, geometria, aparência, cor, textura, pontos de vista, luzes, sons, etc. Os nós definem a hierarquia e as características individuais de cada objeto dentro do contexto geral.

#VRML V2.0 utf8

# Criação de um cone sem cor, textura ou sombra Shape { geometry Cone { height 4 bottomRadius 2 } } # Fim do arquivo

O exemplo acima mostra a criação de um objeto cone com 4 unidades de altura e 2 unidades de raio da base, sem características de cor, textura ou sombra. O arquivo começa com o nó Shape, seguido do atributo geometry e do nome do objeto – Cone – com os seus campos de dados (fields), altura e raio da base (height e bottomRadius).

Note que os dados do cone estão nos campos height e bottomRadius que, por sua vez, estão entre as chaves do objeto Cone. Toda essa descrição geométrica está entre as chaves do nó Shape. Dá-se o nome de ninho a essa estrutura que tem umas declarações dentro das outras.

 A descrição de uma forma qualquer começa com o nó Shape, seguido do atributo geometry e do nome da figura desejada, com seus respectivos campos de dados (fields).

 Na estrutura de ninho, é preciso cuidado para que nenhuma chave e/ou colchete fique sem o seu correspondente fechamento, no seu devido lugar. A primeira chave aberta será a última a ser fechada dentro de um ninho.

 Em um arquivo VRML, o símbolo # indica que o que vem a seguir é um comentário que não tem valor de comando.

 Todos os arquivos da versão VRML 2.0 devem começar com os seguintes caracteres: #VRML V2.0 utf8

 VRML é sensível a letras maiúsculas e minúsculas; "Sphere" é diferente de "sphere" e "BEGIN" é diferente de "begin".

A descrição de um objeto com determinadas características de cor, textura, transparência, etc. deve incluir os nós appearance e material e seus atributos Appearance e Material dentro do nó Shape.

(15)

No arquivo que segue, além da definição de aparência e material, aparece a definição do tipo de navegação por meio do nó NavigationInfo.

#VRML V2.0 utf8

# Definição do tipo de navegação no browser # (girar o objeto como padrão inicial) NavigationInfo {

type "EXAMINE" }

# Criação de um cilindro vermelho opaco Shape { appearance Appearance { material Material { diffuseColor 1 0 0 ambientIntensity 0.2 specularColor 0 0 0 emissiveColor 0 0 0 shininess 0.2 transparency 0 } } geometry Cylinder { radius 2 height 4 } }

Características gerais dos nós

Um nó tem as seguintes características:

 Um Nome (Box, Sphere, Sound, SpotLight , etc.);

 Os parâmetros, chamados campos (fields), que distinguirão este nó dos demais com o mesmo nome. Por exemplo, cada nó Sphere pode ter um raio diferente, e diferentes spotLights tem diferentes intensidades, cores e posicionamento.

A maioria dos nós pode ser classificada dentro de uma de duas categorias: nós de grupo ou nós folhas, embora o VRML defina várias classes diferentes de nós.

Os nós de grupo juntam vários nós simultaneamente, permitindo uma coleção de nós (especificada em um campo chamado children) que será tratada como um único objeto.

#VRML V2.0 utf8

# Definição do tipo de navegação no visualizador NavigationInfo {

type "EXAMINE" }

# Nó Transform, de grupo do mundo - agrupa os vários filhos Transform {

children [

#Primeiro filho - cilindro verde Transform {

(16)

children [

#Descrição do cilindro Shape {

appearance Appearance { #aparência do cilindro: verde material Material { diffuseColor 0 1 0 } } geometry Cylinder { radius 1 height 2 } } ]

# transformação da situação original translation -0.7 -1 3.5

} #fim do primeiro filho

#Segundo filho - esfera vermelha Transform {

children [

# descrição da esfera Shape {

appearance Appearance { # aparência da esfera: vermelha material Material { diffuseColor 1 0 0 } } geometry Sphere { radius 2.5 } } ]

# transformação da situação original translation 2 0 1

} # fim do segundo filho

#Terceiro filho - cubo azul Transform {

children [ Shape {

(17)

diffuseColor 0 0 1 } } geometry Box { size 1.5 1.5 1.5 } } ]

# transformação da situação original (translação e rotação) translation -2.4 .2 1

rotation 0 1 1 .9 } # fim do terceiro filho

] #fim do children do mundo } # fim do nó de grupo

SISTEMA DE COORDENADAS

O VRML usa o sistema de coordenadas Cartesiano tridimensional. A sequência dos eixos é X,Y,Z, com a coordenada 0;0;0 (origem) no centro da tela.

Configuração inicial do sistema de eixos:

Eixo X - eixo das larguras - é um eixo horizontal, contido no plano da tela do monitor, com sua

parte positiva à direita da origem;

Eixo Y - eixo das alturas - é um eixo vertical, contido no plano da tela, com sua parte positiva

da origem para cima;

Eixo Z - eixo das profundidades - é um eixo horizontal, perpendicular ao plano da tela, com

sua parte positiva aquém da origem, ou seja, para fora do monitor.

O VRML usa o sistema de coordenadas Cartesiano tridimensional. A sequência dos eixos é X,Y,Z, com a coordenada 0;0;0 (origem) no centro da tela.

Os objetos são mostrados na tela bidimensional por projeção na direção positiva do eixo Z, com a parte positiva do X do lado direito e a positiva do Y para cima.

(18)

Os objetos são gerados na origem do sistema coordenado, uns sobre os outros.

Por default, todos os objetos são gerados centrados na origem do sistema coordenado padrão, uns sobre os outros. Para se obter uma "montagem" de objetos é necessário deslocar e/ou rotacionar cada um dos Shapes com a utilização do nó Transform.

Todos os objetos têm um centro de geração, de translação e de rotação, que normalmente está no centro geométrico do objeto. Os eixos coordenados próprios de cada objeto têm a origem nesse centro. Por default, todos os objetos são gerados centrados na origem do sistema coordenado padrão, uns sobre os outros. Uma transformação por meio de um nó Transform pode ser usada para alterar o

posicionamento default, transladando ou rotacionando o sistema cartesiano padrão de cada objeto.

A unidade de medida para a distância é o metro e para ângulos, radianos. TRANSFORMAÇÕES (TRANSLAÇÃO, ROTAÇÃO, ETC.)

Transformações são armazenados em nós Transform. Esses nós Transform definem as coordenadas espaciais para seus filhos (children).

As coordenadas espaciais dos nós filhos são relativas às coordenadas espaciais dos nós pais, isto é, as transformações acumulam-se conforme se desce na hierarquia da cena gráfica. Em outras palavras, dentro de um mesmo nó, uma transformação filha atua sobre a transformação anterior, e não sobre a posição original do(s) objeto(s).

O nó Rotation é usado para rotacionar objetos no espaço. Como exemplo, vamos rever o node Cone. Por default, todo cone é criado na posição vertical. Se quisermos um cone na horizontal, basta utilizar o node Rotation cuja sintaxe é a seguinte:

rotation X Y Z ângulo de rotação em RADIANOS #VRML V2.0 utf8 Transform { children [ Shape { appearance Appearance { material Material { diffuseColor 0.8 0.8 0.8 ambientIntensity 0.2 specularColor 0 0 0 emissiveColor 0 0 0 shininess 0.2 transparency 0 } } geometry Cone { height 2 bottomRadius 1 side TRUE bottom TRUE } ] rotation 0 0 1 1.57

(19)

APARÊNCIA

O nó Material define características dos objetos como cor e brilho. Os parâmetros que são usados determinam a forma coma a luz irá refletir sobre os objetos:

diffuseColor - Reflexão da cor que estiver incidindo sobre um objeto. Quanto mais diretamente a luz incidir sobre a superfície do objeto, mais luz será refletida. É usado para dar cor aos objetos.

ambientIntensity - Especifica quanto da luz ambiente um objeto deve refletir.

shininess e specularColor - Determinam a luminosidade de pontos de reflexão com maior quantidade de luz . Se o ângulo que a luz incidir for próximo do ângulo de observação, o valor de specularColor é adicionado ao cálculo de diffuseColor e ambientIntesity. Shininess determina o brilho do objeto. Quanto maior seu valor, maior o brilho.

emissiveColor - Usado para representar objetos incandescentes. Usado quando todas as outras cores são preta (0,0,0).

transparency - Determina o grau de transparência do objeto, que varia de 0.0 (totalmente opaco) a 1.0 (totalmente transparente). Exemplo: Material { diffuseColor 0.8 0.8 0.8 ambientIntensity 0.2 specularColor 0 0 0 emissiveColor 0 0 0 shininess 0.2 transparency 0 }

Como modelar um lápis

Veja como foi construído o lápis

A construção de um objeto qualquer pode ser feita por meio da geração de uma série de sólidos primitivos

e de seus respectivos deslocamentos para o devido lugar, como na contrução de blocos nos brinquedos do

tipo do "Pequeno Engenheiro" Lego, etc. A linguagem VRML - da mesma forma dos programas

(20)

modeladores 3D - dispõe basicamente de 4 sólidos primitivos: esfera, cilindro, paralelepípedo e cone para

essas montagens.

Sabendo que todos os objetos são gerados sobrepostos espacialmente no mesmo lugar - na origem de um

sistema cartesiano - a construção e montagem de um lápis pode ser resumida na seguinte sequência:

1. geração de um cilindro oco de cor vermelha, com 15 unidades de altura e 0,7 de raio;

2. geração de um cone de 2,5 de altura e 0,7 de raio (ponta de madeira do lápis);

3. deslocamento (translação) da ponta para o seu lugar;

4. geração de um cilindro de cor madeira, com 15 de altura e 0,65 de raio (miolo de madeira);

5. geração de um cilindro de cor vermelha, com 15,02 de altura e 0,3 de raio da base (grafite)

6. geração de um cone de cor vermelha, com 1,1 de altura e 0,3 de raio da base (ponta do grafite)

7. deslocamento (translação) da ponta do grafite para o seu lugar;

A translação adicional que aparece no arquivo do lápis é uma aproximação (zoom) e rotação do objeto

para posicioná-lo inicialmente mais próximo e de uma forma mais interessante.

#VRML V2.0 utf8

# Estabelecimento do tipo de navegação

NavigationInfo {

type "EXAMINE"

}

# Translação do lápis para mais longe da tela (ajustando o tamanho à ela) e inclinação para a esquerda. As

declarações "translation" e "rotation" que fazem isso estão no fim do arquivo, antes de fechar este nó

"Transform"

Transform {

children [

# Passo 1 - Geração do cilindro que é a casca do lápis

Shape {

appearance Appearance {

material Material {

diffuseColor 1 0 0

ambientIntensity 0.2

specularColor 1 1 1

shininess 0.5

}

}

geometry Cylinder {

radius 0.7

height 15

side TRUE

bottom FALSE

(21)

top FALSE

}

}

# Passo 2 - Geração do cone que é a ponta de madeira do lápis

Transform {

children [

Shape {

appearance Appearance {

material Material {

diffuseColor 1 0.8 0.5

ambientIntensity 0.2

}

}

geometry Cone {

height 2.5

bottomRadius 0.7

side TRUE

bottom TRUE

}

}

]

translation 0 8.75 0

}

# Passo 3 - Geração do miolo de madeira

Shape {

appearance Appearance {

material Material {

diffuseColor 1 0.8 0.5

ambientIntensity 0.2

}

}

geometry Cylinder {

radius 0.65

height 15.01

side TRUE

bottom TRUE

top TRUE

}

}

(22)

Shape {

appearance Appearance {

material Material {

diffuseColor 1 0 0

ambientIntensity 0.2

shininess 0.5

}

}

geometry Cylinder {

radius 0.3

height 15.02

side TRUE

bottom TRUE

top TRUE

}

}

# Passo 5 - Geração do cone da ponta de grafite

Transform {

children [

Shape {

appearance Appearance {

material Material {

diffuseColor 1 0 0

ambientIntensity 0.2

shininess 0.5

}

}

geometry Cone {

height 1.1

bottomRadius 0.3

side TRUE

bottom TRUE

}

}

]

translation 0 9.48 0

}

# Translação e rotação do lápis. Faz parte do primeiro nó "Transform", no topo deste texto.

]

translation 1 -1 -8

rotation 0 0 1 1

}

(23)
(24)

Hiperion

Editor de VRML

Diferentemente dos programas CAD, as ferramentas de modelagem 3D não são projetadas para desenhar um objeto, mas sim para construí-lo.

Os CAD´s - ou outros programas de desenho - trabalham com linhas que correspondem aos traços de um lápis sobre uma folha de papel. As representações resultantes desse traçado correspondem às imagens dos objetos obtidas a partir de um determinado ponto de vista, sistema projetivo, técnica de desenho, etc...

As ferramentas de modelagem 3D, ao contrário, permitem que se gere uma descrição geométrica tridimensional de um objeto, de forma que ele pode ser manipulado e visto como se existisse nas suas três dimensões reais.

IMPORTANTE: COMO RODAR O HIPERION NO SEU COMPUTADOR

Para que o programa Hiperion rode no seu computador, basta copiar os arquivos para uma pasta vazia e criar um atalho para lá.

O QUE É VRML?

VRML (Virtual Reality Modeling Language) é, como o nome diz, uma linguagem de modelamento de objetos com tecnologia de Realidade Virtual.

Por "modelamento de objetos" entende-se a descrição, para o computador, das características de forma (geometria, tamanho, posição, orientação, etc.) dos objetos, como se o estivéssemos montando, esculpindo ou, efetivamente, modelando uma "massa" virtual no espaço e em três dimensões.

A tecnologia de Realidade Virtual permite interagir com o objeto modelado em "tempo real", ou seja, os movimentos do dispositivo de entrada (mouse, joystick, etc.) são acompanhados simultaneamente de movimentos do objeto (rotação, translação, etc.) na tela do computador.

Em outras palavras, a Realidade Virtual permite-nos observar (visualizar) o objeto como se o estivéssemos manipulando à distância por meio de um braço mecânico ou qualquer outro mecanismo e essa manipulação fosse transmitida ao vivo para um monitor de televisão.

A rigor, VRML é somente um formato de arquivo que descreve objetos. Teoricamente, os objetos podem conter qualquer coisa, geometria 3D, dados de som MIDI ou WAV, imagens JPEG, e assim por diante

Um arquivo VRML é um arquivo-texto que pode ser escrito em qualquer editor de texto, bastando que seja salvo no formato txt, trocando-se depois a extensão para .wrl ao invés de .txt. (sugestão: isso já foi descrito anteriormente)

(25)

O QUE É HIPERION

Segundo seus criadores, Hiperion é um "Editor de VRML".

Tendo em vista que um arquivo VRML é um arquivo-texto que será lido e interpretado por um visualizador, o Hiperion apresenta dois programas lado-a-lado: um editor de textos e um programa ou "plugin" visualizador que irá mostrar o modelo interativo acabado. Esse visualizador não faz parte do Hiperion, apenas utiliza a sua janela direita. O visualizador - Cosmo Player, Cortona, etc. - deve ser instalado aparte para que o programa Hiperion funcione adequadamente.

Figura 1 - tela do Hiperion. À esquerda o editor de texto e à direita o visualizador.

Um arquivo VRML é composto de palavras que descrevem o que se deseja obter ou fazer. Essas palavras – como em toda linguagem – tem uma ordem e uma sintaxe corretas. O programa Hiperion auxilia a montagem dessa descrição, disponibilizando menus e botões com ícones para as funções descritivas que, quando apertados, inserem no texto as palavras ou blocos de palavras na sintaxe correta. Além disso, o programa facilita o fornecimento dos parâmetros físicos e das propriedades dos objetos (altura, largura, comprimento, posição, cor, reflexão, rugosidade, etc.) por meio do preenchimento de “fichas”

adequadas.

A descrição de um cone verde, por exemplo, resulta no seguinte arquivo-texto VRML #VRML V2.0 utf8 Shape { appearance Appearance { material Material { diffuseColor 0 1 0 } }

(26)

geometry Cone { height 2

bottomRadius 1 }

}

No Hiperion, esse texto é inserido na janela do editor, simplesmente colocando-se o cursor nos lugares adequados e apertando, sucessivamente, os botões “Shape”, “Appearance”, “Material” e “Cone”.

Veja o passo-a-passo logo adiante.

PASSO-A-PASSO PARA GERAR UM SÓLIDO EM VRML COM

AUXÍLIO DO HIPERION

Na linguagem VRML, toda a descrição da geometria de um sólido está ligada à função, ou melhor, ao “nó” Shape.

Num modelo VRML simples, a palavra - ou "declaração" - Shape é a primeira, logo depois do cabeçalho do arquivo.

1. Abra o programa Hiperion – aparecerá uma tela como na fig. 1 acima;

2. clique em Arquivos -> Editar -> VRML 2.0 ( ou tecle F12) para trocar para a linguagem versão 2.0;

3. clique em Arquivos -> Novo para abrir um novo arquivo-texto (ou aperte F10, ou ainda clique no botão N ) – abre-se uma janela como na fig. 3;

4. na janela de texto, coloque o cursor em uma linha abaixo da identificação da linguagem #(VRML V2.0 utf8);

Figura 3 - No editor de textos, Shape é o primeiro comando a ser escrito para um modelo simples.

(27)

5. clique na etiqueta “Figuras” e no ícone “Shape” (primeiro ícone à esquerda);

6. na janela de atributos, marque a palavra “appearance”

e clique OK;

7. no editor de textos, coloque o cursor à

direita da palavra “appearance”, clique na etiqueta “Propriedades” e no ícone “Appearance” (primeiro ícone à esquerda);

8. na janela Appearance, marque a palavra “material” e

clique OK;

9. no editor de textos, coloque o cursor à direita da palavra “material” e clique no ícone “Material” (penúltimo à direita);

(28)

10. na janela de características dos materiais, ajuste os valores de cor (RGB – Red / Green / Blue) com números entre 0 e 1, acompanhe a cor resultante e clique OK;

11. no editor de textos, coloque o cursor à direita da palavra “geometry”, clique na etiqueta “Figuras” e clique no ícone “Cone”;

12. ajuste os valores de raio da base e altura do cone e clique OK;

13. aperte o botão “Visualizar”, dê um nome para salvar o arquivo e aperte o botão salvar.

Nesse momento, você verá o sólido gerado na janela da direita. Qualquer modificação no arquivo texto pode ser visualizada instantaneamente simplesmente apertando o botão “Visualizar”. Como se trata de um texto em um editor de textos, as modificações podem ser feitas diretamente na janela do editor, isto é, pode-se apagar palavras, corrigir valores, inserir novas funções, etc., escrevendo-as como um texto qualquer.

Para obter melhores resultados e utilizar mais facilmente o editor Hiperion, é aconselhável entender um pouco mais da linguagem VRML. Veja um pequeno texto interativo no tutorial VRML do CD-ROM.

(29)
(30)
(31)

Para importar um objeto para dentro da cena, usa-se o nó “InLine” a partir do menu “File”.

Escolhe-se o arquivo por meio da janela “Import As InLine” e o objeto virá grudado ao cursor nas janelas das vistas

ortográficas ou da perspectiva. Esse arquivo (e todos os outros usados como InLine, textura, etc.) deve acompanhar o arquivo principal para poder ser visto em qualquer outro computador. Veja como colocar o endereço (URL) na figura abaixo.

(32)

ESCALA DOS OBJETOS

Os objetos importados podem não estar na mesma escala da cena. Nesse caso, deve-se ajustar o tamanho, lembrando que o VRML e o Cosmo Worlds usam metro como medida padrão. Pode-se dimensionar interativamente o objeto movendo os pontos laranja do Bbox, ou parametricamente mudando os valores do nó “Scale” no texto VRML. A grade (Grid) é um auxiliar valioso para um dimensionamento interativo.

Apertando a tecla Shift pode-se puxar os pontos e alterar a escala em cada uma das direções dos eixos,

Referências

Documentos relacionados

Diante desse contexto, este artigo tem por objetivo discutir as práticas formativas de profissionais com atuação no campo da gestão social, tendo como material empírico as

Necrose hepática Síndrome do desaparecimento do ducto biliar Distúrbios do sistema imunológico Reações alérgicas /hipersensibilidade (reações tipo alérgicas), como

Seu esforço por estabelecer uma relação, ainda que complexa, entre o respeito à lei moral inata no homem e o amor que esse mesmo homem sente por si próprio na definição

O concurso público para Professor Substituto constará de Prova de Análise Curricular (julgamento do Curriculum Vitae, em que serão analisadas as atividades

Para entender o supermercado como possível espaço de exercício cidadão, ainda, é importante retomar alguns pontos tratados anteriormente: (a) as compras entendidas como

II - de proventos ou de pensões, cujos montantes excedam cinqüenta por cento do limite máximo estabelecido para os benefícios do regime geral de previdência social de que trata

Relação entre acúmulo de Na no caule (cau), acículas (aci) e raízes (rai) de mudas de Pinus taeda, em função da alteração da condutividade elétrica (CE) do solo,

Texturas • São imagens achatadas (flat) aplicadas à objetos 3D • Responsáveis por da cor e vida aos objetos • Inicie criando uma pasta para as suas texturas • Escolha um bom