24
12 2.1. COMPUTACION GRAFICA El aporte que ha realizado la computación gráfica a las diversas actividades ha sido de una magnitud insospechada, es así que actual- mente un trabajo de ingeniería o arquitectura no se concibe sin el aporte de la informática. A su vez, grandes avances de la computación se deben a los requerimientos que las tareas gráficas le han exigido. La información gráfica se maneja en el computador básicamente de dos maneras: como un mapa de puntos (bit-maps) o como una geometría vectorial. Las imágenes de puntos se utilizan en el procesamiento de fo- tografías digitalizadas (por scanner o cámara digital) o en dibujos sencillos (paint), y con- sisten en una trama de puntos de color (pixels) que representan la imagen. Se caracterizan por su facilidad de manipulación cambiando la tonalidad de los puntos, pero están limitadas en resolución y precisión, además que son planas (bi-dimensionales). El archivo digital se puede conservar en una diversidad de formatos, entre los que podemos mencionar: BMP, PCX, TIF o JPG. SOFTWARE: Fundamentos de los programas para Realidad Virtual Por su parte, los archivos geométricos guardan la información precisa de las formas gráficas, a través de un sistema de coordena- das cartesianas (X,Y). De este modo, cada fi- gura se identifica por sus puntos extremos, y pueden ser representadas a cualquier escala o calidad de imagen (son independientes de la resolución). Naturalmente, la definición y manejo de las figuras geométricas son más complejas, pero permiten trabajar con dimen- siones exactas e incluso con formas tridimensionales, porque basta con agregar un tercer eje de coordenadas (Z). Estos progra- mas son denominados CAD (computer-aided design o diseño asistido por computador). Por ello ahora no es difícil encontrar diseños de construcciones, automóviles, computadores y otros, realizados con programas CAD. La información gráfica consiste en una base de datos numérica almacenada en el computador, que define cualquier tipo de for- ma o volumen. Para poder visualizarlos, es necesario interpretarlos y generar una imagen en la pantalla. Aunque la geometría sea tridimensional, se genera una vista plana de la información (planta o elevación). Ocasio- nalmente esta vista reúne varias caras de las formas (en una isométrica o perspectiva) otor- gando una representación de la volumetría. Esta información es coherente, en el sentido que la alteración de una parte de la geometría tridimensional, altera el conjunto, por tanto cada vista presentará la geometría modifica- da, asegurando la sensación de manejar un modelo completo. Fig. 2.1 - Imágenes de Puntos vs. Geometría Vectorial. Juan Carlos Parra Márquez Representación de Pixel X Representación Geométrica Y SOFTWARE: fundamentos de los programas para Realidad Virtual Parra Marquez, Juan Carlos; García Alvarado, Rodrigo; Santelices Malfanti, Iván "Introducción Práctica a la Realidad Virtual" © Ediciones U. Bío-Bío, Concepción, 2001

Software_fundamentos de Los Programas Para Realidad Virtual

Embed Size (px)

Citation preview

Page 1: Software_fundamentos de Los Programas Para Realidad Virtual

12

2.1. COMPUTACIONGRAFICA

El aporte que ha realizado la computacióngráfica a las diversas actividades ha sido deuna magnitud insospechada, es así que actual-mente un trabajo de ingeniería o arquitecturano se concibe sin el aporte de la informática.A su vez, grandes avances de la computaciónse deben a los requerimientos que las tareasgráficas le han exigido.

La información gráfica se maneja en elcomputador básicamente de dos maneras:como un mapa de puntos (bit-maps) o comouna geometría vectorial. Las imágenes depuntos se utilizan en el procesamiento de fo-tografías digitalizadas (por scanner o cámaradigital) o en dibujos sencillos (paint), y con-sisten en una trama de puntos de color (pixels)que representan la imagen. Se caracterizan porsu facilidad de manipulación cambiando latonalidad de los puntos, pero están limitadasen resolución y precisión, además que sonplanas (bi-dimensionales). El archivo digitalse puede conservar en una diversidad deformatos, entre los que podemos mencionar:BMP, PCX, TIF o JPG.

SOFTWARE:Fundamentos de los programas para

Realidad Virtual

Por su parte, los archivos geométricosguardan la información precisa de las formasgráficas, a través de un sistema de coordena-das cartesianas (X,Y). De este modo, cada fi-gura se identifica por sus puntos extremos, ypueden ser representadas a cualquier escalao calidad de imagen (son independientes dela resolución). Naturalmente, la definición ymanejo de las figuras geométricas son máscomplejas, pero permiten trabajar con dimen-siones exactas e incluso con formastridimensionales, porque basta con agregar untercer eje de coordenadas (Z). Estos progra-mas son denominados CAD (computer-aideddesign o diseño asistido por computador). Porello ahora no es difícil encontrar diseños deconstrucciones, automóviles, computadores yotros, realizados con programas CAD.

La información gráfica consiste en unabase de datos numérica almacenada en elcomputador, que define cualquier tipo de for-ma o volumen. Para poder visualizarlos, esnecesario interpretarlos y generar una imagenen la pantalla. Aunque la geometría seatridimensional, se genera una vista plana dela información (planta o elevación). Ocasio-nalmente esta vista reúne varias caras de lasformas (en una isométrica o perspectiva) otor-gando una representación de la volumetría.Esta información es coherente, en el sentidoque la alteración de una parte de la geometríatridimensional, altera el conjunto, por tantocada vista presentará la geometría modifica-da, asegurando la sensación de manejar unmodelo completo.Fig. 2.1 - Imágenes de Puntos vs. Geometría Vectorial.

Juan Carlos Parra Márquez

Representación de Pixel

X

Representación Geométrica

Y

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 2: Software_fundamentos de Los Programas Para Realidad Virtual

13

Fig. 2.2 - Diseño Tridimensional en CAD.

Cuando los diseños están prácticamentecompletos, se aplican fórmulas de iluminacióny presentación de superficies para producirimágenes más realistas. Estas propiedades sonaplicadas con mayor o menor detalle de exac-titud dependiendo de las exigencias requeri-das. Otra potencialidad que se le ha adiciona-do a estos productos es la animación, utiliza-da para diversos diseños. Las animaciones seutilizan, por ejemplo, para desplegar superfi-

cies de los objetos o escenarios completos. Enlos entornos de Realidad Virtual las anima-ciones se utilizan también para representarmovimientos de los objetos, como los contro-les de un vehículo, y mediante dispositivosmontados sobre la cabeza, obtener vistasestereoscópicas y recorridos.

Otro aspecto importante dentro de la com-putación gráfica son los tipos de software,éstos pueden ser clasificados en dos grandesgrupos: paquetes generales de programacióny aplicaciones para propósitos especiales. Enlos primeros podemos reconocer las libreríasde funciones gráficas que se utilizan con unlenguaje de programación de alto nivel, comoel leguaje C. En el segundo grupo se puedenclasificar los productos diseñados para per-sonas que no son programadores, este es elcaso de los CAD.

De este modo, la computación gráfica seencuentra en diversos campos, que ya sonparte de nuestra vida cotidiana, como el cine,diseño de edificios, prendas de vestir, avisospublicitarios, edición de periódicos, revistas,textos de estudios, muebles, vehículos y jue-gos por computadoras en general.

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 3: Software_fundamentos de Los Programas Para Realidad Virtual

14

2.2. CONSTRUCCIONTRIDIMENSIONAL

