Você está na página 1de 29

Apostila de VRML Bsico

The Cyclops Project INE/CTC/U!C/"##$


M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
ntroduo
VRML uma Linguagem para Modelao de Realidade Virtual usada para
criar mundo de trs di menses. Trata- se de um formato de arqui vo objeto de 3D,
anlogo ao HTML (para objetos tridi mensi onais). Usando- se formas pr- defini das e
se especificando novas formas a parti r dessas, pode- se atribui r cor, forma, luz e
outros a um documento VRML.
H um tempo, surgi u a idia de levar a Realidade Virtual para a internet .
Dessa idia surgi u o VRML, que a abreviao de Virtual Reality Modeling
Language . VRML uma linguagem independente de plataforma que permi te a
criao de ambientes virtuais por onde se pode navegar, visualizar objetos por
ngul os diferentes e at interagi r com eles. Hoje, graas ao crescente investi mento
de grandes empresas, o VRML o padro para desenvol vi mento de aplicaes de
realidade virtual mul ti- usurio na internet . O objeti vo da linguagem este mesmo:
levar a realidade virtual para o usurio comum, atravs da internet . Com o rpido
avano da tecnologi a, os computadores pessoais esto cada vez mais rpidos e
poderosos, e isto faz com que a realidade virtual deixe de ser objeto de estudo dos
grandes centros de pesquisa e possa ser utilizada por usurios comuns.
A linguagem possui toda a estrutura necessria para o desenvol vi ment o de
aplicaes de realidade virtual. A pri mei ra verso ( VRML 1.0), com exceo de
algumas extenses, no possibili ta mui ta interao do usurio com o mundo virtual,
mas verses recentes acrescentam caractersticas como ani mao, som,
movi mentos de objetos e interao entre usurios. A lti ma verso a 2.0,
chamada Moving Worlds VRML 2.0. Por ser independente de plataforma, uma
aplicao VRML roda em qualquer mqui na que tenha um browser VRML, ou seja,
uma aplicao que roda no PC, roda numa Silicon Graphics, numa Sun, etc. sem
nenhuma alterao.
A indstria do entreteni ment o a que mais tem se beneficiado com os
recursos da RV. Muitas tecnologi as tambm so desenvol vi das parti ndo da
necessidade que certos filmes tm em passar para a tela as idias no papel. Um
exempl o a empresa Industri al Light & Magic de George Lucas que pretende num
futuro prxi mo desenvol ver atores humanos virtuais mais realistas para interagi r
com atores reais (como no fil me pionei ro Roger Rabbit ).
Na World Wide Web, a RV usada princi pal mente em jogos interati vos
criando ambientes em que o nvel de realidade dos cenrios se aproxi ma do mundo
real. Exempl os so os jogos M!.
Sociedades virtuais juntam em mesmo espao humanos, avatares e objetos
em 3D. Servindo como foco de estudo para comportamento humano em casos
concretos.
Mundos em VRML so adotados por usurios que desejam interao mais
face a face. O Brasil Virtual um exempl o onde criou- se uma espcie de cidade
tridi mensi onal na qual habi tantes podem construi r, comuni car- se e votar.
Na medici na virtual, a RV possibili ta construo de ambientes tridi mensionais
para operaes delicadssi mas a serem efetuadas, sem prejuzo para o paciente. a
maneira de praticar as aulas tericas e ainda consul tar a distncia atravs da
telemedi ci na. O projeto 'Homem Visvel ' foi pioneiro ao mapear todo o corpo
humano montando uma gigantesca base de dados de imagens virtuais. Este projeto
foi desenvol vi do pela "atinal Library Medicine #"LM$, a maior biblioteca mdica do
mundo e ponto de refernci a da medici na mundi al. O processo baseou- se em
escanear e digi tal izar cadveres perfei tos de ambos sexos - obtendo- se as imagens
Apostila de VRML Bsico
LI!-A . P*i&a "
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
tomogrfi cas de ambos, cada corpo foi seccionado em fatias de % && de espessura
e fotografado por cmara digi tal colori da de alta resoluo. No total 56 Gbytes de
espao que consti tuem a 19 000 imagens produzidas. O pri mei ro projeto a utilizar
esta base de dados foi a 'nalyse da Clnica Mayo, em Rochester , Estados Unidos. O
software 'nalyse permi te uma viagem virtual pelo corpo humano.
A Arqui tetura e a Construo Civil ainda usaro a RV para que o usurio
escolha e determi ne o ambiente em que vai morar. Mas j possvel o cliente andar
pela planta antes de aprovar o projeto, tudo isso feito por simul aes virtuais como
a Faculdade de Arqui tetura de tah . Nessa facul dade, criou- se um modelo de
hospi tal em VRML na W(), onde se permi te crticas e interao com o projeto.
Em design projetam- se roupas pelo MIT (nsti tuto de Tecnologi a), esta a
funo do Wearabl e co&puter . O MIT tambm desenvol veu *hoto )oo+, um amplo
banco de dados de faces onde pode- se procurar rostos conheci dos entre os
disponveis no sistema - particul arment e til para a polcia, jornalistas, etc. O
so,t-are capaz de notar pequenas mudanas no rosto (na face ou um corte de
cabelo).
Histrico de VRML


