ArticlePDF Available

Abstract and Figures

Este artículo presenta aspectos de implementación del software BioVisualizador. Este software fue desarrollado para visualizar información jerarquizada en un ambiente tridimensional, en este caso particular, para visualizar información relacionada con biodiversidad. Además el artículo trata temas algorítmicos de interés para el paradigma de árboles de conos. En forma más detallada un algoritmo desarrollado para trabajar en árboles de conos. El algoritmo calcula el mejor modo de rotar los subárboles para traer al frente del observador un nodo seleccionado como de interés en algún lado de la estructura. Las pruebas de campo y el análisis de eficiencia del algoritmo prometen una reducción en el tiempo de cálculo de las animaciones de tiempo variable a tiempo constante.
Content may be subject to copyright.
Rotación de subárboles en estructuras de árboles de conos
Hernández Castro, Franklin, Instituto Tecnológico de Costa Rica (Costa Rica)
Monge Fallas, Jorge, Instituto Tecnológico de Costa Rica (Costa Rica).
Abril 2007
Resumen
Este artículo presenta aspectos de implementación del software BioVisualizador. Este software fue desarrollado
para visualizar información jerarquizada en un ambiente tridimensional, en este caso particular, para visualizar
información relacionada con biodiversidad. Además el artículo trata temas algorítmicos de interés para el
paradigma de árboles de conos. En forma más detallada un algoritmo desarrollado para trabajar en árboles de
conos. El algoritmo calcula el mejor modo de rotar los subárboles para traer al frente del observador un nodo
seleccionado como de interés en algún lado de la estructura. Las pruebas de campo y el análisis de eficiencia del
algoritmo prometen una reducción en el tiempo de cálculo de las animaciones de tiempo variable a tiempo
constante.
Palabras claves
Visualización de información, navegación, cone trees, rotaciones de conos, árboles de conos, navegación, hiper-
espacio, BioVisualizador.
Introducción
Hasta hace poco la mayoría de las interfases de usuario eran basadas en paradigmas bidimensionales. Aun las
interfases gráficas, como OS X o Windows, se basan casi exclusivamente en paradigmas en dos dimensiones. El
hecho de que sea posible traslapar ventanas y documentos, recuerda la pequeña capacidad de los humanos para
diseñar en tres dimensiones, es decir una interfase gráfica convencional es tridimensional, no obstante su
profundidad en el eje z es de “apenas unos milímetros” en la imaginación del usuario.
Naturalmente esto fue también un resultado de la gran capacidad de cálculo necesaria para graficar verdaderos
sistemas tridimensionales en las interfases, sin embargo, la idea general de tener una interfase 3D como espacio
de trabajo, ha estado desde el principio en la mesa de discusiones [Robertson, Card & Mackinlay].
En el momento en que las primeras interpretaciones de espacios tridimensionales aparecen [Lieberman],
aparecen con ellas los problemas de navegación y en cuanto el espacio crece, la posibilidad de desorientarse
crece en forma exponencial.
En el caso del BioVisualizador, grandes cantidades de datos organizados en forma jerárquica, son desplegados
usando el paradigma de árboles de conos [MCR95a].
Gerneralidades del BioVisualizador
El BioVisualizador es un sistema de visualización de la información desarrollado en la Escuela de Computación
del Instituto Tecnológico de Costa Rica, como proyecto de graduación de la Maestría en Ciencias de la
Computación de los autores Franklin Hernández-Castro de la Escuela de Diseño Industrial y Jorge Monge-
Fallas de la Escuela de Matemática, guiado por el Doctor en Informática Erick Mata Montero de la Escuela de
Computación.
El proyecto consiste en la visualización de grandes cantidades de información jerarquizada. Desarrollado en
conjunto con el Centro Nacional de Biodiversidad de Costa Rica InBio, el proyecto tiene como primer objetivo
visualizar en forma eficiente las categorías taxonómicas de algunas de las especies clasificadas en ese centro de
investigación.
El proyecto toma como paradigma de visualización los ConeTrees [MCR95] y graficá la información
taxonómica (reino, filo, clase, orden, familia, especie y espécimen, por ejemplo) en forma de conos en los que se
puede leer fácilmente las relaciones entre los distintos seres vivos.
Además el sistema ofrece la posibilidad de consultar información en tres niveles:
1. A través de la navegación simple, consultando los nombres y las imágenes de los especímenes
2. A través de cédulas de información que son disponibles en un plano virtual previo a las estructuras
tridimensionales
3. A través de consultas más profundas conectando el visualizador a la Internet y haciendo consultas a través
de el mismo sistema.
La figura 1 muestra la estructura vernácula de los anfibios de Costa Rica desplegada a través del
BioVisualizador.
Figura 1 Estructura de los anfibios de Costa Rica
Una característica importante de los árboles de conos es la posibilidad de representar al mismo tiempo
información detallada y contextual, es decir un usuario puede revisar información relevante sin perder de vista
el contexto. Esta situación se conoce como estrategias del tipo “focus+context”. El sistema completo del
BioVisualizador está detallado en otro artículo [HMM05], en el presente nos ocupamos en detalle del problema
específico del cálculo de las animaciones para “sacar” un nodo de interés a la vista del usuario.
Algoritmos relevantes dentro del BioVisualizador
Durante el desarrollo del sistema y su implementación se presentaron aspectos algorítmicos de interés, entre
ellos el problema de posicionamiento y dimensionado de los conos, el problema de navegación y orientación en
el espacio tridimensional y por último la rotación sincrónica de subárboles.
El problema en el posicionamiento y dimensionado de los conos se basa en la definición de las dimensiones de
los conos según su posición y la cantidad de descendientes que tengan. En un primer nivel el tamaño del
diámetro de base de un cono debe ser proporcional a la cantidad de hijos que tenga ese padre. De este modo un
padre con dos hijos tendrá un cono de menor diámetro de base que un nodo con diez hijos.
En el siguiente nivel el diámetro de base del cono debe tomar en cuenta los diámetros de la base de los conos de
sus hijos y así sucesivamente hasta la raíz del árbol. Una vez conformado el árbol de esta forma, todos los
conos se ordenan adecuadamente.
El problema de navegación y orientación en el espacio tridimensional también conocido como el problema
¨pérdidos en el hiper-espacio¨, radica en la complejidad de navegar en un espacio que tienen tres dimensiones y
por tanto también tres ejes de giro. En otras palabras, un usuario normal puede girar en los tres ejes y definir en
qué dirección desea avanzar.
Como es fácil imaginar la posibilidad de perderse en un sistema de este tipo es relativamente alta, el usuario
normal no está muy familiarizado con estas posibilidades de movimiento, como resultado, no se tiene claro
como llegar al lugar donde se desea ir.
El tercer aspecto relacionado con la algoritmia asociada al BioVisualizador es el aspecto de la rotación
sincrónica al que nos referiremos con más detalle a continuación.
Rotación sincrónica
Una de las ventajas de los paradigmas tridimensionales es la posibilidad de usar la animación como elemento de
transmisión de información. La posible animación de los elementos en el espacio virtual introduce una
dimensión más al paradigma; la dimensión temporal.
A través de animaciones, movimientos y asociaciones entre elementos en movimiento, se trata de comunicar
relaciones y pertenencias entre los elementos en el espacio.
Esta dimensión supone un gran reto de diseño, pues es capaz de facilitar la percepción de las relaciones entre los
elementos en el espacio pero también puede confundir. La idea en este sentido es la de manejar los elementos de
animación del modo más intuitivo posible, permitiendo disminuir la carga cognitiva necesaria para entender la
representación, trasladándola a la parte automatizada del cerebro.
Dentro del paradigma de los árboles de conos generalmente existe la posibilidad de que el usuario pueda rotar
los conos a su voluntad, de este modo es posible “hojear” entre los posibles elementos teniendo consciencia
clara del contexto al que pertenecen. Con esta posibilidad, un usuario puede seleccionar un cono y rotarlo a
voluntad, luego seleccionar otro cono o un subárbol entero y volver a rotar, hasta localizar algún nodo u hoja de
su interés.
El uso de esta práctica radica en la necesidad de identificar un nodo de interés en el medio de muchos nodos,
subárboles y hojas. En esta situación, uno de los problemas más comunes con los que se encuentra el usuario, en
las estructuras del tipo árboles de conos, es la de seleccionar un nodo y querer traerlo hacia él (figura 2).
Figura 2. Identificación de un nodo de interés en un árbol de tamaño mediano
En estructuras de gran tamaño con varios niveles de profundidad y cientos de nodos (como en la figura 2), es
posible que se divise un nodo importante en el “mar” de información, en este caso es de esperar que el usuario
desee ver ese nodo más de cerca. La opción que le queda al usuario, es tratar de identificar cuáles de los
antecesores del nodo debe girar, determinar en qué dirección debe hacerlo y tratar de hacer los movimientos
para que el nodo que le interesa quede lo más cerca del punto de vista del usuario.
En este “Caso de Uso” sería deseable un algoritmo que permita rotar los conos en forma inteligente, de modo
que el nodo de interés finalice al frente del observador.
La situación entonces es la siguiente: un usuario está navegando en una estructura de árbol de conos y ha
identificado, en medio de muchos, un nodo que le interesa; quizás una hoja o quizás un padre que define una
clase en el esquema jerárquico. El usuario hace clic en el nodo de su interés y lo selecciona, entonces da la
orden para que este nodo sea “traído al frente”.
Una solución conocida
Esta situación ha sido estudiada con anterioridad [R03]. La solución clásica descrita por Matthew K. Ruby de la
Universidad de Durham se describe a continuación.
El algoritmo de rotación funciona calculando la secuencia de rotaciones de los conos requeridos para “traer al
frente” de la pantalla el nodo seleccionado. Para llevar a cabo este cálculo se debe determinar cuál rotación es
necesaria en los ascendientes del nodo de interés. Girando estratégicamente los ascendientes logramos que el
nodo en cuestión “salga” hacia la parte exterior del árbol y de ese modo se haga más visible. Entre las variables
que se deben determinar están el número de grados y la dirección en que cada cono, que pertenece a la línea de
ascendentes entre el nodo seleccionado y el nodo raíz, debe ser rotado.
Este algoritmo clásico trabaja recursivamente calculando la rotación de todos los conos entre el padre del nodo
seleccionado y el nodo raíz. La figura 3 demuestra su lógica de funcionamiento.
Figura 3. Figura original de la secuencia de rotación de conos propuesta por M.Ruby [R03].
El algoritmo determina también la dirección de la rotación a través de la comparación de la cantidad de grados
que debe girar, si éste es mayor que 180 entonces gira en el sentido contrario al calculado.
De este modo todos los conos entre el nodo seleccionado y el nodo raíz giran en forma armónica hasta que se
alinean en frente del usuario. (Figura 3)
Este método es muy efectivo dejando el nodo de interés al frente y sus antecesores alineados, sin embargo, el
cálculo y ejecución de las animaciones son un poco costosas en tiempo. De hecho la eficiencia de cálculo de las
animación es de σ (n), siendo n el número de ascendentes en la línea entre el nodo seleccionado y el nodo raíz.
Observando esta dificultad se decidió estudiar un algoritmo alternativo.
La solución propuesta
Para definir un movimiento que saque un nodo específico de cualquier parte de una estructura de un árbol de
conos, en realidad son necesarios dos clases de movimientos:
a. El movimiento de giro de los conos (o subárboles) necesarios para que el nodo seleccionado quede lo más
afuera posible de la estructura.
b. El movimiento de todo el árbol para que el nodo seleccionado, que ahora está lo más afuera posible, quede
de frente al observador.
Este último movimiento se puede interpretar como el giro de la raíz, como en la propuesta de Ruby donde al
mover el antecesor común a todo el árbol se gira la estructura completa quedando de frente al observador. Este
movimiento se puede interpretar también de otros modos, tanto así que se puede ejecutar también como un
movimiento del espectador.
Este tipo de movimiento del espectador ya lo hemos discutido en un artículo previo, “La esfera de
navegación” [HM05], así que solo haremos una breve referencia. En esta técnica “la cámara” (o sea la posición
del usuario) se desplaza en forma intuitiva de modo que el observador cree estar moviendo el objeto cuando en
realidad se está moviendo él mismo. Con esta estrategia, el segundo movimiento descrito arriba (punto b) se
puede interpretar como un movimiento de la cámara y no de los conos.
Una vez hecha esta diferencia nos podemos concentrar en el movimiento descrito como a, “el movimiento de
giro de los conos (o subárboles) necesarios para que un nodo seleccionado quede lo más afuera posible de la
estructura. Después de algunos intentos y discusiones se definió el siguiente algoritmo para éste movimiento
(que es el más complejo).
La condición previa es por supuesto, que el nodo de interés esté seleccionado y se haya ejecutado la orden de
traerlo hacia el frente. A este punto se ejecuta lo siguiente:
1. Búsqueda del antecesor del nodo seleccionado que esté más lejos del centro. Esta expresión se refiere al nodo,
que observado desde la vista superior de todo el árbol, se encuentre en el radio más grande entre los radios de
todos los demás antecesores.
2. Giro de este antecesor hasta que el nodo seleccionado esté lo más afuera posible. Con esta sentencia se quiere
expresar que al girar un antecesor se gira el nodo seleccionado (puesto que el nodo seleccionado pertenece a
alguno de los conos hijos del nodo girado). De este modo se gira este antecesor hasta que el nodo seleccionado
tenga la distancia radial (siempre medida desde la vista superior) mayor posible desde el centro del árbol.
3. Si el antecesor girado en el punto anterior es el padre del nodo seleccionado, el algoritmo termina y el nodo
seleccionado ya está lo más afuera posible de toda la estructura, sino:
4. Giro del el padre del nodo seleccionado del nodo seleccionado, hasta que éste esté lo más afuera posible.
Con estos cuatro pasos se garantiza que el nodo seleccionado se encuentre lo más afuera posible cumpliendo
con el movimiento de tipo (a) que se definió anteriormente.
La figura 4 demuestra la ejecución del algoritmo en una configuración específica.
Figura 4 Demostración gráfica del funcionamiento del algoritmo propuesto. Vista superior
Con estos cuatro pasos se garantiza que el nodo de interés se encuentre lo más afuera posible en toda la
estructura de árbol.
No obstante es posible que está posición no haya
quedado en frente del observador, por esta razón se hace
necesario ejecutar el segundo movimiento (el
movimiento de tipo b definido arriba). Este movimiento
se puede interpretar como el giro de toda la estructura o
el giro de la posición del espectador hasta que el nodo
seleccionado, que ahora está afuera, quede en frente del
observador.
Como es lógico dentro de nuestro paradigma, este
último movimiento se deja realizar fácilmente moviendo
la cámara dentro de la esfera de navegación de modo
que se coloque en frente del nodo seleccionado que ya
está afuera de la estructura. (Figura 5) Con estos dos
movimientos combinados se garantiza que el nodo de
interés quede “en frente” del espectador y lo más afuera
posible (Figura 6).
Vale la pena notar que en relación con la eficiencia del
algoritmo propuesto, si bien es necesario calcular la
distancia de todos los antecesores en la línea de sucesión
entre el nodo seleccionado y la raíz, una vez definido
cuál es el antecesor más lejano el cálculo de las
animaciones se reduce a dos subárboles como máximo,
pues así está definido en el algoritmo.
De este modo, en lo referente al cálculo y ejecución de
las animaciones (que es el mayor trabajo de cálculo) el
algoritmo es asintóticamente constante, σ (2), o sea muy
superior a la propuesta anteriormente explicada.
Otra ventaja más de este algoritmo, es que al mantener
la configuración de la estructura mucho más parecida a
la de antes del movimiento, el usuario mantiene un
sentido de orientación mayor que en la propuesta
convencional expuesta anteriormente. En la propuesta
anterior al girar todos los conos en la línea de
ascendencia, la configuración final de la estructura es
completamente distinta a la inicial. Este cambio de
configuración tan drástico puede desubicar al usuario y
perder algo de la ubicación intuitiva que ofrece el
paradigma.
Figura 5 Demostración gráfica del último giro. Vista
superior
Figura 6. Árbol de conos mostrando un nodo de interés
que fue traído en frente del usuario.
Implementación
Por razones de claridad a la hora de ejecutarse las animaciones, los movimientos antes descritos se
implementaron en dos etapas completamente separadas, en primera instancia se calculan todas las animaciones
por completo y después se ejecutan simultáneamente.
Son varias las ventajas de esta división entre ellas se cuentan:
1. La posibilidad de tener una animación más fluida, pues ya se cuenta con todos los datos antes de empezar los
movimientos.
2. La posibilidad de ofrecer una animación en la que los
conos que deban girar lo hagan simultáneamente dando una
sensación de continuidad muy agradable.
3. Es posible calcular las direcciones de giro en forma
independiente, sin mover ningún cono, ocultando los falsos
movimientos necesarios para determinar cuál es la dirección
que ofrece el camino más corto.
Distancia euclidiana
La primera función necesaria para poner en ejecución el
algoritmo descrito es una función que determine la distancia
euclidiana entre dos nodos en forma bidimensional. Esto
con el fin de saber cuál es la distancia, medida en la vista
superior, entre un nodo y la raíz.
En la implementación del BioVisualizador esto significa
calcular la distancia entre dos nodos tomando en cuenta las
coordenadas en el eje X y las del eje Z, dejando por fuera el
eje Y que, en esta implementación, es el eje vertical.
Así que el cálculo de la distancia se resume en calcular la
distancia euclidiana bidimensional en el plano XZ, a saber:
Donde:
X1= Posición en X del nodo seleccionado
X2= Posición en X de la raíz
Z1= Posición en Z del nodo seleccionado
Z2= Posición en Z de la raíz (ver figura 7)
Este procedimiento se ejecuta con todos los antecesores del nodo seleccionado para determinar cuál es el
antecesor que se encuentra más lejos.
Dirección de giro
Una vez determinado el antecesor más lejano del centro del nodo seleccionado es necesario saber en que
dirección se debe girar el cono, esto porque de girarse en la dirección contraria el giro sería más largo. Para
determinar esta dirección, primero se mide la distancia entre el nodo seleccionado y la raíz del árbol (usando la
función descrita anteriormente), luego se ejecuta un giro de pocos grados en una dirección cualquiera y se
vuelve a medir la distancia entre la raíz y el nodo en cuestión.
En este momento se comparan las dos distancias, si la distancia después del giro es mayor que la anterior a éste,
la dirección de giro es la correcta, sino la dirección de giro debe ser la opuesta.
De este modo se determina cuál dirección es la que aleja el nodo de la raíz y se comienza a calcular el giro.
Figura 7 Distancia euclidiana bidimensional sobre la
vista superio
Hasta ahora se sabe quién debe girar y en qué dirección, sin embargo, falta definir hasta dónde se debe girar.
Esto se determina de un modo simple usando la información que vamos calculando en cada movimiento. En
cada paso del giro se guardan las distancias entre el nodo girado y el centro antes y después de ejecutar el giro.
Estas distancias simplemente se comparan del mismo modo que se hizo anteriormente para calcular la dirección
correcta. Con esta comparación se determina cuál es el punto de posición más lejano del nodo de interés, por
supuesto, en el momento en que el giro vuelve a acercar el nodo a la raíz se detiene el cálculo del giro. (ver
figura 8)
Con estas mismas secuencias se calculan los dos giros
necesarios. Nótese que a pesar de que pueda parecer poco
sofisticado este modo de determinar la dirección de giro y
el punto máximo del mismo es un modo muy económico
de realizar el cálculo sin necesidad de calcular los grados
de giro en ambas direcciones y comparar, enfoque que se
había usado hasta ahora.
Movimiento de cámara
Con la ejecución de los giros calculados anteriormente el nodo seleccionado ya se encuentra en la parte exterior
del árbol, es decir, el movimiento que definimos como “a” en la sección de “Solución propuesta” está completo.
En este momento se hace necesario mover la cámara para trasladar el punto de observación (movimiento b).
Este movimiento se hace con las funciones programadas para mover la cámara sobre la superficie de la esfera
[HM05].
Para este efecto se realizan tres movimientos de cámara, el primero es el de “zoom”. En caso de que el nodo
seleccionado este más lejos de un umbral definido, lo que hace la cámara es acercarse al nodo. Esto se hace con
una simple comparación entre el radio actual en el que se encuentra el nodo seleccionado y el radio de la esfera
donde se encuentra la cámara; de ser este último valor mayor que el primero, se disminuye el radio de
observación paulatinamente hasta que se obtiene un radio solo un poco mayor que el del nodo. Figura 9.
Esta reducción de radio da como resultado que la cámara esté solo un poco más alejada del centro del árbol que
el nodo seleccionado y que cuando éste esté en la misma dirección quede “de frente” del punto de vista.
El siguiente movimiento es el de girar la cámara en forma vertical. En este caso, si la cámara se encuentra en
otra altura esta posición se corrige. En otras palabras, la cámara gira en vertical hasta que se encuentra alineada
con el nodo de interés, si fuera necesario también se corrige la altura a la que se posiciona la esfera de
navegación.
Figura 8. Distancias a comparar al inicio y al final del
giro.
Ejecución sincrónica
Una vez calculados todos los giros necesarios para traer el nodo
seleccionado al frente se implementó una función que ejecuta los
giros del movimiento “a” en forma sincrónica.
Esto se calculó de tal modo que los ángulos necesarios para cada uno
de los dos conos en el primer movimiento se dividen en un número
de pasos iguales y se ejecutan sincrónicamente. De este modo, los
giros comienzan en un mismo momento y terminan también
sincrónicamente aun si son de distinta magnitud.
La combinación de los movimientos “a” y “b” es una danza de giros
en forma armónica que traen el nodo al frente del espectador de una
manera eficiente y elegante. El punto final de estas animaciones fue
la adición de sonidos mecánicos que insinúan las fricciones de los
movimientos de los conos y la cámara. Cada sonido fue agregado a
cada movimiento por aparte, de modo que se ejecutan en forma
distribuida, aun si los movimientos son de diversas magnitudes.
Hojeado secuencial
Con las funciones antes mencionadas se implementó otra forma de
navegación en el árbol de conos. En este caso, el usuario puede
seleccionar una hoja específica, traerla al frente, con las funciones
antes detalladas y a partir de este momento continuar trayendo al
frente (con un solo movimiento de teclas) todas las hojas del árbol en
forma secuencial. Esta operación puede ser ejecutada de izquierda a
derecha o de derecha a izquierda y pasa de cono a cono, mostrando
todas las hojas que posee la estructura desplegada en ese momento.
La implementación de una función como la descrita se convierte en
la llamada repetida de las funciones descritas en el artículo de modo
secuencial en relación con las hojas del árbol, movimiento que
resulta muy natural e intuitivo.
Conclusiones
1.El algoritmo descrito logra las rotaciones necesarias en los
subárboles de un árbol de conos para sacar un nodo en específico al
frente del usuario.
2.El sistema fue programado en LINGO 3D de Macromedia y realiza
movimientos muy fluidos e intuitivos.
3.Todo esto con la disminución del tiempo de cálculo de las
animaciones de σ (n) a σ (2), lo que es un aumento de la eficiencia
bastante bueno.
4.El algoritmo ha sido probado en múltiples árboles con cientos de
nodos y decenas de niveles y ha funcionado eficientemente.
Figura 9. Los tres tipos de giro que realiza la
cámara para alinearse con el nodo
seleccionado.
Bibliografía
[EH89] Edwards, D. and Hardman, L. (1989) Lost in hiperspace: cognitive mapping and navigation in a
hipertext environment. En R. Mc Alise (Ed.) Hipertext: theory into practice. Intelect: Oxford.
[FPF98] Fairchild, K.M. Poltrock S.E. Poltrock, G.W.( 1998) SemNet: Three-Dimensional Graphics
Representactions of Large Knowledge Bases. En R. Guindon. Cognitive Science and Its Application for
Human-Computer Interaction. Hillsdale, New York.
[HM05] F. Hernández, J. Monge. La Esfera de Navegación en el BioVisualizador. Volumen 6, Número 2,
Diciembre 2005. Tiempo Compartido, Escuela de Ingeniería en Computación del Instituto Tecnológico de
Costa Rica.
[HM07] F. Hernández, J. Monge. (2007) Visualización Tridimensional de Estructuras Jeráquicas. Tesis para
optar por el grado de Magíster Scientae en Computación, con Énfasis en Ciencias de la Computación. Escuela
de Ingeniería en Computación del Instituto Tecnológico de Costa Rica. Marzo del 2007.
[HMM05] F. Hernández, E. Mata, J. Monge (2007). Biovisualizador: un esquema tridimensional de
visualización de información sobre especies. I Reunión de la Red CYTED de Conservación y Digitalización
de Colecciones Biológicas. Buenos Aires, Argentina.. http://www.gbifargentina.org.ar/reunion/contenido/
resumenes.php
[L94] H. Lieberman (1994). Powers of Ten Thousand: Navigating in Large Information Spaces. Media
Laboratory, Massachusetts Institute of Technology. Proceedings of the 7th annual ACM symposium on User
interface software and technology. California.
[MCR95] J. D. Mackinlay, S. K. Card, G.G. Robertson (1995). Cone Trees: Animated 3D Visualizations of
Hierachical Information. UIR-R-1995
[R03] Ruby M. K (2003). Information Visualization for Financial Analysis. Tesis de Maestria en Ciencias de
la Computación. Department of Computer Science, University of Durham. 2003.
[RCM93] Robertson, George G., Card, Stuart K., and Mackinlay, Jock D. (1993) Information visualization
using 3-D interactive animation, Communications of the ACM 36, 4 (April 1993), 56-71.
ResearchGate has not been able to resolve any citations for this publication.
Article
UI innovations are often driven by a combination of technology advances and application demands. On the technology side, advances in interactive computer graphics hardware, coupled with low-cost mass storage, have created new possibilities for information retrieval systems in which UIs could play a more central role. On the application side, increasing masses of information confronting a business or an individual have created a demand for information management applications. In the 1980s, text-editing forced the shaping of the desktop metaphor and the now standard GUI paradigm. In the 1990s, it is likely that information access will be a primary force in shaping the successor to the desktop metapho. This article presents an experimental system, the Information Visualizer (see figure 1), which explores a UI paradigm that goes beyond the desktop metaphor to exploit the emerging generation of graphical personal computers and to support the emerging application demand to retrieve, store, manipulate, and understand large amounts of infromation. The basic problem is how to utilize advancing graphics technology to lower the cost of finding information and accessing it once found (the information's "cost structure"). We take four broad strategies: making the user's immediate workspace larger, enabling user interaction with multiple agents, increasing the real-time interaction rate between user and system, and using visual abstraction to shift information to the perceptual system to speed information assimilation and retrieval.
SemNet: Three-Dimensional Graphics Representactions of Large Knowledge Bases. En R. Guindon. Cognitive Science and Its Application for Human-Computer Interaction
  • K M Fairchild
  • S E Poltrock
  • G W Poltrock
Fairchild, K.M. Poltrock S.E. Poltrock, G.W.( 1998) SemNet: Three-Dimensional Graphics Representactions of Large Knowledge Bases. En R. Guindon. Cognitive Science and Its Application for Human-Computer Interaction. Hillsdale, New York.
Tiempo Compartido, Escuela de Ingeniería en Computación del Instituto Tecnológico de Costa Rica
  • F Hernández
  • J Monge
F. Hernández, J. Monge. La Esfera de Navegación en el BioVisualizador. Volumen 6, Número 2, Diciembre 2005. Tiempo Compartido, Escuela de Ingeniería en Computación del Instituto Tecnológico de Costa Rica.
Tesis para optar por el grado de Magíster Scientae en Computación, con Énfasis en Ciencias de la Computación. Escuela de Ingeniería en Computación del Instituto Tecnológico de Costa Rica
  • F Hernández
  • J Monge
F. Hernández, J. Monge. (2007) Visualización Tridimensional de Estructuras Jeráquicas. Tesis para optar por el grado de Magíster Scientae en Computación, con Énfasis en Ciencias de la Computación. Escuela de Ingeniería en Computación del Instituto Tecnológico de Costa Rica. Marzo del 2007.
Biovisualizador: un esquema tridimensional de visualización de información sobre especies. I Reunión de la Red CYTED de Conservación y Digitalización de Colecciones Biológicas
  • F Hernández
  • E Mata
  • J Monge
F. Hernández, E. Mata, J. Monge (2007). Biovisualizador: un esquema tridimensional de visualización de información sobre especies. I Reunión de la Red CYTED de Conservación y Digitalización de Colecciones Biológicas. Buenos Aires, Argentina.. http://www.gbifargentina.org.ar/reunion/contenido/ resumenes.php