Los modelos tridimensionales correspon-den a escenarios con muchas clases diferen-tes de objetos, tales como árboles, edificios,muebles, etc. Por esto, es necesario utilizargeometrías que representen con precisión lascaracterísticas de una gran variedad de ob-jetos. Los volúmenes rectangulares y cúbicosproporcionan una descripción adecuada paraobjetos sencillos, sin embargo, alas de avio-nes, engranajes y otras estructurasingenieriles con superficies curvas debendefinirse con técnicas complejas como lasspline. Los métodos como los fractales y lossistemas de partículas permiten, a su vez,representar elementos naturales como nubes,montañas y vegetales, entre otras formas. Lastécnicas de modelado, según interacción defuerzas físicas, permiten reproducir elemen-tos no rígidos como telas o gelatinas. Difícil-mente habrá un solo método para describircabalmente todos los objetos que existen enla naturaleza y que incluya todas sus carac-terísticas.

Básicamente se tienen dos modalidades derepresentación de geometrías tridimensio-nales en el computador:

a) Representaciones de frontera (B-rep:Boundary - representation), la cual descri-be los objetos 3D, como el conjunto de sussuperficies externas.

b) Representaciones de divisiones de espacio,en que se sub-divide el ambiente en pe-queñas unidades volumétricas (voxels:volume element), determinando la regiónespacial que ocupa cada objeto.

En los inicios de la computación gráfica lasdescripciones geométricas se estructurabansólo en puntos o líneas con dirección (vecto-res), pero actualmente la mayoría de los pro-gramas de CAD y Realidad Virtual se basanen la representación por fronteras. Se han

planteado descripciones sobre la base de sóli-dos, como la mencionada subdivisión de es-pacios, pero poseen mayor demanda de pro-cesamiento computacional y representa unamayor sofisticación del producto.

De este modo la descripción de una geo-metría tridimensional en el computador serealiza, generalmente, según los polígonos ex-ternos de las formas, localizados en un espa-cio determinado por tres ejes cartesianos, querepresentan el espacio, con cierta magnitudgeneral (tamaño del universo) y precisión(medidas). Puede ser representado en distin-tas escalas (proporcionando las dimensionescomputacionales con las medidas de salida enpantalla o impresora), pero en las aplicacio-nes de Realidad Virtual se utilizan básicamen-te vistas interiores, sin escala definida, traba-jando de manera absoluta (1:1).

En estas descripciones gráficas las posicio-nes de cada punto (que constituyen vérticesde una forma geométrica) se identifican porsus coordenadas (X, Y, Z).

Fig. 2.3 - Punto 3D.

Con dos puntos extremos se puede indi-car una línea tridimensional (definiendo unaarista), y a su vez tres puntos definen un pla-no triangular básico. Aunque frecuentemen-te los programas utilizan cuadriláteros como

X

Y

Z

(x, y, z)

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 4: Software_fundamentos de Los Programas Para Realidad Virtual

15

polígonos básicos, con el fin de ahorrar infor-mación, ya que la mayoría de los volúmenesson rectangulares (sin embargo, como los cua-tro puntos extremos no necesariamente sonco-planares, se producen algunos polígonosquebrados).

De este modo, un objeto tridimensional sedefine como un conjunto de superficiespoligonales (denominadas facetas o caras), enel cual se identifican sus aristas y vértices.También se reconoce en cada polígono bási-co, una “normal” o perpendicular del puntomedio, que indica la orientación de la cara,estableciendo un lado visible y otro invisible.

Fig. 2.4 - Objeto Tridimensional.

Los programas gráficos especifican unasuperficie poligonal mediante la serie de co-ordenadas de sus vértices y los parámetros deatributos asociados. Estos datos se colocan entablas que se utilizan en el procesamiento ygeneración de imágenes, y en la manipulaciónde objetos. Estas tablas de datos de polígonospueden ser organizadas en dos grupos, tablasgeométricas y tablas de atributos. Las prime-ras contienen las coordenadas de vértices ylos parámetros para identificar la orientaciónespacial de las superficies. La segunda tablacontiene los parámetros que especifican elgrado de transparencia del objeto, las carac-terísticas de reflexión y textura de las superfi-cies, entre otros datos.

Una organización muy utilizada para latabla geométrica es crear 3 sub-tablas (listas),

una tabla de vértices, una de aristas y una depolígonos. Definiendo el objeto de la manerasiguiente:

Fig. 2.5 - Información geométrica de un Objeto 3D.

Otra posibilidad es utilizar sólo una tablade polígonos, pero esto intensifica la informa-ción sobre las coordenadas, ya que los valo-res explícitos de las coordenadas se listan paracada vértice en cada polígono. Puesto que lastablas geométricas de datos pueden contenerextensas listas de vértices y aristas para obje-tos complejos, es importante que se verifiquela consistencia de la totalidad de los datos. Esimportante mencionar que, sobre todo en lasaplicaciones interactivas, como es el caso dela Realidad Virtual, es frecuente que se come-tan ciertos errores en la manipulación de lastablas de datos, que luego distorsionan la pre-sentación de algún objeto.

Los objetos tridimensionales son usual-mente poliedros de base rectangular(paralelepípedos regulares, como los cubos),también denominados “cajas”. Agrupandoestas formas básicas se puede conformar unagran variedad de objetos. También se utilizanmucho volúmenes básicos como pirámides,

Polígono(triángulo)

arista

V3

e3

V4

V1

V2

vértice

V1: x1, y1, z1 (vértice 1)e1: V2, V3 (arista 1)S1: e1, e2, e3 (superficie o polígono 1)

e1

e2

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 5: Software_fundamentos de Los Programas Para Realidad Virtual

16

cilindros o esferas, aunque las superficie cur-vas son aproximadas a través de secuenciasde planos rectos. Una mayor cantidad depolígonos permite una descripción más exac-ta de la curvatura, pero a la vez exige mayorprocesamiento computacional. Formas máscomplejas pueden ser realizadas determinan-do un polígono o perfil base y una distancia,en la cual se reproduce el polígono, generan-do superficies en cada una de sus aristas, enun proceso conocido como “extrusión” o“lofter”, también vinculado con darle espesora figuras planas (generando paralelepí-pedosde base irregular). Algunos programas per-miten establecer un trazado de proyección(sweep) produciendo una forma estirada entorno a una trayectoria, útil para modelar tu-berías, helicoides, etc.

Fig. 2.6 - Generación de un objeto 3D por revolución.

Para las formas curvas de simetría radial(como las esferas, cilindros, conos, vasos o ja-rrones), se pueden generar las superficiespoligonales basadas en el concepto de sólidode revolución. Consiste en generar la formacurva mediante la rotación de una cierta can-tidad de puntos, o un perfil determinado, al-rededor de un eje en el sistema de coordena-das. Estableciendo también la cantidad de seg-mentos o tramos en los cuales se subdividirála superficie curva en polígonos rectos.

Una forma tridimensional es “atómica” sies indivisible o no descompuesta en formasmenores y puede constituir un “objeto vir-tual”. En ese caso es un objeto simple, perotambién un objeto puede estar constituido porvarias formas, debido a:

a) El objeto virtual es demasiado complejo,esto es, no es posible representarlo con unasola forma.

b) El objeto virtual está conformado por com-ponentes o partes que poseen un “compor-tamiento” independiente entre ellos.

Para el caso a) podemos dar como ejem-plo la carrocería de un vehículo, y para el casob) el ejemplo de una puerta de automóvil consu manilla y su ventana (en el cual el vidriosube y baja, independientemente de la puer-ta en sí). A los objetos compuestos se les de-nomina objetos agrupados o simplementegrupos. También un objeto más complejo pue-de estar conformado a su vez, por varios gru-pos. Por ejemplo, una habitación puede estarconformada por el grupo ventana, grupo pa-redes, grupo puerta, etc. De este modo unambiente virtual está conformado por formaspoligonales, que constituyen objetos simpleso agrupados.