VRML foi exposto na pri mavera de 1994 na Primei ra Confernci a de World
Wide Web anual, rm Genebra- Suca.
Tim Berners- Lee e Dave Raggett organizaram uma sessao de )irds. o,.a.
/eather - Penas de um Pssaro - (BOF) para discuti r interfaces de VR para a World
Wide Web. Vrios freqentadores das discusses descreveram projetos ainda em
planejamento para construi r ferramentas de visualizao grfica para 3D que
interagissem com a Web. Todos concordaram com a necessidade dessas
ferramentas para ter uma linguagem comum de especificao de descrio de
cenrios 3D e hiperl i n+s WWW - um anlogo ao HTML para VR. O termo VRML foi
forjado, e o grupo resol ver comear com especificaes de trabal ho depois da
confernci a. A palavra Mar+p foi posteri ormente modi ficada para Modelao para
refleti r a natureza grfica do VRML.
Logo aps a Genebra, as listas de discusso ---. vr&l foram criadas para o
desenvol vi ment o de uma especificao para a pri mei ra verso de VRML. A adeso
foi excepcional: aps uma semana havia mais de mil membros. Aps se estabelecer,
Mar+ *esce do Labyrinth Group anunciou que desejava aprontar um esboo da
especificao para a Conferncia de Outono de WWW de 1994, em apenas 5 meses.
Era um calendri o mui to difcil: mas a pri mei ra verso no era mui to ambici osa e o
VRML poderia ser adaptado de uma soluo existente. A lista rapidamente acatou
que um grupo de regras para a pri mei ra verso, e comeou a procurar por
tecnologi as compatveis com as necessidades do VRML.
A procura por tecnologi as existentes envol veu vrios tipo de candi datos no
mundo. Depois de mui to deliberar a lista chegou a um consenso: o 0pen Inventor
'S1II /ile /or&at da Silicon Graphics Inc2 O Inventor /ile /or&at suportava
descries completas de cenrios de 3D com polgonos representando objetos,
ilumi nao, materiais, propriedades de ambientes e efeitos realistas. Um
subconj unto do nventor File Format, com extenses com suportes para redes,
formas para base de VRML.
Apostila de VRML Bsico
LI!-A . P*i&a /
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
Gavin Bell da Silicon Graphics adaptou para a lista de &ail o Inventor /ile
/or&at para VRML, com design de acordo com lista de discusso. SG tem
publici dade estabeleci da que o formato de arqui vo est disponvel para uso do
mercado aberto, e tem contri budo para um parser de formato de arqui vo num
domnio pblico para bootstrap (mecanismo de boot ) para desenvol vi ment o de
visualizador de VRML.
Aplicaes
A realidade virtual forma de interface mais natural entre o computador e o
ser humano. Por isso, o nmero de aplicaes mui to grande, em diversas reas do
conheci mento. A seguir esto alguns exempl os de aplicao : na rea de
visualizao de dados, podemos usar o VRML para criar grficos tridi mensionais, por
exempl o. fcil visualizar os nmeros de um grfico 3D. Fica mais fcil ainda
quando podemos visualizar este grfico por vrios ngulos diferentes. Veja um
exempl o desta aplicao: 1'! - VRML permi te que o projetista ou desenhista veja
seu modelo 1'! em um ambi ente 3D virtual interati vo, podendo mani pul ar e
visualizar o modelo de forma livre. Ou seja, o projetista pode acompanhar o
desenvol vi ment o do projeto usando VRML para visualizar seu modelo em trs
dimenses.
Passos Bsicos
uma linguagem interpretada composta por n, campo e comentri o.
Usa-se : #VRML V1.0 ascii para que o interpretador reconhea este
documento como VRML (*.wrl).
* N: comando que define formas e propriedades em VRML .
Ex. de Primiti vas: cubo, esfera, cilindro e cone,
=> Trans,or& (move, di mensiona e rotaciona objeto)
=> 'sciiTe3t (define texto ascii a ser mostrados)
=> Groupi nd "odes (agrupa informaes juntas - para reuso)
* Campo: atributos que os ns tem.
Ex.: Um cubo descri to pelas propriedades LARGURA, ALTURA e
PROFUNDDADE.
* Comentri o: " # " precede todo comentri o. Um comentri o pode ser feito em
qual quer posio na linha.
O ESPAO
Todas coordenadas em VRML so expressas em X,Y,Z. O eixo X representa o
eixo horizontal do moni tor, o eixo Y verti cal e o eixo Z, entra e sai.
Medidas lineares so em metros e angul ares, em radianos.
Um forma criada a princpio vazia, oca, sem cor e tem origem (0,0,0). Por
isso, esses atri butos devem ser modi ficados conforme a convenincia. Por exempl o,
Apostila de VRML Bsico
LI!-A . P*i&a 0
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
ao se representar- se um quarto, conveni ente que seja uma forma oca. possvel
especificar ilumi nao dentro de uma forma ( *oint Light ).
Os ns so basicamente quatro: cubo, esfera, cilindro, cone. E exceto, pelo
cubo, os outros ns so formas triviais.
O CUBO
Constitui uma forma de 6 faces e pode dispensar altura, largura e
profundi dade equi val entes.
#VRML V1.0 ascii
/* A sintaxe para construo de um cubo : */
Cube
{
width 2
height 2
depth 2
}