Eje de giro

Sentido del giro

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 6: Software_fundamentos de Los Programas Para Realidad Virtual

17

2.3. TRANSFORMACIONESGEOMETRICAS.

Las transformaciones geométricas son uti-lizadas para manipular los objetos dentro deun modelo 3D. Un objeto se puede trasladary/o rotar en los tres ejes coordenados (x, y, z).Para el caso de las rotaciones se puede consi-derar como una composición de tres rotacio-nes, una para cada eje cartesiano, es así quecualquier secuencia de transformaciones se re-presenta como una secuencia de transforma-ciones en cada eje.

Las transformaciones más utilizadas son:

a) Traslación: es la traslación de un puntodesde la posición P1= ( x1, y1, z1) a la po-sición P2= ( x2, y2, z2). La operación se re-presenta mediante la matriz:

Donde tx, ty, tz corresponden a la distan-cia de traslación para los ejes x, y, z respecti-vamente. Dicha traslación se traduce en:

Esta forma de traslación es válida para to-dos los puntos del objeto en cuestión. Por lotanto, un objeto se traslada en tres dimensio-nes al trasladar cada uno de los puntos de de-finición inicial del objeto. Para un objeto quese representa como un conjunto de superfi-

cies de polígonos, trasladamos cada vértice decada superficie y volvemos a trazar las facetasdel polígono en la nueva posición.

b) Rotación: para girar un objeto se debe de-signar un eje de rotación (en el cual se gi-rará el objeto) y el valor de la rotación.

Por norma, los ángulos de rotación positi-va producen giros en sentido opuesto a lasmanecillas del reloj con respecto al eje de unade las coordenadas.

Si se gira con respecto al eje z la matriz será:

donde la rotación, con respecto al eje z, es enA grados. La matriz se puede adaptar paralos giros en los otros ejes.

c) Escalamiento: escalar un objeto se refierea cambiar el tamaño y volverlo aposicionar con respecto al origen de las co-ordenadas. Si todos los parámetros detransformación son iguales se cambian lasdimensiones relativas del objeto. La ma-triz que representa el escalamiento es lasiguiente:

donde Sx, Sy, Sz son los parámetros de escala-miento con respecto al origen. Existen otrastransformaciones tridimensionales como la re-flexión y el recorte.

x2 cos A - sen A 0 0 x1y2 = sen A cos A 0 0 y1z3 0 0 1 0 z11 0 0 0 1 1

x2 Sx 0 0 0 x1y2 = 0 Sy 0 0 y1z3 0 0 Sz 0 z11 0 0 0 1 1

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 7: Software_fundamentos de Los Programas Para Realidad Virtual

18

Otras operaciones volumétricas bastanteutilizadas en los programas tridimensionales,son las operaciones “booleanas”. Se refierencuando se utiliza una geometría de construc-ción sólida (CSG: constructive solid geometry)para operaciones similares al álgebra de Boole,esto es: adición, sustracción o intersección.Aplicadas en volúmenes, la adición o unión(A + B) genera la fusión de los dos volúmenesen uno solo, descartando cualquier parte quese intersecte entre ambos. Si no se intersectan,simplemente se crea un volumen compuestode dos partes separadas.

Fig. 2.7 - Operación booleana.

La sustracción (A - B) genera un volumenen el que se ha eliminado la parte del otro enque se intersecta, el volumen sustraído sim-plemente desaparece (si no se intersectan, que-da íntegro el original). En este caso es muyrelevante cuál volumen es el original, gene-ralmente reconocido como el primer operan-do. En la intersección (A B), se genera elvolumen común en el cual participan los dosoriginales, en los cuales se eliminan en suspartes restantes. En algunos programas tam-bién se agrega una operación de intersecciónque conserva los volúmenes restantes (gene-rando tres formas). Estas modalidades sonmuy efectivas para construir fácilmente cier-tas formas complejas, como por ejemplo, mu-ros con ventanas o piezas mecánicas aunquela información computacional es estricta-mente de superficies y no sólida, ocasional-mente se producen errores en la presentacióngráfica.

U

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 8: Software_fundamentos de Los Programas Para Realidad Virtual

19

2.4. REPRESENTACIONTRIDIMENSIONAL

Existen varios métodos de representacióntridimensional, pero inicialmente diremos quepara obtener la imagen de una escena 3D, pri-mero debemos establecer una posición (usual-mente en coordenadas cartesianas) para elobservador o cámara, que son los conceptosutilizados para denominar al punto de vistadesde el cual se ve el modelo computacional.Frente a éste se establece un plano de visión,en el cual se proyecta la informacióngeométrica de las formas 3D.

Fig. 2.8 - Proyección en el Plano de Visión.

En principio, los objetos son presentadoscomo formas transparentes (wireframe) y lue-go se aplican técnicas de iluminación y pre-sentación de superficie para colorear y som-brear las áreas visibles. Así la computadoragenera las imágenes a partir de la posiciónde la cámara con respecto a los objetos queésta debiera estar visualizando.

Dentro de las técnicas para generar la vis-ta de un objeto tridimensional, tenemos:a) Proyección paralela: este método consiste

en proyectar puntos del objeto a través delíneas paralelas al eje de visión. Es así,como en diferentes posiciones de la cáma-ra, se proyectan las superficies visibles delobjeto sobre el plano de visualización paraobtener diversas vistas (superiores, latera-les, isométricas) que posean medidas pro-porcionales del objeto.

Fig. 2.9 - Proyecciones Paralelas.

b) Proyección polar (perspectivas): Esta téc-nica se basa en proyectar puntos del obje-to al plano de visualización a lo largo detrayectorias convergentes al punto de vis-ta. Esto implica que los objetos que estánmás lejos de este plano se desplieguen máspequeños y representen cabalmente la pro-fundidad del entorno, pero sin medidasprecisas. En este tipo de proyección lasimágenes de escenarios 3D obtienen ma-yor realismo visual. Además, las aristas delos objetos tienden a converger en una lí-nea de fondo (horizonte).

Fig. 2.10 - Proyección Polar.

c) Eliminación de líneas ocultas: se utilizacomo técnica para poder distinguir el fren-te y la parte de atrás de los objetos desple-gados. Sin ocultamiento un objeto no po-dría ser comprendido en su posición conrespecto a otros.

Plano de visualización

Forma 3DObservador

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 9: Software_fundamentos de Los Programas Para Realidad Virtual

20

Fig. 2.11 - Eliminación de líneas ocultas.

Otra manera de indicar el volumen es va-riar la intensidad de los objetos con respectoa su distancia de la posición de visualización,es decir, las líneas que están más cerca delpunto de vista se despliegan con mayor in-tensidad, seleccionando los valores en un ran-go de distancia en que deben variar. Otra for-ma de indicar la profundidad es otorgar unefecto de atmósfera entre los objetos, es decir,los objetos más lejanos tienen una aparienciamás tenue que los más cercanos, en algunoscasos se agregan distorsiones de color parafortalecer la visión borrosa a la distancia.

2.5. TEXTURAS EILUMINACION

Para lograr que el modelo tridimensionalalcance una apariencia realista, es necesarioincorporar a la geometría dos capacidadesrelevantes, superficies texturadas y fórmulasde iluminación. Estas dos propiedades com-plementan la geometría y generan una mejorreproducción de la situación real que repre-senta el modelo computacional.

Inicialmente, los objetos geométricos pue-den ser representados con colores básicos. Loscolores se asignan de acuerdo con patronesRGB (red-green-blue: rojo-verde-azul) o HSV(hue-saturation-lightness: tono-intensidad-bri-llo), en combinaciones proporcionales de cual-quiera de estos tres valores, por ejemplo, elmorado intenso en RGB es 100%, 0%, 100%.Como los colores están representados por in-tensidad luminosa, los valores mayores sonmás claros. Los tres indicadores al máximoproducen el blanco, al mínimo generan, el ne-gro como ausencia de color. Al contrario de lapintura convencional, en que la adición de co-lores genera el negro y la ausencia, el blanco.

La variedad de los rangos depende de lapaleta de colores que permita el programa y/o el monitor del computador. Adicionalmentese incorpora un valor para la transparencia(alpha-channel). Los colores son asignados porsuperficie o al objeto completo, aunque en esteúltimo caso no se distinguen las distintas ca-ras a menos que se marquen las aristas conlíneas de otro color.

Sin embargo, se ha reconocido que la va-riedad de colores, por muy amplia que sea,no alcanza a otorgar un gran realismo visual(los modelos se ven acartonados), debido aque en los ambientes reales, los colores varíande tono en las superficies. Una de las técnicasmás eficaces para mejorar la apariencia rea-lista de las superficies, ha sido la incorpora-ción de texturas digitalizadas. La utilizaciónde texturas consiste en ‘escanear’ fotografíasde materiales reales (muros de ladrillos, ma-

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 10: Software_fundamentos de Los Programas Para Realidad Virtual

21

deras o mármoles), que se aplican como imá-genes planas en algunas superficies. La técni-ca de aplicación es similar a la proyección demapas, por lo que se denomina “mapeo”, yconsiste en calzar la imagen en las distintassuperficies del objeto tridimensional. Si la for-ma es distinta a la imagen, ésta simplementese recorta. Si el tamaño de la imagen es muypequeño se puede repetir en la superficie, ose puede agrandar, aunque esto último mues-tra notoriamente los puntos de la imagen(pixelado). En algunas superficies laterales latextura se aplica en ángulos tan inclinados quelos puntos se extienden por las caras, aunqueesto sirve para algunos materiales (como lamadera), usualmente se utiliza una proyec-ción por superficies o fórmulas de mapeo ci-líndrico o esférico.

Fig. 2.12 - Mapeo de texturas en un modeloarquitectónico.

Las texturas pueden tener un valor de ru-gosidad (bumpy), en que las sombras adquie-ren profundidad, lo que es muy adecuadopara reproducir, por ejemplo, ladrillos o pie-dras. De hecho, es más eficaz en algunas for-mas pequeñas, no modelarlas tridimensio-nalmente sino simplemente texturizarlas conuna imagen real (como las fachadas de losedificios), con el fin de ahorrar procesamien-

to geométrico en objetos que tienen un rol se-cundario en la escena. También algunas for-mas naturales difíciles de modelar apropia-damente (como los árboles), es preferible re-presentarlas con una fotografia, en que se asig-na un valor de transparencia al color de fon-do, para generar un perfil recortado. Otra apli-cación usual de las texturas es de paisaje ge-neral (background), para tener un entorno másrealista, a veces ajustado a una forma cilín-drica o semi-esférica (especialmente cuandose utilizan cielos con nubes), para represen-tarlo apropiadamente al desplazarse por elescenario virtual.

El otro aspecto relevante en la aparienciavisual del modelo, es la incorporación de mé-todos de iluminación. Cuando la luz enfrentauna superficie opaca, en parte se refleja y enparte se absorbe, esta última es llamada re-flexión difusa. La mayoría de los programasotorgan una iluminación pareja en todo el am-biente (environmental light), reproduciendoesta difusión indirecta. A veces esta ilumina-ción posee un sentido determinado como elsol, tal que las superficies enfrentadas y per-pendiculares a la fuente de luz están más ilu-minadas y las más inclinadas o posteriores,se oscurecen. De este modo se reconocen“sombras propias” en los objetos, y se distin-guen las distintas superficies, por tonalidadesmás o menos luminosas del mismo color, otor-gando un sentido de volumen. El sentido dela luz se puede determinar a partir de un en-torno esférico alrededor del modelo, o por án-gulo de altitud y azimut (algunos programasarquitectónicos permiten indicar la fecha,hora, latitud y paralelo de la localización paracolocar la posición real del sol).

Otro tipo de iluminación consiste en colo-car algunos focos de luz, posicionados den-tro del modelo geométrico, especialmentepara iluminar zonas posteriores o interiores,que la iluminación ambiental deja oscureci-

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 11: Software_fundamentos de Los Programas Para Realidad Virtual

22

das. Indicando la posición tridimensional seestablece una luz “omni-direccional”, que aligual que una ampolleta, ilumina con similarintensidad en todas las direcciones. Algunasfuentes de luz pueden poseer un sentido o ejedeterminado basado en un punto particular(spot light). Estas luces focalizadas se aplicanen un “cono”, reproduciendo la iluminaciónde una lámpara con pantalla, destacando al-gunas partes de la escena. Es importante men-cionar que estos focos no tienen una geome-tría determinada, al aparecer en la imagen sonsólo puntos de luz, por lo cual a veces se de-ben definir formas de lámparas para represen-tarlas en el modelo.

Cualquiera de estas luces puede ser apli-cada con distintas intensidades y con tintesde color, bañando los objetos en alguna tona-lidad que altere sus colores propios. Tambiénse pueden considerar “sombras arrojadas”, enque cada objeto proyecte oscurecimiento ensus objetos vecinos. Esta capacidad exige unprocesamiento adicional en el modelo, por-que se debe calcular el trazado de la sombrade cada objeto en los demás, de acuerdo conla posición de la fuente de luz, de manera si-milar al “mapeo” de texturas. Algunos obje-tos pueden considerar transparencia, en queparte de la luz atraviese la forma, o puedenconsiderar reflejo, en que rebote la ilumina-ción (y también se reflejen los objetos vecinos,proyectando la imagen en su superficie).

Fig. 2.13 - Iluminación.

El cálculo del valor de la tonalidad del co-lor (o textura) de cada superficie se realizacon ciertos algoritmos gráficos. Básicamentese relaciona la dirección e intensidad de la luz(y distancia si es un foco), con la “normal” dela superficie (perpendicular en el punto me-dio). Algunos algoritmos más avanzados(Gouraud, Phong), lo calculan según la normalde los vértices, interpolando los valores me-dios de la superficie, para otorgar una degra-dación suave de los colores y “suavizar” lasformas complejas, generando un gran realis-mo en objetos curvos y marcando ciertos bri-llos o puntos de luz. La mayoría de estas fór-mulas calcula finalmente el tono de color apli-cado en cada punto de la imagen del modelo,de acuerdo con la vista vigente, por lo que sedenominan “algoritmos del pintor”. Otrosmétodos efectúan un cálculo general de la ilu-minación del entorno, basados en la reflexiónde luz entre los objetos (Radiosity) o por el tra-zado de los rayos luminosos (Ray-tracing). Losque son más fidedignos en ambientes másdifusos o con objetos más especulares respec-tivamente.

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 12: Software_fundamentos de Los Programas Para Realidad Virtual

23

2.6. CARACTERISTICAS DELOS SOFTWAREPARA REALIDAD VIRTUAL

Los productos de software para el desa-rrollo de aplicaciones de RV se fundamentanen los conceptos de computación gráfica pre-sentados previamente, es por ello que muchasde las características mencionadas aquí soncoincidentes con las anteriores. Pero se esta-blece un conjunto de distinciones específicasy exigencias mayores que diferencian los pro-gramas de Realidad Virtual con los otros soft-ware gráficos e incluso con programas demodelación tridimensional o animación rea-lista.