/* no lugar de 2 deve haver sempre um nmero real qual quer */
GRFCOS 3D
necessrio alguma fami li ari dade com internet e HTML. Para isso,
exempl i fi caremos instrues bsicas para a criao de mundos VRML. Usaremos um
editor de texto ascii e o bro-ser de VRML Live4!. Eventual mente pode- se
acrescentar textura aos arqui vos de imagem criados.
H trs elementos neste contexto: o observador, o objeto e a luz.
Um objeto mais compl exo pode ser defini do nas trs coordenadas: X, Y e Z. E
pode- se atribui r certas propriedades como:
* materi al : como o objeto interage com a luz.
* translati on : tradicional mente identi ficado como centro do objeto,
modi ficando esta propri edade, modi fica- se o centro do objeto (metros).
* rotation : muda a orientao de um objeto em cena (radianos).
* scaling : muda a dimenso dos objetos.
* lighti ng : aplica luz a cena.
* te3ture &appi ng : aplica imagem a superfcie de um objeto.

Grficos 3D definem espaos tridi mensi onais, como o sistema de trs eixos:
* X, que corresponde a largura;
* Y, a altura;
* Z , a profundi dade.

Eixos XYZ
Apostila de VRML Bsico
LI!-A . P*i&a 1
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
Assumi ndo um ponto no centro, a discrio de objetos em espao
tridi mensi onal expresso com as coordenadas representando com pontos absolutos
num sistemas de coordenadas tridi mensi onais relati vos ao ponto central.
Cada eixo tem direo positi va e negati va entendendo- se o ponto central
como cenrio. VRML padroniza o eixo Y positi vo aponta para cima, o eixo X positi vo
aponta para a direi ta e o eixo Z aponta direto para o usurio. Objetos com cenrio
podem ser rotacionados, provocando a orientao dos seus eixos mudem de acordo.
Uma vez que a locao do objeto estabeleci da, relati va ao centro absoluto,
pode ser orientada em uma ou mais de trs direes:
* 5a-: rotao sobre o eixo Y;
5a-, Rotao Y
* *itch: rotao sobre o eixo X;
*itch, Rotao X
* Roll : rotao sobre o eixo Z.
Roll , Rotao Z
Os trs eixos (X,Y,Z) e as trs rotaes ( 5a-, *itch, Roll ) juntos, so
referenci ados como seis graus de liberdade. O referencial e a orientao de objetos
em espao tridi mensi onal so determi nados por estas seis informaes.
COMO OS COMPUTADORES REPRESENTAM OBJETOS 3D
Quando um objeto grfico tridi mensi onal criado, um conjunto de pontos
normal mente costuma representar a forma. Desde que difcil ver a forma de um
objeto claramente quando somente alguns pontos so designados, este conjunto
chamado *oint 1loud - Nuvem de Pontos. Os pontos, ento, so ligados por linhas
para formar uma mal ha (&esh ou -ire,ra&e ). O -ire,ra&e mostra nitidamente um
grupo de polgonos (tipicamente tringul os, desde que possam ser rapidamente
gerados). importante lembrar que polgonos so tipicamente lados ou faces 2 Uma
face de polgono o lado da qual sua normal (um raio de luz atravessa o polgono
Apostila de VRML Bsico
LI!-A . P*i&a 2
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
no ngulo reto) distancia- se do polgono. Assim, os polgonos so visveis de fora e
invisveis por dentro.
Nuvem de Pontos
Apostila de VRML Bsico
LI!-A . P*i&a 3
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
Malha (Wire,ra&e$
Uma vez que os polgono foram criados, o computador pode ento escurecer
polgonos indi vi duais para produzir a aparnci a de um objetos slido.
Opcional mente o computador acresce a textura ao objeto. Texturizar torna possvel
criar rapidamente objetos de superfcies bastante compl exas.
Objeto Slido Objeto Texturizado
CRANDO MUNDOS VRML: TCNCAS PADRES
Descrio de Cenrio e *arsers
VRML uma linguagem de descrio de cenrios. Embora seja um linguagem
computaci onal, no uma linguagem de programao. Arqui vos VRML no so
compi lados, mas apenas arqui vos texto ascii que podem ser parsed por um
interpretador VRML. Os *arsers (programas interpretadores) so conheci dos
tambm como bro-sers VRML . Se voc j escreveu documentos HTML, ento
Apostila de VRML Bsico
LI!-A . P*i&a 4
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
conveniente trabal har num bro-ser HTML para ver os resultados desde trabal ho. O
mesmo acontece para VRML: escreve- se o cdigo no editor de texto asciii , salva o
arqui vo e se v o cenrio ou mundo VRML com o bro-ser VRML.
Sendo o cdigo VRML interpretado, os resultados visveis do cdigo variam
de um bro-ser para o outro. Alm do mais, VRML extendvel, isto , que
desenvol vedores do bro-ser podem adicionar funcionali dades no padro
linguagem.
Cenrio Grfico e Ns
Um bro-ser VRML deve reconhecer um arqui vo como cdigo VRML para
interpret- lo (*arser ). Este acoplado com um simples cabealho string no incio do
arqui vo:
#VRML V1.0 ascii
Este cabeal ho deve estar na pri mei ra linha do arqui vo VRML para ser
interpretado corretamente. Note que em mui tos casos o smbolo ' # ' indica
comentri o, exceto aqui.
Os objetos em um arqui vo VRML so chamados ns ou nodos. Quando
organizados hierarqui camente, os ns compe um cenrio grfico. Cada mundo
VRML , por mais simples que seja, um cenrio grfico. Os ns so de trs tipos:
* ns de forma: descreve geometri a real;
* ns de propri edade: que modifica geometri a;
* ns de grupo: podendo modi ficar um grupo de objetos como se fosse
apenas um objeto.
O efeito cumul ati vo dos ns em um cenrio grfico chamado estado (state).
Para mui tos propsi tos o nodo mais importante de grupo o node Separator ,
cujo uso :
Separator {
outros ns aqui
}
O n separador (Separator ) mantm encerrados os efeitos de modi ficao da
propriedade dos ns com ele. Assim, somente ns com separador podem ser
modi ficados por propri edades de ns com o mesmo separador; ns fora daquel e
separador no sero afetados por aquelas propri edades de ns.
Unidades de Medida
VRML assume os segui ntes valores para unidades de mensuramento:
* distnci a e tamanho: metro (&);
* ngulo: radianos;
* outros valores: porcentagem (expressa em fraes de 1).
Material
A propri edade material para qualquer forma pode ser especificada como N
Material, cujo uso :
Apostila de VRML Bsico
LI!-A . P*i&a $
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
#VRML V1.0 ascii
Separator {
Material {
ambi entColor 0.2 0.2 0.2
diffuseColor 0.8 0.8 0.8
specularColor 0 0 0
emissiveColor 0 0 0
shini ness 0.2
transparency 0
}
}
Cada documento de n Material que especifica um tipo de cor usa valores
RG) (ntensi dades Red, Green and )lue$ , o valor vermel ho o mais esquerdo, o
valor verde central e o azul o valor mais da direi ta. Teoricamente, qual quer cor
(nuana, saturao, valor) podem ser criados combi nando vermel ho, verde e azul
em diferentes intensidades.
Deseja- se uma esfera azul. Usam- se alguns componentes bsicos do VRML:
cabealho, Separator , Material , Sphere . Vai- se criar um arqui vo VRML que quando
traduzi do por um bro-ser VRML , ser descri to um mundo VRML que contm uma
esfera azul:
#VRML V1.0 ascii
Separator {
Material {
emissiveColor 0 0 1
}
Sphere { }
}
Esfera Azul
Note que o argumento radius (radianos) no foi usado no n sphere . Logo foi
assumi do um valor padro.
Textura
Apostila de VRML Bsico
LI!-A . P*i&a #
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
Qualquer forma pode ter a textura aplicada na sua superfcie. A textura pode
vir de um arqui vo externo de imagem para um arqui vo mundo VRML ou
especificado com o arqui vo mundo como uma srie de coordenadas. Exemplo:
usaremos arqui vos imagem, desde que seja a manei ra mais fcil para envol ver
rapidamente a forma de um objeto VRML numa textura. Uma textura de um arqui vo
de imagem pode ser aplicada a uma forma como n Te3ture6 :
#VRML V1.0 ascii
Separator {
Texture2 {
filename " "
image 0 0 0
wrapS REPEAT
wrapT REPEAT
}
}
Para nossos propsitos, somente o argumento ,ilena&e ser usado nesses
exempl os.
Vamos dizer que queremos fazer uma tora de pedra. Usando somente os
componentes: cabeal ho, Separator , Te3ture6 , 1ube. Vamos criar um arqui vo VRML
, que quando interpretado descreve o mundo VRML um objeto assemel hado a uma
tora de pedra .
#VRML V1.0 ascii
Separator {
Texture2 {
filename "stone.j pg
}
Cube {
width 1
height 2
depth 0.15
}
}
Apostila de VRML Bsico
LI!-A . P*i&a "5
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
Cubo Texturizado (Stone Slab)
Transformaes
Por de,aul t, objetos num cenrio VRML :
* tem como local do centro, o centro do cenrio;
* tem como orientao, a orientao padro do cenrio;
* tem como dimenses, as pri mi ti vas, isto , as dimenses
especificadas.
Exceto quando necessrio modi ficar alguns dessas convenes para um
objeto, uma ou mais transformaes sero usadas. Os nodos de transformaes so
um tipo de n propriedade.
Termos especiais costumam descrever as funes executadas pelos ns de
transformao so:
* translate7 muda a locao do centro do objeto;
* rotate : muda a orientao dos eixos do objeto;
* scale: muda di menses do objeto.
O n Trans,or& contm todas as funes de transformaes mencionadas
acima. Exempl o:
#VRML V1.0 ascii
Separator {
Transform {
translation 0 0 0
rotati on 0 0 1 0
scaleFactor 1 1 1
scaleOrientati on 0 0 1 0
center 0 0 0
}
}
Para o propsi to de simplici dade e melhor esclareci mento o relacionamento
de hierrqui co de ns no cenrio VRML , trs outros ns de transformao, que
Apostila de VRML Bsico
LI!-A . P*i&a ""
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
executam somente um tipo de transformao cada, sero usadas nesses exempl os.
Os ns so Translation , Rotation e Scale.
O n Translati on como um objeto de um ou mais de trs eixos. Seu uso :
#VRML V1.0 ascii
Separator {
Transform {
translation 0 0 0
}
}
Digamos que se queira inclui r uma esfera vermel ha num mundo j existente
que contm uma esfera azul. Usando os ns VRML , podemos criar um mundo VRML
que contenha ambas. Entretanto, por conveno, ambas esferas sero colocadas no
centro exato do cenrio. Por isso, usaremos n Translation para transformar o local
de uma das esferas, a azul, situando- as lado a lado. Exempl o:
#VRML V1.0 ascii
Separator {
Separator { # esfera vermel ha, de,aul t o centro do cenrio
Material {
emissiveColor 1 0 0
}
Sphere { }
}
Separator { # esfera azul, deslocada pelo eixo X positi vo
Translati on {
translation 2.25 0 0
}
Material {
emissiveColor 0 0 1
}
Sphere { }
}
}
Apostila de VRML Bsico
LI!-A . P*i&a "/
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
Esfera Vermel ha e Esfera Azul Deslocada
Note que cada nodo Sphere foi situada com um diferente nodo Separator
com as propri edades que influenci am cada uma. Assim os efeitos de cada ns de
propriedade (Material , Translati on , nesse exempl o) para que cada uma somente
afete os ns de forma (por exempl o: Sphere ) cujas propriedades desejamos
modi ficar. Note que o Separator contm todos os outros ns do cenrio grfico.
Embora no seja obrigatri o, aconselhvel usar " Separator Cenrio " em cada
cenrio grfico.
O n Rotation pode rotacionar um objeto em um ou mais de trs eixos, mas
usado normal mente para fazer rotao somente de um eixo por vez. O n Rotation
afeta a orientao:
#VRML V1.0 ascii
Separator {
Rotation {
rotati on 0 0 1 0
}
}
Digamos que se deseja um mundo com dois cones, um sobre o outro, um
apontando para cima e um para o lado. Usando ns de propriedade de VRML e o n
de forma Cone, poderemos criar um mundo VRML que contm um cone marrom e
um azul, um sobre o outro. Entretanto, por conveno, ambos cones devem apontar
para cima. Portanto, usaremos o n Rotation para mudar a orientao de um dos
cones, o azul, inclinando- o 90 para o lado.
#VRML V1.0 ascii
Separator {
Separator { # brown cone, translated along the negati ve Y axis
Translati on {
translation 0 -2 0
}
Apostila de VRML Bsico
LI!-A . P*i&a "0
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
Material {
emissiveColor 1 0.6 0.44
}
Cone {
height 2
bottomRadi us 0.5
}
}
Separator { # blue cone, rotated 90 degrees on the Z axis
Rotation {
rotati on 0 0 1 1.57
}
Material {
emissiveColor 0.4 0 1
}
Cone {
height 2
bottomRadi us 0.5
}
}
}