Para comenzar diremos que el softwarede desarrollo debe ser coherente con la ar-quitectura del computador en que se usaráel producto. Aunque pueda sonar obvio, eneste caso es muy relevante puesto que elequipo deberá responder a los requerimien-tos de procesamiento del producto. En eldiseño tridimensional, los software de Rea-lidad Virtual son muy similares a los pro-gramas CAD, pero agregan capacidades denavegación en tiempo real, interacción conel usuario, detección de colisiones, audio,programación de comportamientos, etc. Deeste modo en los programas de RV encon-traremos comúnmente:

1. Importación de modelos: Capacidad deimportar formas 3D para incorporarlas enuna determinada aplicación. Generalmen-te son provenientes de un programa CADy se utiliza mayormente el formato DXF(drawing exchage format). También en algu-nos casos los programas RV permiten ex-portar objetos en este mismo formato. Lasimportaciones de formas no están ajenas aproblemas, para lo cual se han desarrolla-do filtros especiales que manipulan el ar-chivo para resolver las dificultades que sepresentan como diferencia de formapoligonal básica (cuadriláteros contratriángulos), exceso de polígonos por for-

mas, secuencias de vértices incompatibles,estrategias de texturización distintas (aun-que frecuentemente la importación se re-fiere sólo a geometría).

2. Librerías: La mayoría de los programas deRV están provistos de librerías 3D, con for-mas básicas o primitivas tales como cajas,esferas, conos, pirámides, etc. que sirvenpara generar formas compuestas. Tambiéncuentan con librerías de objetos comple-jos, texturas, etc. Es útil mencionar queestas librerías permiten que el diseñadorre-utilice muchas formas que simplemen-te decoran el ambiente virtual.

3. Operaciones Geométricas: Consiste en lascapacidades de manipular los objetos crea-dos en una posición definida, típicamentereferida a las coordenadas cartesianas, y apartir de éstos se puede trasladar, rotar ore-escalar a otra posición. Eliminando laforma original o duplicándola. Esto impli-ca internamente un cambio en las tablasde vértices de los objetos. Se incluyen oca-sionalmente operaciones booleanas y agru-pamiento de formas, de modo que se pue-dan crear objetos compuestos operando oasociando distintas formas simples.

4. Nivel de Detalle: Esta característica co-nocida en los textos como LOD (level-of-detail) permite la optimización de la vi-sualización de una escena virtual, al cam-biar una forma con un alto nivel de deta-lle, por otra más simple, dependiendo dela distancia del punto de vista. De estemodo, el objeto es reemplazado o se haceinvisible si el observador está en movi-miento o muy distante, y cuando estáquieto y cercano, se despliega la formamás compleja.

5. Animación: Corresponde a la asignación deuna traslación o rotación a un objeto en unperiodo de tiempo, sincronizado con la na-vegación por el ambiente virtual. Estos mo-

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 13: Software_fundamentos de Los Programas Para Realidad Virtual

24

vimientos generalmente equivalen a com-portamientos del mundo virtual (abrir unapuerta, desplazar un vehículo) y puedenser automáticos u originados por algúnevento (interacción con el usuario o conotro objeto).

6. Articulado: Se refiere a que los objetos pue-dan ser organizados en jerarquías; es de-cir, que partes componentes de un objetoposean propiedades de movimiento dis-tintas a otras partes, pero supeditadas altotal. Un ejemplo de esto son las ruedasde un automóvil, que pueden girar en unsentido, pero a su vez; debe desplazarseen la dirección del vehículo completo.

7. Detección de colisiones: Es una caracte-rística que permite identificar cuando unobjeto intersecta a otros, de modo que pue-da ser obstaculizado el movimiento del ob-jeto, de manera similar a si éstos fueran só-lidos, como en el mundo real.

8. Propiedades físicas: Adicionalmente sepresenta una serie de atributos relaciona-dos con características físicas, como masao roce, reconocimiento de gravedad (mo-vimiento vertical acelerado en proporciónal tamaño o peso) e incluso de ascensión(salto sobre el objeto).

9. Color y texturización: Asignación de co-lores a las superficies y utilización de tex-turas digitalizadas. Incluyendo propieda-des de transparencia (para generar obje-tos de textura, como árboles o nubes) y se-cuencias (como videos).

10. Fuentes de luz: Definición de iluminaciónambiental y focos de luz con cierta posi-ción, orientación, intensidad e incluso co-lores propios. Ocasionalmente con movi-mientos propios.

11. Incorporación de audio: Es la propiedadde asociarle a los objetos, de la aplicaciónvirtual, un sonido que les corresponda enel mundo real. Un ejemplo de esto es el

caso de un motor que al ser encendido,emite el ruido correspondiente. Una carac-terística importante es controlar el volumenen relación a la distancia existente entre elobjeto y el navegador. También se puedeincorporar información táctil, que establez-ca una retro-alimentación física con el usua-rio (feed-back), a través de dispositivos es-peciales. Así como otros sentidos en explo-ración (sináptica, temperatura, etc.)

12. Lenguajes de programación: Esta propie-dad corresponde a que el software dispon-ga de comandos de control que dicten com-portamientos de los objetos y manejen da-tos de entradas y salidas.

13. Manipulación de eventos: Refleja la capa-cidad de activar un comportamiento alinteractuar con un determinado objeto. Estoimplica reconocer la posición y acción delusuario, interpretar una programación ymodificar la geometría consecuentemente.

14. Configuración de dispositivos múltiples:Consiste en permitir la incorporación dedistintos dispositivos de entrada y salidade datos, como elementos de visualizacióno interacción del usuario (por ejemplo, cas-cos y guantes).

15. Mundos paralelos: Se refiere a la genera-ción de ambientes virtuales constituidospor sub-mundos, en los cuales el navegan-te puede interactuar al momento que in-gresa a cada uno de ellos. Esto con el finde disminuir la complejidad que se tendríasi fuera un solo mundo completo y porende optimizar el procesamiento.

16. Conectividad en red: Permite que el mun-do virtual pueda ser utilizado en una redcomputacional, a través de diversos dis-positivos o señales de entrada y salida, yademás que permita la interacción de di-versos usuarios en una misma aplicación.Un ejemplo de esto son los juegos multi-usuarios.

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 14: Software_fundamentos de Los Programas Para Realidad Virtual

25

17. Exportación en VRML: Consiste en expor-tar las aplicaciones virtuales en lenguajeVRML (Virtual Reality Modeling Language),que pueden ser utilizadas ampliamente enInternet, por constituir una descripción debajo nivel.

2.7. ESTRUCTURA DEUN SOFTWARE DE RV

Un programa de Realidad Virtual presen-ta una estructura de mayor complejidad quelo normal de un software computacional, de-bido a que, por un lado, constituye un am-biente tridimensional que se extiende hastacapacidades multimediales, a la vez que dis-pone de una programación específica y elcontrol de múltiples dispositivos externos,todo funcionando y modificándose en tiem-po-real. Esto establece una amplitudsofisticada de características, que se han des-crito previamente en dos procesos principa-les: el desarrollo de la aplicación, en el cual seutiliza el programa para diseñar el escenario3D, incorporar el audio, programar los com-portamientos y configurar dispositivos, y otraactividad es la navegación interactiva, en quese puede visualizar, recorrer y manipular elambiente virtual de acuerdo con lo prepara-do en el desarrollo. En ese momento actúanlos siguientes aspectos del software RV:

1. ENTRADAS Y SALIDAS: Consiste enla definición de los diferentes dispositivos deentrada y salida de datos que utilizará la apli-cación virtual. Además del mouse y del mo-nitor, usualmente los sistemas de RV utilizanjoystick, rastreadores, visualizadoresestereoscópicos, trajes de datos, etc. Los cua-les deben ser adecuadamente reconocidos ycontrolados por el software, evitando los con-flictos y asegurando la transmisión de datosen tiempo real. Muchos de estos dispositivosalteran antecedentes de la aplicación virtualdurante su utilización, como el punto de vis-ta del usuario, la orientación, activación deeventos, etc. Debemos agregar que al trabajaren red se suman nuevas entradas que debenser gestionadas apropiadamente.

2. BASE DE DATOS: El almacenamientode la información de los objetos y del mundovirtual es realizado en la base de datos del mis-mo. Lo que se almacena en este archivo dedescripción son los objetos, los pro-

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 15: Software_fundamentos de Los Programas Para Realidad Virtual

26

gramas que describen las acciones de estos ob-jetos o del usuario, métodos de iluminación,mecanismos de control y soporte delhardware.

La descripción de los ítemes almacenadoses la siguiente:

a) Objetos: Los objetos en un mundo virtualpueden tener geometría, jerarquía, com-portamiento y otros atributos. Las carac-terísticas de los objetos tienen un impactoconsiderable en la estructura y diseño deuna aplicación. De acuerdo con esto, unalista de pares atributo-valor es usada paradescribir los objetos. Mediante estos atri-butos se pueden sumar cambios a los ob-jetos sin requerir cambios en la estructurade datos de los mismos.

b) Posición y orientación: Un objeto esposicionable y orientable. Esto es, tiene lo-calización y organización espacial. La ma-yor parte de los objetos puede tener estosatributos modificables a los cuales se lespuede aplicar operaciones de escalamien-to, traslación y rotación. Estas operacionesson a menudo implementadas usandooperaciones algebraicas en la manipula-ción de vectores y matrices, como se des-cribió en los artículos anteriores.

c) Jerarquía: Un objeto es parte de la jerar-quía de otro mediante la relación de pa-rentesco de padre, hermano o hijo. Cadaobjeto sufre las transformaciones que se leaplican a su padre y desde éste es trans-mitido a sus propios hijos. Por lo anterior,un objeto en particular puede tener padree hijos a la vez. Las jerarquías son usadaspara crear articulación de figuras (grupos)los cuales constituyen una forma más com-pleja: por ejemplo, un robot (padre) cons-tituido por sus partes (hijos) tales comocabeza, miembros, etc.

d) Volumen de contorno: Un objeto es usual-

mente contenido en un volumen denomi-nado “Bounding Volume”. Esto es unparalelepípedo rectangular o esférico. Estofavorece el uso rápido del objeto durantesu renderización. Cuando el volumen decontorno está completamente fuera delárea de vista (cámara) no necesita ser trans-formado o considerado durante larenderización. El volumen de contorno es-férico es más rápido en la detección de co-lisiones.

e) Geometría de objetos: El modelamiento deformas (shapes) y su geometría se basa enlos conceptos mencionados de la compu-tación gráfica. Algunos modelos buscanmuy profusamente la exactitud geométricacon respecto a los objetos del mundo real.Otros métodos buscan la simplicidad derepresentación. La mayoría de los sistemasde RV sacrifican el detalle y la exactitudorientándose hacia la simplificación porganar velocidad de renderizado. Los obje-tos son simplemente un conjunto de pun-tos y estos a su vez constituyen aristas ysuperficies.

3. PROGRAMACIÓN: Un mundo virtualconsistente en objetos estáticos es sólo un di-seño apacible. Muchos investigadores y en-tusiastas de la RV han confirmado que lainteracción es la clave del éxito e interés de larealidad virtual. Esto requiere definir las ac-ciones que los objetos realizarán por ellos mis-mos y cuando interactúe el usuario con éstos.Lo que se denomina generalmente, “guión delmundo virtual”. Algunos autores dividen es-tos guiones de comportamiento en 3 tiposbásicos: Guiones de movimiento, guiones dereacción ante un evento y guiones de co-nexión.

Los guiones pueden ser textuales o estarcompilados en un programa estructurado. Enel uso de lenguajes de programación para RV

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 16: Software_fundamentos de Los Programas Para Realidad Virtual

27

ha sido considerado como pionero VPL Researchcon su Body Electric System. Este lenguaje fue di-señado para Macintosh. En general, los produc-tos de RV no poseen lenguajes de guiones co-munes entre ellos. Lo que sí se puede afirmar esque gran parte de ellos tiene como base de suestructura el lenguaje de programación C.

Los tipos básicos de guiones son los si-guientes:a) Guiones de movimiento: Este modifica la

posición, orientación u otros atributos deun objeto, luz o cámara a partir de la ocu-rrencia de un “tick” sobre el sistema. Untick es una acción de simulación en untiempo de reloj. Generalmente esto es equi-valente a un frame de la animación visual.Debemos destacar que la RV generalmen-te utiliza métodos de simulación discretos(no continuos). Por simplificación y velo-cidad, sólo un guión de movimiento seráactivado para un objeto en algún instante.Por otra parte, un guión puede ser asocia-do a un objeto desde una jerarquía. Porejemplo, un guión puede ser asociado alusuario de un vehículo cuando desea con-ducir alrededor del mundo virtual. Alter-nativamente, el usuario puede contener unobjeto con su propia programación y queesté jerarquizado con respecto a él (ejem-plo, su reloj de pulsera).

b) Guiones de reacción ante un evento: Soninvocados cuando algún evento ocurre,como por ejemplo en una colisión, unaaproximación o simplemente una selec-ción. En RV los sistemas necesitan evaluarlos parámetros de evento en cada tick(frame). Esto puede ser, por ejemplo, el de-tector de proximidad entre un objeto 3D ola detección de colisión, etc.

c) Guiones de conexión: Corresponden a losguiones que controlan la conexión de dis-positivos de entrada y salida de varios ob-jetos. Un ejemplo de esto lo constituye el

guión que puede conectar un guante a unobjeto que representa una mano virtual.El usuario debe dar alguna indicación de

retroalimentación de la interacción cuando elcursor virtual seleccione o toque un objeto. Unsistema ordinario tiene sólo una retroalimen-tación (feedback) visual para reconocer que elcursor (que actúa de mano virtual) penetra unobjeto. Alternativamente, una señal de audiopuede ser generada para indicar una colisión.Algunos sistemas sólo utilizan un simple tac-to como feedback, otros producen una vibra-ción en el joystick para indicar la colisión, etc.

4. PROCESAMIENTOS: Durante la utili-zación de la aplicación virtual se realiza unintenso procesamiento de datos en tiempo-real, esto es, a la misma velocidad quevisualiza el usuario. Básicamente es un pro-cesamiento de la imagen visual, pero a su vezinterviene un complejo cálculo geométrico, unprocesamiento del audio, una interpretaciónde la programación y un control de los dispo-sitivos de entrada y salida.

Primero se debe identificar la posición delpunto de vista y de su orientación (sentido dela visión), que puede estar dictada por elmouse en alguna configuración 3D o por unrastreador, o por una combinación de ambos.Además, identificar la activación de algúnevento, por colisión de un objeto con apunta-dor 3D o un guante de datos (debidamentelocalizado). Si esto se produce, interpretar elcódigo de programación activado, para mo-dificar la geometría correspondiente (trasla-dar un objeto o detener un movimiento). A lavez que se revisan todas las rutinas de ani-mación actualmente activas que establecen undesplazamiento en cada secuencia de tiempo.Luego de determinar la situación del mode-lo geométrico, se debe calcular la proyecciónen el plano de visión correspondiente (doblesi es estereoscópico), descartando las formas

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 17: Software_fundamentos de Los Programas Para Realidad Virtual