Cone Marrom e Cone Azul Rotacionado
N Scale atri bui escala ao objeto ao longo de um ou mais dos seus trs eixos.
#VRML V1.0 ascii
Separator {
Scale {
scaleFactor 1 1 1
}
}
Apostila de VRML Bsico
LI!-A . P*i&a "1
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
Este n pode criar uma verso das esferas em que pode se ver as duas sem
que uma compri ma a outra.
#VRML V1.0 ascii
Separator {
Separator { # red sphere
Material {
emissiveColor 1 0 0
}
Sphere { }
}
Separator { # blue sphere, scaled down on the X and Z axes
Translati on {
translation 2.25 0 0
}
Scale {
scaleFactor 0.6 1 0.6
}
Material {
emissiveColor 0 0 1
}
Sphere { }
}
}
Esfera Vermel ha e Esfera Azul Escalada
O n Scale foi situado aps o n Translation com o Separator da esfera azul.
O estado do cenrio varia de acordo com a ordem dos seus ns, o efeito de " Scale,
Translati on diferente de " Translati on , Scale ".
nstancializao
Apostila de VRML Bsico
LI!-A . P*i&a "2
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
Uma maneira de reduzir o nmero de ns que so usados no arqui vo mundo
que descreve mui tas formas, reutil izar definies de objetos em cenrios. Esse
processo a instancializao. As sentenas !(/ e S( permi tem o processo:
#VRML V1.0 ascii
Separator {
DEF name
shape node
or
DEF name
Material { }
or
DEF name
Separator {
groupi ng, property and shape nodes
}
Separator {
USE name
}
}
Exempl o do siri no fundo do mar, com partes instanci adas:
#VRML V1.0 ascii
Separator {
Separator { # viewpoi nts
DEF Cameras Switch {
whichChild 0
DEF "Crab!" Perspecti veCamera {
position 0 0 7
}
}
}
Separator {
Rotation {
rotati on 0 1 0 1.57
}
Separator { # body
Scale {
Apostila de VRML Bsico
LI!-A . P*i&a "3
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
scaleFactor 1 0.3 1
}
Material {
diffuseColor 0.8 0.8 1
}
DEF Ball
Sphere {
radius 2
}
}
DEF 3Legs
Separator { # 3 legs 1
DEF Leg
Separator { # leg 1
Material {
diffuseColor 1 0.3 0.3
}
Separator { # upper leg
Translati on {
translation 0 0.55 2.3
}
Rotation {
rotati on 1 0 0 0.9
}
DEF LegSegment
Cylinder {
height 2
radius 0.13
}
}
Separator { # joint
Translati on {
translation 0 1.26 3.15
}
Scale {
scaleFactor 0.095 0.095 0.095
}
USE Ball
}
Separator { # lower leg
Translati on {
translation 0 0.7 3.85
}
Rotation {
rotati on 1 0 0 -0.9
}
Scale {
Apostila de VRML Bsico
LI!-A . P*i&a "4
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
scaleFactor 0.8 0.8 0.8
}
USE LegSegment
}
}
Separator { # leg 2
Translati on {
translation 0.62 0.2 -0.2
}
Rotation {
rotati on 0 1 0 0.65
}
USE Leg
}
Separator { # leg 3
Translati on {
translation -0.62 0.2 -0.2
}
Rotation {
rotati on 0 1 0 -0.65
}
USE Leg
}
}
Separator { # 3 legs 2
Rotation {
rotati on 0 1 0 3.14
}
USE 3Legs
}
DEF Eye
Separator { # eye 1
Material {
diffuseColor 1 1 1
Translati on {
translation -1.95 0 -0.45
}
Rotation {
rotati on 0 0 1 -1.9
}
Cone { # eyebal l
height 0.4
bottomRadi us 0.2
}
Material {
diffuseColor 0 0 0
}
Apostila de VRML Bsico
LI!-A . P*i&a "$
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
Translati on {
translation 0 -0.015 0
}
Cone { # iris
parts BOTTOM
height 0.4
bottomRadi us 0.1
}
}

Separator { # eye 2
Translati on {
translation 0 0 0.9
}
USE Eye
}
}
}
Siri no Fundo do Mar com Partes
nstanciadas
nlines
uma outra forma de instanciar objetos. Esta forma acoplada com o n
WWWInline :
#VRML V1.0 ascii
Separator {
WWWnline {
name ""
bboxSize 0 0 0
bboxCenter 0 0 0
}
}
Apostila de VRML Bsico
LI!-A . P*i&a "#
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
O campo "a&e o cami nho do arqui vo World a ser usado. Os campos
bbo3Si8e e bbo31enter opcional mente descrevem caixa limi tada (boundi ng bo3 ),
que dados ao usurio como indicati vo da locao do objeto e tamanho antes de
ser interpretado. Caixas limi tadas podem ser bastante teis para a construo de
mundos mui to grandes ou mui to complexos.
lumi nao
possvel tambm prover ilumi nao para os mundos VRML. Caso no se
especifi que as propriedades referentes a ilumi nao, o mundo VRML assume o
padro do bro-ser de VRML .
Para isso usa- se ns de ilumi nao, isto , para criar fonte de ilumi nao.
Basicamente dependendo da sua posio no cenrio grfico e tipo, ns de
ilumi nao afetam outras formas no cenrio e podem ser transformadas. Como
outros ns de propri edade se um n de ilumi nao est num Separator no afetar
formas externas a este Separator .
Os ns de ilumi nao de VRML so: !irecti onalLight , *ointLight e SpotLight .
O n !irectionalLight cria uma fonte de ilumi nao que afeta a todas formas
na direo especificada:
DirectionalLi ght {
on TRUE
intensi ty 1
color 1 1 1
direction 0 0 -1
}
Alguns bro-sers VRML assumem uma luz de centro por conveno, que
brilha no cenrio, ao longo do eixo Z negati vo. Definiremos fonte de luz para
ilumi nar o eixo X:
#VRML V1.0 ascii
Separator {
DirectionalLi ght {
on TRUE
intensi ty 0.4
direction -1 0 0
}
DirectionalLi ght {
on TRUE
intensi ty 0.4
direction 1 0 0
}
Separator { # brown cone, translated along the negati ve Y axis
Translati on {
translation 0 -2 0
}
Material {
emissiveColor 1 0.6 0.44
Apostila de VRML Bsico
LI!-A . P*i&a /5
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
}
Cone {
height 2
bottomRadi us 0.5
}
}
Separator { # blue cone, rotated 90 degrees on the Z axis
Rotation {
rotati on 0 0 1 1.57
}
Material {
emissi veColor 0.4 0 1
}
Cone {
height 2
bottomRadi us 0.5
}
}
}
Dois Cones lumi nados
Cameras (Pontos de Vista)
Um ponto de vista (vie-poi nt ) a posio exata da qual o mundo VRML
visto: defini da no cenrio grfico do arqui vo -orld . Nos exempl os anteri ores o
vie-poi nt padro, tambm conhecido como entry vie- , foi o nico considerado. O
entry vie- a posio da qual vemos o cenrio quando o mundo VRML
representado no bro-ser , se nenhum outro ponto de vista foi defini do no mundo.
Para ver os exempl os anteri ores de novos pontos de vista, necessrio
navegar manual mente para aquela posio. O que se faz para o usurio ver um
mundo VRML de uma posio especial, alm da padro, assim que o cenrio
carregado o pri mei ro momento?
Apostila de VRML Bsico
LI!-A . P*i&a /"
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
VRML ns ca&era para defini r posies exatas para visualizar um cenrio.
Alm da dificul dade de precis- lo, ns ca&era podem ser vistos como ns
propriedade (property nodes ), desde que:
1. eles paream transformar as formas em um cenrio;
2. alguns dos seus parmetros, comportando- se como lentes de efeitos
especiais, criem a iluso de distanciamento das formas, mesmo depois do usurio
ter- se afastado da posio da ca&era .
Dois ns ca&era , *erspecti ve1a&era e 0rthographi c1a&era , so defini dos
em VRML . Mas apenas o *erspecti ve1a&era normal mente suportado por
bro-sers VRML :
#VRML V1.0 ascii
Separator {
Perspecti veCamera {
position 0 0 1
orientati on 0 0 1 0
focalDistance 5
heightAngl e 0.785398
}
}
Usa-se o n de agrupamento S-itch para mel hor defini rmos ml ti pl os
vie-poi nts :
#VRML V1.0 ascii
Separator {
Switch {
whichChild -1
}
}
Usando o exempl o do siri no fundo do mar (deep sea crab ), demonstramos
ns WWWInline , *erspecti ve1a&era e S-itch :
#VRML V1.0 ascii
Separator {
Separator { # viewpoi nts
DEF Cameras Switch {
whichChild 0
DEF "Front" Perspecti veCamera {
position 0 0 7
}
DEF "Back" Perspecti veCamera {
position 0 0 -7
orientati on 0 1 0 3.14
Apostila de VRML Bsico
LI!-A . P*i&a //
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
}
DEF "Side" Perspecti veCamera {
position 7 0 0
orientati on 0 1 0 1.57
}
DEF "Top" Perspecti veCamera {
position 0 10 0
orientati on 1 0 0 -1.57
}
DEF "Bottom" Perspecti veCamera {
position 0 -10 0
orientati on 1 0 0 1.57
}
}
}
Separator { # crab
WWWnline {
name "1crab1.wrl "
}
}
}
Siri no Fundo do Mar com Ponto de Vista
Nvel de Detal hes
#VRML V1.0 ascii
LOD {
range [ ]
center 0 0 0
}
Apostila de VRML Bsico
LI!-A . P*i&a /0
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
Usando trs nodos forma pri mi ti va, instancializao e o n L0!, ser
possivel defini r trs nveis de detalhe, contendo um grupo de formas pri mi ti vas,
cada grupo contendo uma cor diferente:
#VRML V1.0 ascii
Separator {
Perspecti veCamera {
position 0 0 102
}
DirectionalLi ght {
on TRUE
intensi ty 0.7
direction 0 0 -1
}
LOD { # level- of- detail
range [ 50,70 ]
Separator { # third level, red
Material {
emissiveColor 1 0 0
}
DEF ObjectSet
Separator {
Separator { # Cube
Translati on {
translation -2 0 0
}
Cube {
width 1
height 1
depth 1
}
} # end of Cube Separator

Separator { # Cone
Translati on {
translation 0 -2 0
}
Cone {
height 1.5
bottomRadi us 0.5
}
} # end of Cone Separator
Separator { # Cylinder
Translati on {
translation 2 0 0
Apostila de VRML Bsico
LI!-A . P*i&a /1
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
}
Cylinder {
height 1.5
radius 0.65
}
} # end of Cylinder Separator
} # end of ObjectSet defini ti on Separator

Translati on {
translation 0 0 25
}
Rotation {
rotati on 0 1 1 0.4
}
Rotation {
rotati on 0 1 0 3.14
}
USE ObjectSet

} # end of third level Separator
Separator { # second level, green
Translati on {
translation 0 0 50
}
Material {
emissiveColor 0 1 0
}
USE ObjectSet

Translati on {
translation 0 0 10
}
Rotation {
rotati on 0 1 1 0.4
}
Rotation {
rotati on 0 1 0 3.14
}
USE ObjectSet
} # end of second level Separator
Separator { # first level, blue
Translati on {
translation 0 0 70
}
Material {
Apostila de VRML Bsico
LI!-A . P*i&a /2
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
emissiveColor 0 0 1
}
USE ObjectSet
Translati on {
translation 0 0 25
}
Rotation {
rotati on 0 1 1 0.4
}
Rotation {
rotati on 0 1 0 3.14
}
USE ObjectSet

} # end of first level Separator
} # end of level- of-detail
}
Primi ti vas com Nvel de Detal hes
CRANDO MUNDOS VRML
Cores de Fundo
Live4! permi te definir cor para fundos de mundos VRML , com extenso
)ac+ground1olor do Live4! de VRML :
DEF BackgroundColor nfo {
string ""
}
Apostila de VRML Bsico
LI!-A . P*i&a /3
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
Criaremos uma verso do siri no fundo do mar (!eep Sea 1rab) que tenta
mostra- se no oceano. Criando um mundo que importa (por Inlines ) o modelo do siri
e usando o n )ac+ground1olor , um siri ser mostrado no campo azul esverdeado:
#VRML V1.0 ascii
Separator {
DEF BackgroundColor nfo {
string "0.15 0.6 0.7"
}
Separator { # viewpoi nts
DEF Cameras Switch {
whichChild 0
DEF "Crab!" Perspecti veCamera {
position 0 0 7
}
}
}
Separator { # crab
WWWnline {
name "1crab1.wrl "
}
}
}
Siri no Fundo do Mar com Cor de Fundo
magem de Fundo
Live4! permi te usar imagens para fundos nos mundos VRML . Extenses
)ac+groundI&age VRML possibili tam isso:
DEF Backgroundmage nfo {
string ""
}
Para criar uma verso mais realista do siri no fundo do mar tenta se mostrar
no oceano, modifica- se exempl o usado para rever o n )ac+ground1olor
Apostila de VRML Bsico
LI!-A . P*i&a /4
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
substi tui ndo o n )ac+groundI&age no Live4!. Assim d- se a impresso da
vibrao da gua do mar atrs do model o do siri:
#VRML V1.0 ascii
Separator {
DEF Backgroundmage nfo {
string "baki mage.j pg"
}
Separator { # viewpoi nts
DEF Cameras Switch {
whichChild 0
DEF "Crab!" Perspecti veCamera {
position 0 0 7
}
}
}
Separator { # crab
WWWnline {
name "1crab1.wrl "
}
}
}
Siri no Fundo do Mar com magem de Fundo
Apostila de VRML Bsico
LI!-A . P*i&a /$
Apostila de VRML Bsico
The Cyclops Project INE/CTC/U!C/"##$
M%&ica Mari a Bra'ors(i e E)erli& i*hera Mar+,es
Referncias Bibliogrficas
http://www.netscape.com/eng/l i ve3d/howto/vrml_pri mer_index.ht ml
http://apertos0.csc.uvic.ca/ ~brycerw/vrml_tutori al /tutf rame.ht m
http://www- ipf.bau- verm.uni- karlsruhe.de/Personen/l andes/book.ht ml
http://www.dc.ufscar.br/ ~grv/ vrml / t utori ais/vrml 10/ # nt roduo
http://tom.di .umi nho.pt/vrml /
http://www.sdsc.edu/vrml /
http://www.eecs.tul ane.edu/www/Benetz/ mai npage.ht ml
http://www.ezi nfo.ethz.ch/general_info/WWW5/tutori al_2.ht ml
http://www.sdsc.edu/vrml /cgi- bin/displ ay.cgi?category=Tut ori al s+- +VRML
http://www.i webmasters.com/HTML%20Links.ht ml
http://www.sdsc.edu/vrml
Apostila de VRML Bsico
LI!-A . P*i&a /#

Você também pode gostar