28

no cubiertas por el ángulo de visión, omitien-do las líneas ocultas, calculando las aplica-ciones de texturas y los tonos de color de lassuperficies, de acuerdo con las fuentes de ilu-minación definidas, sombreamientos yalgoritmos de render. Posteriormente gene-rar la imagen visual y activar las reaccionesen dispositivos especiales (estímulos de fuer-za en joystick) según la situación de los obje-tos con el usuario. También se deben proce-sar las frecuencias de audio que estén acti-vadas, en función de las distancias actualesdel punto de vista a las posiciones definidas.Esta es la secuencia de procesos o “pipeline”,que se debe realizar en una mínima fracciónde tiempo, mientras se navega librementepor el escenario 3D.

PROCESA-MIENTOSENTRADA SALIDA

PROGRA-MACION

BASEDE

DATOS

Fig. 2.14 - Estructura de un Software RV.

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 18: Software_fundamentos de Los Programas Para Realidad Virtual

29

2.8. REALIDAD VIRTUALEN INTERNET

Una de las más excitantes áreas de la Rea-lidad Virtual es su incorporación en laInternet. Módem rápidos y conexiones puntoa punto son ahora más frecuentes en la red yesto permite mover grandes cantidades de da-tos sin muchas demoras de proceso. Por estarazón, actualmente se integran cada vez másmundos 3D y archivos multimedia en la red.El estándar para modelos 3D en la red es ac-tualmente VRML (Virtual Reality ModelingLanguage). Este cumple el mismo rol queHTML para las páginas Web, pero en este casopara escenarios tridimensionales. Consiste enun lenguaje fácil de transmitir y posible deutilizar en múltiple equipos con navegadores(browser) gratuitos.

Uno de los primeros programas paravisualizar un archivo VRML fue el llamadoWebSpace. WebSpace es un browser paraVRML y fue habilitado inicialmente para com-putadores SGI (Silicon Graphics), pero luegohubo un constante crecimiento en la cantidadde mundos VRML habilitados para ser vistos.Esto llevó a que la compañía TGS comenzaráel desarrollo de una versión para PC deWebSpace.

En sus comienzos los mundos virtualesVRML eran ambientes monousuarios, es de-cir, para ser vistos por todos los usuarios co-nectados a la red, pero navegando en formasolitaria. En otras palabras, cada cibernautarecibe una copia del mundo virtual, en sucomputador (con browser residente en suequipo), y navega en forma independiente delos demás. A partir de esto, el nuevo reto fue-ron los mundos multiusuarios.

La “Computer Support Cooporative Work”(CSCW) y el proyecto de mundos virtuales 3Ddel “Institute for Applied Information Technology”ha enfocado el desarrollo de VRML hacia me-canismos y tecnologías colaborativas paraentornos virtuales para Internet. Los principa-les objetivos son la representación e interacción

de múltiples usuarios distribuidos en el mun-do, mediante la infraestructura de la red. Coneste proyecto ha sido realizado un prototipo desistema distribuido de Realidad Virtual, me-diante el protocolo DWTP (Distributed WorldsTransfer and Comunication Protocol). El prototipose ha realizado con el estándar VRML y consis-te en el browser multiusuario SmallView. Esteúltimo provee soporte para VRML 1.0 y 2.0, yextensiones para la representación de usuariosmediante “avatares”. El soporte para comuni-cación entre usuarios permite audio y conver-saciones (chat) mediante texto escrito.Sofisticados mecanismos de interacción proveenal estándar VRML para habilitar una colabora-ción real entre los usuarios. DWTP es un proto-colo de aplicación similar a HTTP (HypertextTransfer Protocol). Está provisto de un soportepara mundos virtuales distribuidos, indepen-diente del protocolo de la red. Utiliza unaconectividad entre varios protocolos estándarpara red y así provee mayores facilidades detransmisión para varios tipos de datos usadosen un entorno virtual. El protocolo es indepen-diente de los sistemas de realidad virtual.

Los tipos de datos soportados para la co-municación permiten la transmisión fiable degrandes archivos para la descripción de mun-dos virtuales, la transferencia de mensajescortos o eventos entre un gran número departicipantes, y la transferencia de datos deaudio. El protocolo usado para Internet, UDP/IP (Internet User Datagram Protocol/InternetProtocol) y TCP/IP (Transmission ControlProtocol/Internet Protocol) depende de los tiposde datos a transmitir y disponibles en la redlocal. El potencial del protocolo es una direc-ta conexión entre los usuarios, es decir, no re-quiere de ningún servidor. Sin embargo, al-gunas propiedades son requeridas para pro-veer ciertos servicios en la conexión entre par-ticipantes. Esto incluye la carga de serviciospara nuevos participantes.

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 19: Software_fundamentos de Los Programas Para Realidad Virtual

30

WorldsChat y Active Worlds son algunos delos ambientes de realidad virtual interactivospara Internet. En estos, el usuario navega a tra-vés de la aplicación 3D interactuando y co-municándose con otros usuarios mediante“avatares” que representan a las personas co-nectadas al mundo virtual. Es una razonableexperiencia realista de un evento social, es de-cir, hay una comunicación entre personas quefísicamente no se conocen pero que sevisualizan a través de sus presencias virtuales.Es de esperar que en el mediano plazo aparez-can productos en los cuales las personas ha-blaran directamente y se verán “físicamente”.

Fig. 2.15 - Mundos virtuales en Internet.

2.9. SOFTWARE PARADESARROLLO DEAPLICACIONES EN RV

En el mercado existe una gran variedad desoftware para desarrollo de aplicaciones enRV. Todos los productos se caracterizan pordiversas opciones para color, luz, sonido, cá-maras, texturas y otras cualidades. Debemosseñalar que actualmente todos dirigen susaplicaciones hacia Internet mediante la obten-ción de mundos virtuales, objetos y aplicacio-nes 3D, en general, bajo el estándar VRML.En el presente capítulo se realiza una descrip-ción general de algunos de los productos dis-ponibles en el mercado y sus potencialidadesvarían en las características señaladas ante-riormente, no siendo la intensión realizar unacomparación ni un estudio exhaustivo de losmismos.

Los programas, en su mayoría, permitenexportar e importar archivos desde diferentesformatos, así se tienen productos que generanambientes virtuales en diversos formatos. Si undeterminado producto genera mundosvirtuales en un formato propio debe poseer supropio navegador, es así como todos aquellosque diseñan aplicaciones en VRML utilizanbrowser para Internet, cuyo formato de inter-pretación es similar para todos estos últimos.

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 20: Software_fundamentos de Los Programas Para Realidad Virtual

31

1. RayDream StudioEste es un conjunto integrado de aplica-

ciones de la empresa Metacreations. No es unsoftware sofisticado de modelamiento perovale la pena considerarlo. Primeramente, esaccesible en precio. Es bueno para laborato-rios educacionales puesto que existen versio-nes para Mac y para Windows. El programaes fácil de usar. Las interfaces de usuario hansido diseñadas según un formato gráfico. Unelemento clave es la multifuncionalidad, pues-to que se ha incorporado un navegador a tra-vés del cual se puede elegir, diseñar e incor-porar objetos a partir de una librería y efec-tuar modificaciones tales como iluminación,deformaciones, efectos de renderizado, ani-mación, etc. Existen objetos, cámaras, luces,árboles y objetos animados, que pueden sercontrolados a través de gráficas de Windows.Un monitor de gran resolución puede ser demucha ayuda para trabajar con este software.Mallas y complejas modelaciones se realizanen ventanas separadas y de fácil retorno a laescena principal, esto puede ser poco mane-jable en un monitor pequeño.

2. 3D Open SystemEs una herramienta para desarrollar apli-

caciones y mundos virtuales dinámicos de altaefectividad en 3D. Se puede operar en variasplataformas, incluyendo DOS, OS/2,Windows 9x/NT y Unix. 3D Open Systempermite crear mundos 3D con visualizaciónen tiempo real e incluye interiores y exterio-res 3D, objetos estáticos y móviles, imágenesJPG, luces, color dinámico 3D, efectos, videosAVI, sonidos (MID, MP3 y WAV), fondos ysoporte para documentos HTML. Se puedencrear mundos ilimitados en tamaño y puedeanidar unos mundos en otros.

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 21: Software_fundamentos de Los Programas Para Realidad Virtual

32

3. V-RealmEste es un paquete que permite crear obje-

tos 3D y mundos para ser vistos mediante elBrowser V-Realm u otros compatibles con elestándar VRML 1.0. Sus características inclu-yen múltiples editores fáciles de manipular,texturas, luz y funciones para cámaras, comoun buen editor individual y uno para la agru-pación de objetos. Todo basado en comandosVRML. Además, soporta formatos GIF, JPEGy RGB para archivos de textura. Posee habili-dades prácticas para cortar, copiar y pegarentre archivos VRML. Posee herramientaspara manipular formas 3D tales como trans-formaciones, re-modelado, despliegues simul-táneos de escenas y otros. Incluye un progra-ma de traducción que importa archivos des-de 3D Studio, Autocad, True Type Font y otros.En el cap. 5 se aborda una explicación máscompleta de sus funciones.

4. Internet Space BuilderEs un editor 3D para diseñadores Web,

permite la creación de mundos virtuales ypublicarlos en Internet. Puede diseñar y edi-tar escenas y objetos 3D usando operacionesbooleanas (suma y resta) sobre un rango deformas primitivas como esferas, pirámides,conos y cilindros. Puede también importar yexportar escenas y objetos en formato VRML2.0. Pueden ser vistas las creaciones en la ma-yoría de los browser de VRML. Internet SpaceBuilder posee una gran galería de formas, tex-turas, pinturas, objetos y videos. Permite crearpuntos de vistas adicionales (cámaras) y po-see características avanzadas de mapeo detexturas, color y transparencia. Puede tambiénimportar y exportar mundos en formatoVRML 2.0 comprimido (GZIP), además,renombrar y convertir formatos de archivosde otro destino. Soporta VRML 1.0, puede pro-cesar archivos BMP, GIF, JPG y PNG de imá-genes e importar archivos 3DS, DXF y otros,puede importar objetos MUS y exportarlosen formato DXF.

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 22: Software_fundamentos de Los Programas Para Realidad Virtual

33

5. SitePad ProEs un ambiente de desarrollo integrado

simultáneamente para browser de HTML yVRML. Incluye un editor que posee una sin-taxis de manipulación de colores. Posee he-rramientas de chequeo de sintaxis paraHTML, VBScript y JavaScript y puede cons-truir sus propias aplicaciones usandoJavascript y Vbscript. Todas las funciones deJpadPro son también incluidas en SitePad Pro.La edición de texto limita la descripcióngeométrica pero le otorga gran precisión ycoherencia a los archivos. Usualmente se uti-liza como revisor de archivos VRML.

6. 3 DEMPermite principalmente crear escenas te-

rrestres en tres dimensiones de baja resolu-ción, animación de vuelo en tiempo real ymundos VRML de variados tamaños y diver-sas fuentes de datos. 3 DEM utiliza libreríasde SGI/Microsoft OpenGL para producirmodelos 3D de alta velocidad. Puederenderizar imágenes en 16 o 24 bits de color.La renderización de imágenes puede ser azul-rojo (requeridos para visualizaciónestereoscópica con anaglifos) o proyeccionesde color 3D requeridos para gafas deobturación (LCD).

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 23: Software_fundamentos de Los Programas Para Realidad Virtual

34

7. Virtus WalkthroughEste es el software inicial de la serie Virtus.

Posee excelentes controles sobre luces, fácilacceso a texturas y edición de formas (Shapes).Puede crear modelos VRML para publicarmodelos en Internet. Trabaja con varias ven-tanas con vistas planas, elevaciones y pers-pectivas realistas para chequear el ambientecreado. Paletas de herramientas y controlesgráficos facilitan su uso, pero la ejecución ycomplejidad dependen mucho delequipamiento.

8. Virtus VREs la versión de bajo costo de Virtus y es

bueno para aquellas aplicaciones que no ne-cesitan alto nivel de detalle. En vez de herra-mientas de dibujo usa formas predefinidasque pueden ser arrastradas hacia un plano ouna elevación. Posee extensas librerías de for-mas que lo convierten en un sistema de dise-ño rápido. Esta rapidez de diseño tiene uncosto en la fineza del mismo. También es li-mitado en el manejo de luces. Pero posee granversatilidad en la navegación con distintosequipos.

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1

Page 24: Software_fundamentos de Los Programas Para Realidad Virtual

35

10. Superscape VRTEs un sistema profesional para el diseño

de mundos 3D interactivo sobre plataformaPC. Estos mundos pueden ser publicados enVRLM en Internet y usar su navegadorViscape, como también navegar con elbrowser propio Visualizer. También se pue-den crear mundos mediante su versión gra-tuita 3D-WebMaster. Superscape está com-puesto de 7 editores que permiten la creaciónde sus aplicaciones. En éstos se pueden desa-rrollar mundos a partir de objetos 3D, textu-ras y sonido utilizando editores de formas,imágenes y sonidos, entre otros. A los objetosse les puede asociar propiedades tales como:dinámica, velocidad angular, gravedad yotros, además de incorporar comportamien-tos mediante el uso del lenguaje interno deSuperscape llamado SCL (Superscape ControlLanguage). Posee librerías que contienen tex-turas, objetos y sonidos, los cuales pueden serutilizados libremente por el diseñador. VRTsoporta un gran número de tarjetas gráficas,dispositivos de entrada y tarjetas de sonido.En el cap. 5 se explica la programación con laversión 3D-WebMaster.

9. MultigenAunque se ha dicho que existen muchos

productos para RV y que muchos de los mo-delos son importados desde sistemas CAD(por ejemplo DXF), hay un número conside-rable de sistemas de modelamiento usadospara crear sus propias formas 3D. Entre ellospodemos destacar a Multigen, que provienede una de las compañías de mayor reconoci-miento y que produce software demodelamiento desde 1986. Estos productosson usados ampliamente en diversas aplica-ciones de simulación en tiempo real para en-trenamiento industrial u otros fines. En diver-sas plataformas tales como SGI, Sony,Nintendo, Sega, Macintosh, PC y otros equi-pos especiales para 3D en tiempo real. Losproductos de software incluyen Multigen IIPro, Multigen Creator, Multigen GO ySmartscene, abarcando editores muy comple-tos y sofisticados, con navegadores de granactividad gráfica.

SOFTWARE: fundamentos de los programas para Realidad Virtual

Par

ra M

arqu

ez, J

uan

Car

los;

Gar

cía

Alv

arad

o, R

odrig

o; S

ante

lices

Mal

fant

i, Iv

án "

Intro

ducc

ión

Prá

ctic

a a

la R

ealid

ad V

irtua

l" ©

Edi

cion

es U

. Bío

-Bío

, Con

cepc

ión,

200

1