Visualização de Informação
Modelo Integrado para o Tratamento
de Filtragem e Múltiplas
Representações
Maria Beatriz Carmo
DI-FCUL
TR–03–9
May 2003
Departamento de Informática
Faculdade de Ciências da Universidade de Lisboa
Campo Grande, 1749-016 Lisboa
Portugal
Technical reports are available at http://www.di.fc.ul.pt/tech-reports. The files are stored in
PDF, with the report number as filename. Alternatively, reports are available by post from
the above address.
VISUALIZAÇÃO DE INFORMAÇÃO
MODELO INTEGRADO PARA O
TRATAMENTO DE FILTRAGEM E
MÚLTIPLAS REPRESENTAÇÕES
Maria Beatriz Duarte Pereira do Carmo
Dissertação submetida para obtenção do grau de
DOUTOR EM INFORMÁTICA
Orientador:
João Manuel Gonçalves Duarte Cunha
Júri:
Mário Rui Fonseca dos Santos Gomes
Maria Beatriz Alves Sousa Santos
Helder Manuel Ferreira Coelho
Nuno Manuel de Carvalho Ferreira Guimarães
Dezembro de 2002
VISUALIZAÇÃO DE INFORMAÇÃO
MODELO INTEGRADO PARA O
TRATAMENTO DE FILTRAGEM E
MÚLTIPLAS REPRESENTAÇÕES
Maria Beatriz Duarte Pereira do Carmo
Dissertação submetida para obtenção do grau de
DOUTOR EM INFORMÁTICA
pela
Faculdade de Ciências da Universidade de Lisboa
Departamento de Informática
Orientador:
João Manuel Gonçalves Duarte Cunha
Júri:
Mário Rui Fonseca dos Santos Gomes
Maria Beatriz Alves Sousa Santos
Helder Manuel Ferreira Coelho
Nuno Manuel de Carvalho Ferreira Guimarães
Dezembro de 2002
Resumo
Esta dissertação enquadra-se no âmbito da Visualização de Informação, centrando-se no
desenvolvimento de um modelo para servir de base à criação de sistemas genéricos de
visualização. O modelo engloba mecanismos de filtragem, controlo do volume de
informação a representar, gestão de múltiplas representações, bem como a visualização de
detalhe inserido no contexto.
O grupo de informação é o conceito central do modelo, articulando a ligação entre os
dados, a representação gráfica e a referência espacial. Além disso, a organização da
informação em grupos permite agregar informação semanticamente relacionada, facilita o
processo de filtragem de informação e possibilita a existência de múltiplas representações
dentro do mesmo grupo e representações diferentes de grupo para grupo.
A informação semântica sobre os dados é incorporada através de uma função de grau de
interesse que, além de permitir suprimir informação menos relevante, contribui para
seleccionar a representação.
O modelo inclui também um mecanismo de ampliação que permite ampliar uma zona de
interesse sem deformação, mantendo-a inserida no contexto global.
Finalmente desenvolveu-se um protótipo que concretiza os conceitos propostos no
modelo. No protótipo a interface é adaptada dinamicamente de acordo com
meta-informação incluída no ficheiro de dados e é sempre gerada uma visualização inicial
que pode ser alterada interactivamente. A representação por omissão é definida num espaço
de coordenadas independente do espaço de coordenadas do utilizador, permitindo assim a
sua utilização para qualquer conjunto de dados.
Palavras chave: visualização de informação, filtragem, múltiplas representações,
ampliação com contexto global.
Abstract
The work described in this document deals with the development of a model to support
the creation of generic information visualization systems, including filtering mechanisms,
control of the amount of information, multiple representations and a zoom mechanism
combining local detail and global context.
The concept of information group plays a central role in the model, linking data,
graphical representations and spatial reference. Moreover, information groups enable to put
together information that is semantically related, simplify information filtering and allow
the definition of multiple representations for the group, which can be different from the
representations of other groups.
In order to include semantic criteria, a degree of interest function is used, allowing
suppression of less relevant information and contributing to select the representation.
A zoom mechanism providing local detail with global context is included. The area of
interest is magnified without distortion.
A prototype has been developed implementing the proposed model. The interface is
adjusted according to metadata included in the data file. A default visualization is produced
which can be changed interactively by the user. The representation used by default is
defined in a coordinate space independent from user’ s coordinate space. So this
representation can be used with any dataset.
Keywords: information visualization, filtering, multiple representations, zoom with
global context.
Agradecimentos
A realização deste trabalho não teria sido possível sem o apoio das pessoas que me
rodearam e a quem quero expressar o meu reconhecimento.
Agradeço
ao Professor João Duarte Cunha por ter assumido a orientação deste trabalho e a
disponibilidade que sempre mostrou para analisar caminhos e discutir soluções. Agradeço
ainda a leitura crítica deste documento e as sugestões valiosas para a sua redacção final.
ao Professor Graça Martins por ter criado condições para o início deste trabalho e o
encorajamento que sempre transmitiu.
ao Departamento de Informática as condições dadas para a realização do trabalho e aos
seus sucessivos presidentes a boa vontade e a compreensão que demonstraram.
aos elementos da administração de sistemas a atenção e a ajuda pronta.
a todos os alunos que colaboraram na concretização de algumas das ideias que surgiram
ao longo deste trabalho, nomeadamente ao Mário Rafael Pacheco e ao Luís Reis, o esforço
e o empenhamento.
a todos os meus colegas o bom ambiente de trabalho que proporcionaram.
à Teresa Chambel, à Dulce Domingos e à Ana Paula Cláudio o apoio, a compreensão e o
modo como temos “partilhado” tanto tempo das nossas vidas. À Ana Paula agradeço
também a ajuda na revisão do texto deste documento e, mais do que isso, a troca de pontos
de vista, as sugestões e a cooperação.
aos amigos de quem recebi apoio e estímulo.
à minha família que esteve sempre e incondicionalmente ao meu lado.
Índice
Índice ................................................................................................................................. i
Índice de Figuras............................................................................................................... v
Índice de Quadros ............................................................................................................. x
1. Introdução .................................................................................................................... 1
2. Visualização de Informação......................................................................................... 7
2.1 Visualização de diferentes tipos de dados ............................................................. 9
2.1.1 Dados de tipo linear ........................................................................................ 11
2.1.2 Dados 2D e 3D................................................................................................ 17
2.1.3 Dados multivariados e dados multidimensionais............................................ 18
2.1.3.1 Dados multivariados.................................................................................. 20
Ícones .................................................................................................................. 20
Texturas............................................................................................................... 23
Nuvens de pontos ................................................................................................ 24
Coordenadas paralelas......................................................................................... 25
Outras formas de visualização de dados multivariados ...................................... 26
Síntese ................................................................................................................. 30
2.1.3.2 Dados multidimensionais .......................................................................... 31
2.1.4 Estruturas hierárquicas.................................................................................... 37
2.1.5 Texto ............................................................................................................... 51
Listas de texto ..................................................................................................... 51
Colecções de documentos ................................................................................... 54
Colecções de documentos e a Internet ................................................................ 60
Síntese ................................................................................................................. 63
2.2 Interacção e aspectos relacionados...................................................................... 64
2.2.1 Ampliação: detalhe e contexto........................................................................ 64
Ampliação sem inclusão de contexto global....................................................... 65
Ampliação com inclusão de contexto global ...................................................... 70
i
Ampliação e factor de escala .............................................................................. 79
Síntese ................................................................................................................. 81
2.2.2 Múltiplas representações ................................................................................ 81
2.2.3 Filtragem......................................................................................................... 87
2.2.4 Controlo da densidade de informação ............................................................ 96
2.3 Sistemas de visualização ..................................................................................... 99
2.3.1 Sistemas de visualização genéricos .............................................................. 100
2.3.2 Outros sistemas de visualização ................................................................... 109
Sistemas de visualização e a Internet................................................................ 113
Síntese ............................................................................................................... 118
2.4 Sumário.............................................................................................................. 118
3. Enquadramento e Objectivos do Trabalho Desenvolvido........................................ 121
3.1 Processo de visualização ................................................................................... 122
3.2 Tipos de dados................................................................................................... 127
3.3 Mapificação ....................................................................................................... 129
3.4 Interacção .......................................................................................................... 134
3.5 Sistemas genéricos............................................................................................. 135
3.6 Objectivos do trabalho desenvolvido ................................................................ 137
4. Modelo Integrado para o Tratamento de Filtragem e de Múltiplas
Representações .................................................................................................... 139
4.1 Grupos de informação ....................................................................................... 139
4.1.1 Variáveis ....................................................................................................... 141
4.1.2 Grelha ........................................................................................................... 141
4.1.3 Atributos do grupo de informação ................................................................ 145
4.1.4 Listas de representações e listas de informação geométrica......................... 146
4.1.5 Geração de superfícies .................................................................................. 152
4.2 Múltiplas representações ................................................................................... 155
4.2.1 Múltiplas representações nas listas de representações.................................. 155
4.2.2 Múltiplas representações nas listas de informação geométrica .................... 164
4.2.3 Múltiplas representações e diferentes espaços de representação.................. 165
4.2.4 Comparação com outros modelos................................................................. 168
ii
4.3 Interacção .......................................................................................................... 172
4.3.1 Ampliação..................................................................................................... 172
4.3.1.1 Modelo de ampliação da pirâmide truncada............................................ 173
Determinação da altura da pirâmide truncada ................................................... 176
Determinação do centro de projecção da pirâmide truncada............................. 177
A pirâmide truncada e o modelo document lens ............................................... 180
Factores de escala .............................................................................................. 182
Múltiplas zonas de interesse.............................................................................. 186
4.3.1.2 A pirâmide truncada e outros modelos de ampliação .............................. 190
4.3.2 Filtragem....................................................................................................... 194
4.3.2.1 A função de grau de interesse no processo de filtragem.......................... 194
4.3.2.2 Supressão de grupos de informação......................................................... 195
4.3.2.3 Limitação do domínio das variáveis ........................................................ 195
4.3.2.4 Ordem de geração da imagem.................................................................. 199
4.4 Sumário.............................................................................................................. 203
5. Descrição do Protótipo............................................................................................. 207
5.1 Função de grau de interesse............................................................................... 208
5.2 Grupos de informação ....................................................................................... 212
5.2.1 Variáveis ....................................................................................................... 212
5.2.2 Interface dos grupos de informação e das variáveis ..................................... 213
5.2.3 Grelha ........................................................................................................... 215
5.2.4 Atributos dos grupos de informação............................................................. 218
5.2.5 Listas de representações e listas de informação geométrica......................... 219
5.2.6 Geração de superfícies .................................................................................. 223
5.3 Gestor de dados, gestor de transformações e gestor de interacção.................... 225
5.4 Interacção .......................................................................................................... 228
5.4.1 Zona de diálogo dos grupos de informação .................................................. 230
5.4.2 Zona de botões .............................................................................................. 233
5.4.3 Zona de diálogo das operações de ampliação............................................... 235
5.4.4 Zona de diálogo das operações relacionadas com a função de grau de
interesse ............................................................................................................... 238
iii
5.4.5 Zona de menus .............................................................................................. 239
5.4.6 Zona de desenho ........................................................................................... 241
5.5 Desenvolvimentos futuros do protótipo ............................................................ 242
5.6 Sumário.............................................................................................................. 246
6. Conclusões e Trabalho Futuro ................................................................................. 247
6.1 Conclusões......................................................................................................... 247
6.2 Trabalho futuro.................................................................................................. 251
6.3 Considerações finais.......................................................................................... 255
Anexo A – Determinação das funções de transformação e magnificação da pirâmide
truncada ................................................................................................................257
Anexo B – Algoritmo de triangulação de Delaunay por inserção incremental
aleatória ...............................................................................................................263
Anexo C – Formato do ficheiro de dados ..................................................................... 267
Anexo D – Formato do ficheiro de mapificações ......................................................... 277
Anexo E – Formato do ficheiro de valores por omissão............................................... 287
Glossário ....................................................................................................................... 289
Referências.................................................................................................................... 297
iv
Índice de Figuras
Algumas das figuras incluídas nesta dissertação foram retiradas de publicações cujos
direitos de autor pertencem às organizações IEEE e ACM. A sua reprodução é feita com
permissão destas duas entidades, assinalando-se na legenda a sua origem.
Fig. 2.1 – Lifelines [Plaisant96] (ACM) .............................................................................. 12
Fig.2.2 – ThemeRiver [Havre02] (IEEE)............................................................................. 14
Fig. 2.3 – Visualização de informação temporal periódica [Carlis98] (ACM) ................... 15
Fig. 2.4 – Hélice tridimensional e espiral relativa à zona seleccionada [Weber01]
(IEEE).................................................................................................................... 16
Fig. 2.5 – Identificação de períodos com o mesmo padrão de variação [Wijk99b]
(IEEE).................................................................................................................... 16
Fig. 2.6 – Parâmetros do ícone de [Wittenbrink96] (IEEE) ................................................ 21
Fig. 2.7 – Ícone timewheel [Chuah98a] (IEEE)................................................................... 22
Fig. 2.8 – Ícone Infobug [Chuah98a] (IEEE) ...................................................................... 22
Fig 2.9 – [Roberts02] (IEEE) .............................................................................................. 23
Fig. 2.10 – Matriz de nuvens de pontos [Ward94] (ACM) ................................................. 25
Fig. 2.11 – Hyperbox (em [Wong97b] (IEEE))................................................................... 25
Fig. 2.12 – Coordenadas paralelas [Inselberg90] (IEEE).................................................... 26
Fig. 2.13 – Coordenadas paralelas hierárquicas [Fua99] (IEEE) ........................................ 26
Fig 2.14 – VisDB [Keim93a] (IEEE) .................................................................................. 28
Fig. 2.15 – Multi-Pixel Bar Charts [Keim01] (IEEE)......................................................... 29
Fig. 2.16 – InfoCrystal (adaptada de [Spoerri93]) (IEEE) .................................................. 31
Fig. 2.17 – Representação da função x2+y2 [Mihalisin91b] (IEEE).................................... 33
Fig. 2.18 – Dimensional stacking [LeBlanc90] (IEEE)....................................................... 33
Fig. 2.19 – Worlds within worlds [Feiner90b] (ACM)........................................................ 34
Fig. 2.20 – Influence explorer [Tweedie96] (ACM) ........................................................... 36
Fig. 2.21 – Prosection matrix [Tweedie96] (ACM)............................................................ 36
Fig. 2.22 – Árvore de cones [RobertsonG91] (ACM)......................................................... 38
v
Fig. 2.23 – Árvore hiperbólica [Munzner98] (IEEE) .......................................................... 39
Fig. 2.24 – Árvore hiperbólica 2D [Lamping94] (ACM).................................................... 39
Fig. 2.25 – Pirâmides de informação [Andrews02] (IEEE) ................................................ 40
Fig. 2.26 – Collapsible Cylindrical Trees [Dachselt01] (IEEE) ......................................... 41
Fig. 2.27 – Transformação de uma árvore ternária com 3 níveis [Beaudoin96] (IEEE)..... 43
Fig. 2.28 – Cheops [Beaudoin96] (IEEE) ........................................................................... 43
Fig. 2.29 – Treemap com 3 níveis. [Shneiderman92a] (ACM)........................................... 44
Fig. 2.30 – Aspecto da técnica de [Baker94]....................................................................... 45
Fig. 2.31 – Cushion treemap [Wijk99a] (IEEE).................................................................. 46
Fig. 2.32 – Divisão do rectângulo inicial (Adaptado de [Shneiderman01])........................ 48
Fig. 2.33 – Information Slice [Andrews98] (IEEE)............................................................. 48
Fig. 2.34 – Representação de hierarquias com preenchimento de áreas [Chuah98b]
(IEEE).................................................................................................................... 49
Fig. 2.35 – Barras de valores [Chimera92] (ACM)............................................................. 52
Fig. 2.36 – LensBar [Masui98] (IEEE) ............................................................................... 52
Fig. 2.37 – SeeSoft [Eick92] (IEEE).................................................................................... 53
Fig. 2.38 – Galaxy of News [Rennison94] (ACM) .............................................................. 54
Fig. 2.39 – ThemeScape [Wise95] (IEEE) .......................................................................... 55
Fig. 2.40 – Map display [Lin92] (IEEE) ............................................................................. 56
Fig. 2.41 – LyberWorld [Hemmje94] (ACM) ..................................................................... 59
Fig. 2.42 – Sparkler [Havre01] (IEEE) ............................................................................... 60
Fig. 2.43 – WebBook [Card96] (ACM) ............................................................................... 62
Fig. 2.44 – Data Mountain [RobertsonG98] (ACM)........................................................... 62
Fig. 2.45 – Diagrama espaço-escala (Adaptado de [Furnas95]).......................................... 66
Fig. 2.46 – Diagrama espaço-escala bidimensional (Adaptado de [Furnas95]).................. 66
Fig. 2.47 – Information Mural [Jerding98] (IEEE) ............................................................. 70
Fig. 2.48 – Vistas olho de peixe em grafos [Sarkar92] (ACM) .......................................... 72
Fig. 2.49 – Perspective wall [Macinlay91] (ACM)............................................................. 73
Fig. 2.50 – Document lens [RobertsonG93b] (ACM) ......................................................... 74
Fig. 2.51 – 3D pliable surface [Carpendadle95] (ACM) .................................................... 75
Fig. 2.52 – Orthogonal stretching [Sarkar93] (ACM) ........................................................ 76
vi
Fig. 2.53 – Macroscope 2D [Lieberman94] (ACM) ........................................................... 79
Fig. 2.54 – Macroscope 3D [Lieberman97] (IEEE)............................................................ 79
Fig. 2.55 – Alphaslider [Ahlberg94a] (ACM)..................................................................... 90
Fig. 2.56 – Exemplos de deslizadores [Eick94b](ACM) .................................................... 90
Fig. 2.57 – Filter/flow [Shneiderman94] (IEEE)................................................................. 91
Fig. 2.58 – Aggregate Manipulator [Goldstein94] (ACM) ................................................. 93
Fig. 2.59 – Controlo do número de elementos visíveis [Woodruff98a] (ACM) ................. 99
Fig. 2.60 – Cocktailmap [Ahlberg96] (ACM)................................................................... 103
Fig. 2.61 – Polaris [Stolte00] (IEEE)................................................................................ 104
Fig. 2.62 – Datasphere e similarity plot [Risch97] (IEEE)............................................... 110
Fig. 2.63 – Link Net [Risch97] (IEEE) .............................................................................. 110
Fig. 2.64 – Spiral Calendar [Mackinlay94] (ACM) ......................................................... 112
Fig. 2.65 – Time Lattice [Mackinlay94] (ACM) ............................................................... 112
Fig. 2.66 – Visualização de dados na Internet................................................................... 113
Fig. 2.67 – Paisagem de informação no sistema Harmony [Andrew95] (IEEE)............... 115
Fig. 2.68 – Evolução do posicionamento dos elementos no sistema Narcissus
[Hendley95] (IEEE) ............................................................................................ 116
Fig. 3.1 – Modelo de referência para a Visualização de Informação ................................ 123
Fig. 3.2 – Fases do processo de visualização .................................................................... 125
Fig. 3.3 – A interacção no processo de visualização ......................................................... 127
Fig. 4.1 – Exemplos de grelhas ......................................................................................... 143
Fig. 4.2 – Representação com ícones ................................................................................ 149
Fig. 4.3 – Representação com ícones ................................................................................ 151
Fig. 4.4 – Superfície sem grelha e escala de cores ............................................................ 154
Fig. 4.5 – Superfície com grelha........................................................................................ 154
Fig. 4.6 – Múltiplas representações: identificador e escala mínima.................................. 160
Fig. 4.7 – Ligação de representações a subintervalos do contradomínio da função de
grau de interesse .................................................................................................. 163
Fig. 4.8 – Representação determinada pela escala e pela função de grau de interesse
sem foco activo.................................................................................................... 164
Fig. 4.9 – Representação determinada pela escala e pela função de grau de interesse
vii
com foco activo ................................................................................................... 164
Fig. 4.10 – Passagem da cena em 2D para o espaço 3D.................................................... 174
Fig. 4.11 – Projecção da pirâmide truncada no plano de projecção .................................. 175
Fig. 4.12 – A altura (h) da pirâmide é seleccionada de forma a garantir a ampliação
pretendida ............................................................................................................ 175
Fig. 4.13 – h é altura do topo da pirâmide truncada .......................................................... 176
Fig. 4.14 – O rectângulo interior corresponde à zona a ampliar ....................................... 177
Fig. 4.15 – O rectângulo interior corresponde à zona ampliada........................................ 177
Fig. 4.16 – Rebatimento no plano XOZ da projecção de (xa, ya, h) em (x’a, y’a, 0) ....... 178
Fig. 4.17 – Modos de desenho da pirâmide truncada ........................................................ 183
Fig. 4.18............................................................................................................................. 186
Fig. 4.19............................................................................................................................. 186
Fig. 4.20............................................................................................................................. 187
Fig. 4.21............................................................................................................................. 187
Fig. 4.22............................................................................................................................. 187
Fig. 4.23............................................................................................................................. 187
Fig. 4.24............................................................................................................................. 188
Fig. 4.25............................................................................................................................. 188
Fig. 4.26............................................................................................................................. 189
Fig. 4.27............................................................................................................................. 189
Fig. 4.28 – Limitação de domínio da variável estrelas no grupo de informação hoteis .... 198
Fig. 4.29 – Criação de um grupo derivado para permitir a disjunção de condições
sobre a mesma variável ....................................................................................... 199
Fig. 4.30 – Elementos do nível com maior grau de interesse............................................ 201
Fig. 4.31 – Elementos dos dois primeiros níveis de interesse ........................................... 202
Fig. 4.32 – Elementos dos três primeiros níveis de interesse ............................................ 202
Fig. 4.33 – Imagem completa ............................................................................................ 203
Fig. 5.1 – Hierarquia de classes para as funções grau de interesse e distância ................. 210
Fig. 5.2 – Distância ao foco............................................................................................... 211
Fig. 5.3 – Hierarquia de classes para grupos de informação ............................................. 212
Fig. 5.4 – Hierarquia de classes para variáveis.................................................................. 213
viii
Fig. 5.5 – Hierarquia de classes relativa à interface gráfica para os grupos de
informação........................................................................................................... 214
Fig. 5.6 – Hierarquia de classes relativa à interface gráfica para as variáveis .................. 214
Fig. 5.7 – Hierarquia de classes para as conexões............................................................. 217
Fig. 5.8 – Hierarquia de classes para grelhas e as ligações com variáveis........................ 217
Fig. 5.9 – Diagrama de classes relativo a listas de representações e primitivas gráficas .. 220
Fig. 5.10 – Letra, cor e dimensão dependentes dos valores de uma variável.................... 223
Fig. 5.11 – Diagrama de classes relativo à ligação entre o gestor de dados, gestor de
transformações e gestor de interacção................................................................. 226
Fig. 5.12 – Diagrama de classes relativo à ligação entre os grupos de informação e
outras classes ....................................................................................................... 228
Fig. 5.13 – Interface........................................................................................................... 229
Fig. 5.14 – Janela para escolha da variável associada ao atributo api............................... 231
Fig. 5.15 – Superfície colorida sem relevo e escala de cores associada............................ 232
Fig. 5.16 – Janela para definição dum plano de corte por indicação de um ponto do
plano e do vector ortogonal ao plano .................................................................. 233
Fig. 5.17 – Janela para actualizar a aplicação dos valores das variáveis em
deslocamentos ortogonais ao plano da superfície ............................................... 234
Fig. 5.18............................................................................................................................. 235
Fig. 5.19 – Menu Parametros............................................................................................ 240
Fig. 5.20 – Janela para indicar o número de níveis para a geração da imagem nível a
nível ..................................................................................................................... 240
Fig. 5.21 – Janela para indicar o factor de escala a usar nas operações de redução.......... 240
Fig. 5.22 – Janela para escolha da razão de aspecto a usar nas operações em que há
adaptação da janela do utilizador ........................................................................ 240
Fig. 5.23 – Janela para escolher a inclusão ou não da grelha no desenho de
superfícies............................................................................................................ 241
Fig. 5.24 – Janela para actualizar o domínio das variáveis a ser usado nas funções
relevo e de adaptação do domínio da cor ............................................................ 241
ix
Índice de Quadros
Quadro 4.1 – Escolha de representação em diferentes modelos de visualização .............. 171
Quadro 4.2 – Modelos de ampliação sem deformação na zona de interesse..................... 193
x
1. Introdução
A visualização é o tema central deste trabalho. Pode definir-se visualização como o
processo de converter dados em imagens ou outros estímulos sensoriais, usando-se também
este termo para designar o resultado final do processo [Schroeder98]. Atendendo à
capacidade humana para apreender rapidamente o conteúdo de imagens, a visualização
desenvolve estratégias para mostrar o que está oculto, como é referido em [Talbert97]. A
utilização de imagens para ajudar a assimilar a informação contida nos mais diversos tipos
de dados tem estado presente ao longo dos tempos, como comprovam as imagens
reproduzidas em [Tufte83], onde são apresentados exemplos de visualização de dados
desde o século XI. Mais ainda, Collins [Collins93] admite que a maior parte das técnicas de
visualização usadas hoje em dia são adaptações de representações já utilizadas antes da
geração de imagens em computador. Este autor apresenta a evolução cronológica de
técnicas como a nuvem de pontos (scatterplot), da qual há registos de utilização desde o
século XVII. Contudo, o advento dos computadores e o seu aperfeiçoamento tecnológico,
em termos de qualidade gráfica e capacidade de armazenamento e processamento,
proporcionaram condições, quer para recolher grandes volumes de dados ou gerá-los
através de simulações matemáticas, quer para tratar essa informação, impulsionando o
estudo de técnicas adequadas para a visualização da informação disponível.
A caracterização do tipo de dados a visualizar, o tipo de operações a efectuar sobre eles
e o resultado final obtido, isto é, as representações geradas para os dados, identificam
diferentes áreas de estudo com afinidades entre si e, muitas vezes, sem uma fronteira
perfeitamente definida entre elas, como a Visualização de Informação, a Visualização
Científica, a Visualização de Dados ou, mesmo, a Visualização de Informação Geográfica.
Dentro destas áreas distinguem-se ainda subáreas que têm em comum, por exemplo, o
tratamento do mesmo tipo de estrutura, como a Visualização de Grafos, ou de dados com a
mesma natureza, como a Visualização de Dados Médicos.
Das áreas de estudo referidas, a Visualização de Informação Geográfica é aquela que
tem uma origem mais remota e para a qual surgiram mais cedo produtos comerciais, os
1
Sistemas de Informação Geográfica. Uma característica comum a todos os dados
geográficos é o facto de serem georeferenciados, possuindo, portanto, uma referência
espacial explícita. Contudo, coexiste informação de natureza diversa. Por um lado, objectos
físicos como, por exemplo, estradas e terrenos. Por outro, grandezas abstractas, isto é,
grandezas expressas por valores numéricos ou textuais e que não têm uma representação
geométrica imediata, como seja a população de uma cidade ou o tipo de exploração
agrícola de um terreno. Por conseguinte, são tratados simultaneamente objectos com
existência física e grandezas abstractas.
A Visualização de Dados é uma expressão mais geral, englobando o tratamento de dados
provenientes de várias áreas como, por exemplo, científica, financeira, sociológica ou
geográfica, e está normalmente associada à análise de dados do ponto de vista estatístico
[Schroeder98]. No entanto, não há uma definição precisa para Visualização de Dados e esta
designação é muitas vezes utilizada no sentido lato de visualização de qualquer tipo de
dados.
Ao contrário da Visualização de Dados, a designação Visualização Científica ou
Visualização de Dados Científicos (Visualization in Scientific Computing) tem uma origem
e um sentido mais precisos. A expressão surgiu na sequência de uma reunião de trabalho,
em Outubro de 1986, convocada pela National Scientific Foundation, para designar a
aplicação de técnicas gráficas e de processamento de imagem na visualização de dados
obtidos no domínio da investigação científica [McCormick87a]. Em Fevereiro de 1987
realizou-se o primeiro workshop sobre Visualização Científica. Como conclusão desse
workshop redigiu-se um documento, publicado em Novembro de 1987 e conhecido por
“relatório McCormick” [McCormick87b], que marca o início do reconhecimento desta área
de trabalho.
O que neste contexto se designa por dados científicos são valores numéricos, obtidos por
medição ou simulação, com uma referência espacial ou temporal. É necessário determinar
uma forma de representar estes valores, uma vez que à partida não existe uma geometria
definida para a representação de grandezas físicas. Em alguns casos há uma referência
espacial, como, por exemplo, na visualização da pressão exercida pela água sobre a
estrutura de uma barragem, mas por vezes isso não acontece, como no caso da visualização
da temperatura atmosférica medida num determinado observatório ao longo dos meses de
2
vários anos. No segundo caso, além de ser necessário determinar uma aplicação entre o
conjunto de valores a representar e um atributo geométrico ou gráfico de uma representação
escolhida, é preciso também definir uma referência espacial, por exemplo associando a
cada um dos três eixos do espaço tridimensional, respectivamente, os meses do ano, os
vários anos e as temperaturas. A referência espacial é, normalmente, descrita por uma
grelha constituída por pontos no espaço e pelas suas ligações aos pontos adjacentes.
Há um conjunto de representações gráficas típicas para este tipo de dados:
isosuperfícies, superfícies e volumes coloridos, planos de corte (slices), visualização em
volume (volume rendering) e trajectórias de partículas (particle trace), entre outras. Há
também um conjunto de operações normalmente usadas para interagir com os dados, tais
como eliminação de valores pertencentes a um dado intervalo, selecção e omissão de
variáveis, utilização de planos de corte.
Quanto à Visualização de Informação, o conceito começou a ganhar forma a partir dum
conjunto de trabalhos desenvolvidos por Card, Mackinlay e Robertson apresentados na
conferência CHI’91 [Card91] [Mackinlay91] [RobertsonG91]. Nestes artigos a expressão
“Visualização de Informação” designa a visualização de dados que não podem ser
convenientemente visualizados com sistemas de visualização de dados científicos. Num
artigo dos mesmos autores publicado em 1993 é referido que a Visualização de Informação
tenta mostrar a estrutura e o contexto da informação que seria difícil de obter através de
sucessivos pedidos de pesquisa [RobertsonG93a]. Em [Card95] identifica-se como alvo da
Visualização de Informação a representação de dados que não são tratados no contexto da
Visualização Científica e que frequentemente não têm uma estrutura espacial intrínseca.
Risch et al. consideram a Visualização de Informação como o processo de transformar
informação abstracta, como o texto, em formas gráficas de mais fácil compreensão
[Risch97].
Em suma, nas definições citadas a Visualização de Informação apresenta-se como uma
área do domínio da Visualização com ênfase no tratamento de informação abstracta que
não é tratada no âmbito da Visualização Científica. Não existe, contudo, uma
caracterização precisa da informação a visualizar ao contrário do que se passa, por
exemplo, com a Informação Geográfica ou a Visualização Científica, em que estão
identificados os tipos de dados que se visualizam e, além disso, as operações que se
3
aplicam aos dados, o tipo de saídas gráficas que se pretendem e o tipo de utilizadores a que
se destinam. Há, naturalmente, sobreposição do tipo de dados tratados nesta e noutras áreas
de visualização, que decorre da necessidade de processar grandezas abstractas, como
acontece com a população na informação geográfica ou a temperatura ou a força na
visualização científica. Por outro lado, as afinidades com as outras áreas surgem também do
processo, que é comum a todas, de conceber representações para visualizar dados e
interagir com eles. Por isso, são correntes referências mútuas. Por exemplo, em
[Shneiderman98] a análise dos diferentes aspectos da Visualização de Informação inclui os
Sistemas de Informação Geográfica para ilustrar a visualização de informação
bidimensional. Verifica-se também que muitos dos trabalhos apresentados em conferências
no domínio da Visualização de Informação usam dados geográficos. A ligação com a
Visualização Científica é também natural, visto que a Visualização de Informação surgiu
como seu complemento. Assim, em [Talbert97] a Visualização de Informação é
classificada como uma “prima direita” da Visualização Científica. Por seu lado Herman et
al. [Herman99] consideram que a distinção entre estas duas áreas é artificial, salientando,
no entanto, que a Visualização de Informação coloca, normalmente, mais desafios ao nível
da definição de representações para os dados, os seus utilizadores são mais diversificados e,
por isso, o tipo de equipamento utilizado é, geralmente, menos sofisticado.
Ao contrário do que se passa com a Informação Geográfica e a Visualização Científica,
os sistemas comerciais que têm surgido na área da Visualização de Informação, além de
serem em número reduzido, não são de âmbito muito alargado, isto é, centram-se num
determinado tipo de dados, como se verifica pela análise feita em [Kobsa01]. Várias razões
contribuem para esta situação: a disciplina ainda não atingiu a maturidade suficiente para
haver uma sistematização das características de um sistema de visualização; há uma grande
variedade de tipos de dados abstractos, o que origina o desenvolvimento de uma
multiplicidade de operações para os tratar, conduzindo à criação de sistemas dedicados a
subáreas específicas; o conjunto de utilizadores é muito diversificado.
Um sistema de visualização genérico não se limita a uma tarefa específica ou a tratar um
conjunto específico de dados. A caracterização de um sistema de visualização passa pela
identificação dos tipos de dados que podem ser visualizados, dos tipos de representação
disponíveis e dos meios que permitem a exploração e interacção com os dados.
4
Um dos aspectos importantes a ter em conta num sistema de visualização é a
organização da informação de modo a que, a partir dos dados fornecidos pelo utilizador, se
gere automaticamente uma visualização e uma interface para fazer a sua exploração. Este
problema motivou o desenvolvimento deste trabalho, que pretende dar uma contribuição
para a construção de sistemas genéricos de visualização de informação. Além disso,
propõem-se soluções para alguns dos problemas relativos à interacção com a informação,
nomeadamente no que diz respeito a ampliação, filtragem de informação, controlo da
densidade de informação e definição de múltiplas representações para o mesmo objecto.
Aproveitando o que há de comum nas diferentes áreas de visualização, usaram-se algumas
técnicas oriundas da Visualização de Dados Científicos e, para alargar o âmbito de
aplicação do sistema de visualização, são admitidos dados geométricos, o que permite
combinar informação abstracta com informação não abstracta.
Na estrutura do documento, a esta introdução segue-se o capítulo 2 que inclui
considerações gerais sobre os problemas da visualização e uma resenha de trabalhos
publicados no âmbito da Visualização de Informação, tendo em atenção os temas centrais
em foco nesta área, em especial os directamente relacionados com o trabalho desenvolvido,
como a visualização de diferentes tipos de dados, a interacção com os dados e os sistemas
de visualização.
Nos capítulos 3, 4 e 5 descreve-se o trabalho desenvolvido. No primeiro apresentam-se
detalhadamente os seus objectivos, enquadrando-o no âmbito da disciplina de Visualização
de Informação. Além dos tópicos previamente introduzidos no capítulo 2, focam-se
aspectos relacionados com o desenvolvimento de sistemas de visualização genéricos e com
as opções tomadas na elaboração do modelo proposto. Resumem-se, ainda neste capítulo,
as características do protótipo construído para ensaiar o modelo proposto. No capítulo 4
descreve-se o modelo concebido para servir de base a um sistema de visualização genérico
que contemple o tratamento de filtragem e múltiplas representações. No capítulo 5
detalham-se as componentes e funcionalidades do protótipo desenvolvido.
Finalmente no capítulo 6 apresentam-se conclusões e apontam-se aspectos para desenvolvimento futuro.
5
2. Visualização de Informação
Um dos problemas fulcrais da visualização é a escolha de uma representação gráfica
adequada para a informação, isto é, associar elementos gráficos e uma localização no
espaço a cada elemento de informação. Neste processo os atributos da informação são
muitas vezes veiculados por atributos gráficos, como a cor, ou geométricos, como a
dimensão. A aplicação entre o domínio dos objectos reais ou abstractos e o domínio das
representações gráficas designa-se por mapificação1.
Para um mesmo conjunto de dados é possível definir diferentes mapificações que podem
variar, quer em termos de referência espacial, quer em termos de elementos gráficos
usados. O primeiro aspecto é mais evidente quando os dados não têm uma referência
espacial explícita. Considere-se, por exemplo, dados relativos ao registo de temperaturas
recolhidas mensalmente ao longo de vários anos numa estação meteorológica. Tem-se neste
caso uma variável com uma referência temporal. A criação de uma referência espacial pode
consistir em associar a um eixo ordenado a evolução ao longo do tempo, mas outra solução
será decompor a informação ao longo dos vários anos definindo uma grelha bidimensional,
associando a um eixo os meses do ano e a outro os diferentes anos. Obtêm-se, assim, duas
referências espaciais com dimensões diferentes. Os elementos gráficos da representação
poderão ou não ser diferentes. Se nos dois casos for usada, por exemplo, uma nuvem de
pontos, ter-se-ão os mesmos elementos gráficos, mas o mesmo não acontece, se com a
referência espacial linear se utilizar um gráfico 2D, com o tempo associado a um eixo e os
valores observados ao outro, e com a referência bidimensional se usar uma superfície
tridimensional cujo relevo corresponda à variação da temperatura. Donde a escolha de
mapificação tem implícita uma selecção em conjunto da referência espacial e dos elementos
gráficos.
1
A palavra mapificação, já utilizada em [Cunha91], é usada como tradução de visualization mapping. Para
mapping pode usar-se a palavra transformação [ISO2382/13] definida como a aplicação entre dois conjuntos
de valores. A palavra mapificação identifica uma aplicação particular que é a tradução de informação numa
representação gráfica, isto é, a aplicação entre o domínio dos objectos reais ou conceitos abstractos e o
domínio das representações gráficas.
7
Como acabámos de ver o mesmo conjunto de dados pode ser associado a espaços de
dimensão diferente. Além disso, o espaço em que estão organizados os dados e o espaço
das representações também podem ter dimensões diferentes. Se considerarmos o exemplo
da utilização de uma superfície tridimensional para visualizar os dados relativos a
temperaturas, temos dimensões diferentes para estes dois espaços: os dados estão
organizados num espaço bidimensional e o espaço da representação é tridimensional. No
entanto, esta informação organizada numa referência espacial bidimensional pode ser
visualizada através de uma nuvem de pontos também bidimensional, colorindo os pontos de
acordo com os valores das temperaturas. Neste caso os dois espaços têm a mesma
dimensão.
As representações gráficas podem variar de forma significativa ou ser variantes de uma
mesma apresentação base. Por exemplo, uma nuvem de pontos tem um aspecto diferente de
uma superfície ou de um gráfico de barras, no entanto, não existe uma variação tão
significativa quando se comparam representações com ícones diferentes. Neste caso
recorre-se à mesma técnica de representação, alterando os atributos gráficos e/ou
geométricos dos elementos gráficos que constituem os ícones ou adoptando outros
elementos gráficos. Consideraremos neste caso que temos representações do mesmo tipo,
isto é, representações diferentes, mas variantes da mesma técnica de representação. Uma
vez que a representação gráfica é o resultado final da mapificação, entende-se que ao
mesmo tipo de mapificação corresponde o mesmo tipo de representação.
Ao conceber uma visualização, além da obtenção de representações adequadas para cada
elemento de informação, é necessário, também, ter em atenção a própria estrutura da
informação, enquadrando os vários elementos que a constituem, e, por outro lado, permitir
ao utilizador interagir com a informação [Fairchild93]. Nesta interacção pode considerar-se: a observação detalhada de um subconjunto da informação através de mecanismos de
ampliação e redução (zoom); a filtragem para reduzir o volume de informação a representar,
o que é particularmente relevante na visualização de grandes volumes de informação; o
controlo da densidade de informação; a selecção de diferentes níveis de detalhe; a inclusão
de critérios semânticos que exprimam o interesse do utilizador; a obtenção de detalhes a
pedido (details on demand).
Outros factores podem ainda condicionar a elaboração da visualização, tais como o
8
objectivo a atingir (exploração inicial dos dados, pesquisa regular, acesso pontual), o
público a que se destina, os meios a utilizar.
Os trabalhos desenvolvidos na área da Visualização de Informação focam aspectos que
permitem agrupá-los segundo três vertentes: os que tratam da visualização de um tipo
particular de dados, os que dão ênfase a determinada técnica de interacção e os que
descrevem sistemas mais ou menos completos. No último caso podem considerar-se, por
um lado, sistemas concebidos para a execução de tarefas específicas, e, por outro lado,
sistemas de visualização genéricos, isto é, aqueles cujo objectivo é permitirem a construção
de visualizações para conjuntos de dados arbitrários. Naturalmente que a classificação dos
trabalhos publicados nesta área de visualização, tendo em atenção os tópicos considerados,
não cria grupos completamente estanques, uma vez que um trabalho que propõe uma forma
de visualizar um determinado tipo de dados poderá referir também formas especiais de
interacção, ou um sistema para a execução de uma determinada tarefa poderá propor formas
inovadoras de visualização de um tipo particular de dados. Os trabalhos que se referem em
seguida estão organizados atendendo ao aspecto que se considerou mais relevante.
2.1
Visualização de diferentes tipos de dados
Diferentes autores têm proposto várias taxonomias para organizar os dados a visualizar.
A classificação adoptada em [Boyle93] baseia-se na forma como habitualmente são
apresentados os dados a visualizar: não estruturados (texto), semi-estruturados (texto e
valores numéricos), com estrutura tabular2 (tabelas), com estrutura complexa (objectos,
hierarquias, redes), com estrutura especializada (imagens ou estruturas espaciais). Por seu
turno, em [Shneiderman98] os dados são organizados usando uma classificação que o autor
designa por taxonomia de tipos de dados por tarefas (data type by task taxonomy). Esta
classificação baseia-se na identificação de tipos de dados a partir da caracterização das
tarefas que o utilizador executa sobre eles. Para ilustrar o conceito, é referido o facto de em
estruturas hierárquicas interessar estabelecer uma relação pai-filho ou irmão-irmão entre os
elementos que formam a estrutura, enquanto que num mapa 2D é importante a noção de
2
Para designar este tipo de dados o autor utiliza a expressão flat structure, dando como exemplo tabelas.
Optou-se por usar como tradução o termo tabular uma vez que identifica mais claramente os dados a que se
refere.
9
adjacência. Neste trabalho são identificados sete tipos de dados: 1D, 2D, 3D, temporais,
multidimensionais3, árvores e redes. Podemos observar que nesta classificação se detectam
quatro linhas básicas: dimensão do espaço de trabalho (1D, 2D e 3D), evolução ao longo do
tempo (dados temporais), tratamento de bases de dados relacionais (dados multidimensionais) e estruturas complexas (árvores e redes). A classificação usada em [Card99] dá
maior ênfase à estrutura visual usada, isto é, ao resultado da mapificação. Esta é analisada
em termos da sua estrutura e da dimensão do espaço usado para codificar a informação.
Card et al. tratam separadamente a visualização de texto e agrupam os restantes dados em:
espaços de dimensão 1D, 2D e 3D; espaços de dimensão superior a 3; árvores; e redes.
Não obstante ter pontos em comum com as anteriores, a classificação adoptada nesta
secção não coincide exactamente com nenhuma delas. Consideraram-se os seguintes tipos
de dados: lineares; 2D e 3D; multidimensionais e multivariados; estruturas complexas de
dados, onde se incluem as estruturas hierárquicas (árvores) e os grafos (redes4); e texto.
Esta classificação está mais próxima da usada em [Card99] tendo ambas em comum o
tratamento separado do texto, a identificação da dimensão espacial e a análise de estruturas
complexas de dados. No entanto, a determinação da dimensão espacial é feita de forma
diferente: tem-se em atenção o espaço onde estão definidos os dados e não a dimensão da
estrutura visual usada para os visualizar. Além disso, distinguem-se explicitamente dados
multivariados e dados multidimensionais.
Se se atentar no facto de os dados lineares, 2D, 3D, multidimensionais e multivariados
poderem ser descritos sob a forma de uma tabela, conclui-se que todos eles se incluem num
mesmo grupo de dados com estrutura tabular. Há assim afinidades com a classificação de
Boyle et al. uma vez que são contemplados dados não estruturados (texto), dados com
estrutura tabular (lineares, 2D, 3D, multidimensionais e multivariados) e dados com
estrutura complexa (árvores e grafos).
3
Mantém-se a designação do autor apesar de, na classificação que adoptámos e que se referirá a seguir,
estes dados serem identificados como multivariados.
4
Um grafo é formado por dois conjuntos: um conjunto finito, não vazio, de vértices, e um conjunto de
arestas que ligam esses vértices [Horowitz98]. No caso de haver orientação nas arestas, estas designam-se por
arcos. A palavra grafo está normalmente mais associada ao conceito matemático e a palavra rede à sua
utilização em ciências aplicadas, muitas vezes com atributos associados aos nós e às arestas. Usar-se-ão
indistintamente as palavras grafo e rede seguindo, normalmente, o termo usado pelo autor do trabalho
referido.
10
Relativamente aos dados com estrutura complexa, as estruturas hierárquicas são na
realidade um caso particular de grafos. Horowitz, por exemplo, define uma árvore como um
grafo conexo sem ciclos [Horowitz98]. No entanto, a importância da sua utilização e a
diversidade de visualizações desenvolvidas justificam o destaque dado às estruturas
hierárquicas. No que concerne aos grafos, o seu desenho constitui por si só uma área de
estudo, havendo conferências dedicadas especificamente à discussão deste assunto. Em
Junho de 1994, Di Battista e al. elaboraram uma bibliografia anotada com mais de 300
artigos relativos ao desenho de grafos [DiBattista94]. Assinale-se que Herman et al.
distinguem o Desenho de Grafos (Graph Drawing) da Visualização de Grafos (Graph
Visualization), que consideram uma subárea da Visualização de Informação [Herman99].
Estes autores salientam que a Visualização de Grafos utiliza os resultados conhecidos na
área do Desenho de Grafos, mas dando ênfase a outros aspectos: enquanto que um dos
problemas fulcrais do desenho de grafos é a forma de dispor os nós no plano ou no espaço,
na visualização de grafos o problema da navegação é mais importante. Muitas vezes o
número de nós é muito elevado (da ordem dos milhares) e não basta conseguir desenhar
todos os nós porque a sua representação poderá não permitir distinguir toda a informação. É
necessário ter mecanismos que permitam interagir com a representação de forma a revelar
toda a estrutura, como, por exemplo, a obtenção de detalhes sem perder o contexto ou a
utilização de ampliações e panorâmicas. As técnicas de interacção serão abordadas numa
secção própria e atendendo a que o estudo dos grafos é um assunto muito vasto, optou-se
por referir apenas, e quando for adequado, os trabalhos que utilizem grafos para ilustrar
aspectos importantes no domínio da Visualização de Informação. Assim, em vez de uma
subsecção sobre dados com estrutura complexa, inclui-se apenas uma subsecção sobre
estruturas hierárquicas.
2.1.1
Dados de tipo linear
Os exemplos mais comuns de dados de tipo linear são aqueles em que há uma
dependência temporal. A visualização de texto entendido como uma lista de linhas é outro
exemplo de tratamento de uma estrutura linear, mas este assunto será referido na secção
sobre texto.
A visualização da evolução de grandezas ao longo do tempo é, segundo Tufte, uma das
11
utilizações mais frequentes de gráficos. A representação mais comum para este tipo de
dados é um gráfico bidimensional em que a um eixo está associado o tempo e ao outro a
grandeza em estudo. Contudo, é por vezes necessário comparar a evolução de várias
grandezas. Para este efeito podem ser usados gráficos paralelos partilhando o eixo a que
está associado o tempo [Tufte83]. Isto é, existe um único eixo dos xx acima do qual se
desenham, em faixas horizontais sobrepostas, os gráficos de cada uma das grandezas.
Ainda em [Tufte83] são mostrados exemplos menos comuns da representação de dados
temporais, alguns deles envolvendo a ligação a localizações geográficas, outros
relacionados com estudos sobre a locomoção, quer de humanos, quer de animais.
Fig. 2.1 – Lifelines [Plaisant96] (ACM)
Outro exemplo de visualização de informação que evolui ao longo do tempo é descrito
em [Plaisant96]. Neste caso é proposta uma visualização para a informação sobre
acontecimentos pessoais, designada por LifeLines, que é exemplificada com histórias
clínicas e criminais (Fig. 2.1). Um dos objectivos é ter uma vista global de toda a
informação e, posteriormente, poder obter dados mais detalhados. A evolução ao longo do
tempo é representada segundo o eixo dos xx e, na vertical, estão alinhados os vários
assuntos e, dentro de cada assunto, os eventos ocorridos. Para cada evento é desenhada uma
linha cujo início e extensão reflectem a data de ocorrência do evento e a sua duração. A cor
e a grossura das linhas ilustram as relações entre vários eventos ou a sua importância. Para
assuntos com eventos discretos, isto é, aqueles que ocorrem num dado instante e não têm
duração apreciável, em vez de linhas, são usados ícones colocados na posição
12
correspondente à data da sua ocorrência. Vários ícones podem estar alinhados
horizontalmente. Carregando num ícone obtém-se informação sobre o evento. Quando há
muita informação a representar, quer em número de assuntos e eventos, quer em períodos
de tempo a considerar, não há espaço suficiente para incluir toda a informação. São
necessários por isso mecanismos de filtragem para reduzir a informação e, posteriormente,
mecanismos de ampliação para obter mais detalhes. Salienta-se, além da redução, ou
mesmo eliminação, de legendas e espaços em branco entre as linhas, a hierarquização de
assuntos focados, reduzindo o número de itens mostrados segundo o eixo dos yy, e a
utilização de uma escala não uniforme ao longo do eixo do xx o que permite realçar
períodos com mais eventos e reduzir zonas menos relevantes. No topo da área de desenho é
reservada uma zona para mostrar informação sobre a pessoa, como, por exemplo, o nome, e
estão disponíveis botões para aceder a mais informação. A cor desses botões evidencia a
data em que essa informação foi actualizada. Para consultar relatórios associados a eventos
discretos, é possível abrir outra janela por arrastamento do ícone desse evento para uma
zona vazia do ecrã. Para este efeito é usado o sistema de janelas desenvolvido por
Kandogan e Shneiderman, elastic windows, descrito em [Kandogan96] e [Kandogan97].
Igualmente para realçar a evolução ao longo do tempo, neste caso do conteúdo temático
de uma colecção de documentos, Havre et al. desenvolveram uma visualização que
designaram por ThemeRiver [Havre99] [Havre00] [Havre02]. Na visualização proposta, os
temas abordados nos documentos são representados por faixas horizontais justapostas,
designadas por correntes, cuja grossura varia ao longo do tempo de acordo com o número
de documentos que contêm o identificador do tema nos intervalos de tempo assinalados no
eixo dos xx (Fig. 2.2). Se num dado intervalo o tema não é tratado, então a grossura da
faixa reduz-se gradualmente até desaparecer. A cada tema e, por conseguinte, a cada faixa
está associada uma cor. Ao seleccionar um ponto sobre a faixa são mostrados o
identificador do tema e o número de documentos que o referem no correspondente intervalo
de tempo. Além das faixas coloridas e da indicação dos intervalos de tempo em que se
encontram agrupados os documentos, podem também assinalar-se na zona acima das
“correntes” os eventos que ocorreram nos intervalos de tempo considerados e que podem
ter influenciado a evolução dos temas tratados.
13
Fig. 2.2 – ThemeRiver [Havre02] (IEEE)
Por vezes interessa realçar fenómenos cíclicos ao longo do tempo. No exemplo sobre
temperaturas, apresentado no início deste capítulo, a evolução linear do tempo é convertida
numa grelha bidimensional de forma a evidenciar a variação ao longo do ano. Carlis et al.
propõem representações para destacar o carácter periódico de informação temporal tendo
por base uma disposição em espiral [Carlis98]. A cada volta da espiral corresponde o
período de tempo que interessa destacar. Por exemplo, sobre o mesmo raio da espiral
marca-se o mesmo mês do ano ou dia do mês ou hora do dia. O raio da espiral cresce de
forma constante em cada volta. Para uma variável a representação é bidimensional,
assinalando sobre a espiral círculos de dimensão proporcional aos valores conhecidos
(Fig. 2.3(a)) ou marcando apenas a ocorrência de valores com o preenchimento da área
entre voltas sucessivas (Fig. 2.3(b)). Quando são conhecidas múltiplas variáveis, a
representação é tridimensional e são também apresentadas várias opções. Uma delas
desenha em sucessivos planos paralelos cada uma das variáveis. Os círculos utilizados na
representação bidimensional são substituídos nesta representação por cilindros ocos de
dimensão proporcional ao valor da variável (Fig. 2.3(c)). Outra representação tridimensional válida para um número reduzido de variáveis, consiste em usar apenas um plano com
uma espiral de onde se elevam barras coloridas perpendiculares ao plano e cuja altura é
proporcional ao valor da variável que representam. Em cada ocorrência as variáveis são
desenhadas pela mesma ordem e com a mesma cor. Este tipo de representação admite o
desenho de mais espirais em planos diferentes, permitindo comparar os valores associados
a cada uma delas (Fig. 2.3(d)). Vários aspectos da visualização podem ser controlados
14
interactivamente, como, por exemplo, ajustamentos na posição do observador ou da área a
visualizar, o tipo de representação a escolher, quais as variáveis a visualizar e a sua cor.
(a)
(b)
(c)
(d)
Fig. 2.3 – Visualização de informação temporal periódica [Carlis98] (ACM)
Em [Weber01] são usadas também espirais para a representação de dados que reflectem
variações ao longo do tempo. Para ajudar a identificar qual a periodicidade da informação é
usada animação, variando o intervalo de tempo associado a cada ciclo. Estes autores
propõem a construção de uma hélice tridimensional para mostrar grandes volumes de
dados. Através da hélice é dada uma visão de conjunto de toda a informação e,
interactivamente, pode seleccionar-se uma zona da hélice para visualizar mais
detalhadamente com uma espiral bidimensional (Fig. 2.4).
Outra forma de representar variações cíclicas no tempo é apresentada em [Wijk99b],
mas neste caso pretende-se salientar simultaneamente vários períodos de tempo: evolução
15
diária e identificação de períodos com o mesmo padrão de variação diária. Trabalhando
com dados sobre consumo de energia eléctrica numa empresa, é feito o agrupamento de
variações diárias semelhantes. Num gráfico são desenhadas simultaneamente e com cores
diferentes as curvas de variações típicas detectadas. A ligação entre o tipo de variação
diária e os períodos em que ocorre é representada colocando ao lado deste gráfico um
calendário em que os dias são coloridos com a cor do gráfico a que estão associados
(Fig. 2.5).
Fig. 2.4 – Hélice tridimensional e espiral relativa à zona seleccionada [Weber01] (IEEE)
Fig. 2.5 – Identificação de períodos com o mesmo padrão de variação [Wijk99b] (IEEE)
Em resumo, apesar da evolução temporal ser linear, a visualização de dados temporais
requer, em alguns casos, representações especiais para assinalar acontecimentos distintos
que se sobrepõem ou para evidenciar o carácter cíclico da evolução. Embora nesta secção
16
se tenham referido apenas exemplos de dados temporais, o conceito que está subjacente é o
da representação de qualquer grandeza que varie em função de outra, que poderá,
eventualmente, não ser o tempo.
2.1.2 Dados 2D e 3D
Espaços de dimensão dois e três fazem parte da nossa experiência espacial, assim as
visualizações de dados 2D e 3D utilizam espaços de trabalho com que o utilizador está
familiarizado e, apesar das saídas gráficas comuns serem bidimensionais, recorrendo a
técnicas de projecção é possível reproduzir um espaço tridimensional num plano.
Tal como acontece em espaços de dimensão superior, como será discutido na subsecção
seguinte, há a considerar, por um lado, a representação de ocorrências de duas ou três
variáveis independentes sem referência espacial explícita e, por outro lado, a representação
de valores conhecidos em espaços 2D ou 3D. Em qualquer dos casos, é usado um espaço
bidimensional ou tridimensional para representar os dados e, normalmente, é feita a
correspondência de cada uma das variáveis, ou dimensões, com um dos eixos de um
referencial ortogonal.
A nuvem de pontos é a representação mais usual, tanto para a visualização de
ocorrências de duas ou três variáveis, como para mostrar os valores de uma variável
conhecidos em determinadas posições de um espaço 2D ou 3D. No primeiro caso, cada
variável é associada a um eixo e são desenhados pontos nas posições que correspondem à
existência de valores. No segundo caso, a variável é visualizada por pontos coloridos de
acordo com o valor da variável nesse ponto. O ponto pode ser encarado como um caso
particular de ícone5, isto é, elemento gráfico, cuja forma, cor ou orientação traduzem os
valores a representar. A nuvem de pontos é assim uma variante da visualização com ícones.
Relativamente à visualização duma variável do tipo contínuo, fazendo interpolações
entre os valores conhecidos é possível gerar uma superfície ou um volume colorido,
consoante se tenha um espaço 2D ou 3D, respectivamente. Se se tratar dum espaço
5
A palavra ícone será usada como tradução de icon e glyph, com o significado de representação visual
cujos atributos gráficos e geométricos reflectem os valores do elemento de informação que representam. Além
deste sentido, a palavra icon pode ser usada também com o significado de símbolo que numa interface gráfica
está associado a um objecto (ficheiro, aplicação, entre outros) e que ao ser seleccionado desencadeia uma
acção. Por isso alguns autores, como Wittenbrink et al., preferem usar o termo glyph em vez de icon
[Wittenbrink96], apesar de neste contexto não haver motivo para confusão.
17
bidimensional pode visualizar-se uma segunda variável. A superfície colorida, inicialmente
sobre um plano, é substituída por uma superfície tridimensional representando os valores da
segunda variável pelo relevo. A superfície tridimensional colorida pode ser também
utilizada para visualizar apenas uma variável. Neste caso o relevo depende do valor da
variável e a cor pode ser arbitrária ou reflectir também os valores da variável.
Na visualização de variáveis definidas em espaços tridimensionais por meio de volumes
coloridos é comum a realização de cortes segundo planos paralelos aos eixos principais.
Deste modo é possível observar a evolução da variável quando se fixa um valor do eixo
intersectado.
Referiram-se apenas as formas de representação mais usuais na Visualização de
Informação: a nuvem de pontos, incluindo a representação com ícones, e as superfícies ou
volumes coloridos. Para além de serem as mais comuns, servem também de base para a
visualização de espaços de dimensão superior, que serão tratados a seguir. Formas
alternativas de visualização de dados 2D e 3D, utilizadas no âmbito de outras áreas da
Visualização, são igualmente possíveis, como a visualização em volume, a geração de
isosuperfícies, os gráficos de barras, os gráficos circulares, entre outras. Além disso, como
a visualização de espaços de dimensão superior recorre a espaços bidimensionais e
tridimensionais, como se verá na subsecção 2.1.3, versões modificadas das visualizações
usadas para esses espaços são também aplicáveis para dados 2D e 3D.
2.1.3
Dados multivariados e dados multidimensionais
Não existe na literatura uniformidade quanto às definições de dados multivariados
(multivariate) ou multivariável (multivariable) e de dados multidimensionais ou n-dimensionais6. Por exemplo, em [Shneiderman98] é usado o termo multidimensional para
designar dados provenientes de bases de dados relacionais, isto é, dados com n atributos
que são tratados como pontos de um espaço n-dimensional. Por sua vez em [Card99] o
termo multidimensional é utilizado para designar as visualizações de dados em tabelas os
quais são classificados como dados multivariados. Neste caso, apesar dos termos
multivariado e multidimensional estarem associados a conceitos distintos, o primeiro ao
6
18
Considera-se normalmente n>3.
tipo de dados e o segundo à sua visualização, os dois estão ligados aos mesmos dados. Uma
aproximação diferente é encontrada em [Andrade94] onde se trata a visualização de dados
multivariados7 tridimensionais. Aqui o termo multivariado é associado à existência de
várias grandezas que são conhecidas num espaço com determinada dimensão.
Há nitidamente dois tipos de dados a distinguir: aqueles que correspondem a sequências
de n-tuplos sem dependências conhecidas a priori entre os elementos que os constituem; e
os relativos a valores associados a pontos n-dimensionais, correspondendo, portanto, a uma
sequência de tuplos com n+1 valores em que um deles é função dos restantes.
Para realçar esta distinção, vamos adoptar uma classificação idêntica à utilizada em
[Andrade94] considerando dados multivariados os dados relativos a várias variáveis e
dados n-dimensionais ou multidimensionais os dados definidos num espaço euclidiano de
n dimensões, em que a posição de um ponto é definida por n coordenadas. Há, portanto,
para dados n-dimensionais, uma dependência em relação a n variáveis, enquanto que para
dados multivariados não existem à partida dependências conhecidas entre as variáveis,
apesar de poderem existir correlações entre elas. As funções com n variáveis independentes
são um exemplo de dados multidimensionais e as tabelas de bases de dados relacionais
correspondem a dados multivariados.
Os dados multivariados podem estar definidos em espaços com uma dada dimensão,
como acontece em [Andrade94], ou, ao contrário, não ter uma localização explícita. No
segundo caso é necessário definir um espaço para a sua visualização. As soluções mais
comuns consistem, por um lado, na definição de posições num espaço 2D ou 3D, e por
outro lado, na selecção de alguma ou algumas das variáveis para a definição de um
referencial.
Para a visualização de dados multivariados ou de dados multidimensionais coloca-se o
problema de serem utilizados espaços de representação de dimensão inferior ao espaço
onde estão definidos os valores ou ao número de variáveis a representar. Recorrendo à
animação, é possível em espaços de representação tridimensional visualizar uma quarta
dimensão ou variável, que muitas vezes corresponde à evolução ao longo do tempo. Para
7
Em [Andrade94] utiliza-se o termo multivariável em vez de multivariados.
19
dimensões superiores, ou se utilizam técnicas para reduzir o número de dimensões, ou se
desenvolvem visualizações que permitam mostrar toda a informação simultaneamente.
2.1.3.1
Dados multivariados
Vários tipos de representação são usados para visualizar dados multivariados, sendo
mais comuns os que se baseiam na utilização de ícones, texturas, nuvens de pontos e
coordenadas paralelas. Além destas formas de representação, referiremos ainda outras
desenvolvidas predominantemente para a visualização do resultado de consultas a bases de
dados relacionais.
Ícones
A utilização de ícones é a forma mais comum para a visualização de dados multivariados permitindo representar e relacionar múltiplas variáveis simultaneamente aproveitando a nossa capacidade para detectar relações espaciais e diferenças na forma [Foley94].
As faces de Chernoff [Chernoff73] são um exemplo da visualização simultânea de
diferentes variáveis num conjunto limitado de pontos, associando aos vários parâmetros,
que definem a expressão facial, cada uma das variáveis. Outros exemplos de ícones com
diferentes parâmetros, a que são associadas as variáveis em estudo, são referidos em
[Tufte83].
Os ícones são usados essencialmente para dados discretos, mas podem ser também
usados para variáveis contínuas. Apresentam a vantagem de serem aplicados aos dados
originais sem exigir o cálculo de interpolações. Normalmente há uma aplicação um a um
entre um ponto n-dimensional e um ícone. Em [Foley94] é referida a possibilidade de
associar a mesma variável a vários atributos de um mesmo ícone, o que corresponde a uma
relação de um para muitos. É mencionada também a necessidade de estender o conceito
aplicando-o de muitos para um, isto é, vários pontos n-dimensionais associados a um ícone.
Dão como exemplo fitas (ribbons) que descrevem uma trajectória.
Alguns trabalhos descrevem tipos especiais de ícones para obter efeitos particulares. Em
[Bergeron89] refere-se este tipo de representação utilizando símbolos justapostos para criar
uma textura. Em [Wittenbrink96] é proposto um ícone para representar grandezas vectoriais
a que estão associadas medidas de incerteza. Este ícone tem o aspecto de uma seta cujo
20
corpo tem a forma de um losango. A área total traduz a amplitude do vector e os
parâmetros, que condicionam a forma do losango, são determinados de modo a veicular o
grau de incerteza, quer na orientação, quer na magnitude da grandeza vectorial (Fig. 2.6).
Em [Beddow90] são utilizados ícones com o objectivo de identificar padrões na
visualização de dados referentes a treze variáveis. Neste caso, cada ícone é uma área
quadrangular composta por quadrados coloridos cada um deles relativo a uma das variáveis
em estudo. Os valores de cada variável são divididos em três intervalos determinados à
custa da sua média e desvio padrão, isto é: valores menores que a média menos o desvio
padrão; valores maiores que a média mais o desvio padrão; e os valores que estão entre
estes dois limites. A determinação dos extremos dos intervalos pode ser modificada. A cada
intervalo é atribuída uma cor e à ausência de dados é atribuída uma quarta cor. A
disposição dos ícones no ecrã forma uma malha regular determinada, neste exemplo, pelo
dia e hora da recolha dos dados. É possível ainda identificar uma variável de interesse e
representá-la por meio de um círculo de forma a realçar a sua contribuição. Em
[Grinstein94] refere-se que este tipo de análise, baseado na observação da variação dos
padrões numa malha, aproveita a capacidade humana de perceber diferenças na forma ou
padrão sem necessidade de focar a atenção na característica específica que os torna
diferentes.
Fig. 2.6 – Parâmetros do ícone de [Wittenbrink96] (IEEE)
Outra experiência para explorar a criação de padrões através de ícones é descrita em
[Joslyn95]. Neste caso, é proposta a utilização de um ícone com a forma de um
paralelipípedo em que os comprimentos dos lados são calculados à custa dos valores das
variáveis, efectuando-se depois uma projecção isométrica.
Chuah et al. descrevem três tipos de ícone para a visualização de dados sobre gestão de
projectos de software [Chuah98a]. Um deles, timewheel, dispõe de forma circular vários
21
gráficos de evolução ao longo do tempo, cada um deles associado a uma variável e
desenhados com uma cor que identifica a variável (Fig. 2.7). Um segundo ícone, 3D wheel,
visualiza a mesma informação, mas usa uma representação tridimensional, em que a altura
codifica o tempo, dispondo de forma circular fatias cujo raio é proporcional ao valor da
variável que representam. Neste caso a evolução ao longo do tempo é analisada pela forma
do ícone, enquanto que no primeiro é analisada pelo padrão formado pelas séries. Um
terceiro ícone, infobug, tem o aspecto de um insecto em que as asas, cabeça, cauda e corpo
codificam diferentes características do desenvolvimento de software (Fig. 2.8).
Fig. 2.7 – Ícone timewheel [Chuah98a] (IEEE)
Fig. 2.8 – Ícone Infobug [Chuah98a] (IEEE)
Roberts et al. exploram a utilização de ícones para mostrar o resultado de pesquisas de
endereços URL através de motores de busca [Roberts02], propondo duas visualizações
diferentes. Na primeira utilizam ícones com formas geométricas elementares, associando
cada uma delas a um domínio. Cada endereço da lista de resultados é representado por um
ícone em que a cor depende da ordem do endereço na lista, a grossura do bordo da
dimensão da página, a coordenada x do número de ligações externas existentes na página e
a coordenada y do número de ligações internas. A segunda visualização que propõem tem
por base um ícone quadrangular onde distinguem duas zonas: um quadrado interior e uma
22
moldura exterior. Cada uma destas zonas está dividida em quatro subzonas, representando
cada uma delas um quarto do intervalo de variação do atributo a que está associada a zona
(Fig. 2.9). Assim, para cada ícone o número de subzonas desenhadas depende dos valores
verificados no elemento de informação que o ícone representa.
Fig 2.9 – Os fragmentos A, B, C e D representam cada um deles ¼ do intervalo de variação
do atributo que representam [Roberts02] (IEEE)
Além do estudo de qual o melhor tipo de ícone para determinada informação, outro
problema tratado na literatura é o da associação, de forma interactiva, de características da
informação a ícones e aos seus atributos. Alguns trabalhos incluem também editores de
ícones permitindo a sua definição pelo utilizador. É o caso de Glyphmaker [Ribarsky94]
que dispõe de um editor de ícones tridimensional e permite, interactivamente, atribuir
variáveis aos parâmetros dos ícones, incluindo a possibilidade de restringir o domínio de
variação das variáveis. O Glyphmaker, construído para integração no IRIS Explorer8, foi
inspirado no trabalho de Foley et al., Process Visualization System, que desenvolveram um
sistema para a visualização dinâmica de actualizações em sistemas de monitorização
[Foley86]. A visualização inclui a utilização de ícones bidimensionais definidos e ligados
de forma interactiva à informação em estudo. Outro sistema que permite a construção de
forma interactiva de visualizações baseadas em ícones bidimensionais é o Iconographer,
[Gray90]. Neste caso não existe um editor de ícones, sendo fornecido apenas um conjunto
de ícones previamente definido.
Texturas
A visualização de dados multivariados recorre também à utilização de texturas. Aliás,
8
O IRIS Explorer foi desenvolvido pela Silicon Graphics, para a visualização de dados científicos, baseado no conceito de fluxo de dados. Tem por base a biblioteca Open Inventor e actualmente é comercializado
pela NAG [httpIRISExplorer]
23
em alguns casos, a construção de ícones é feita à custa de componentes elementares que
formam células, avaliando-se o resultado final pela variação das texturas criadas, como é o
caso já referido em [Beddow90]. Mas o recurso a texturas pode ser encarado de outra
forma, considerando à partida uma textura cujo aspecto é alterado consoante os valores que
representa. Por exemplo, Ware e Knight defendem que orientação, tamanho e contraste são
as características das texturas em que as variações são mais perceptíveis [Ware95]. Por
isso, será razoável associar a cada uma destas características variáveis distintas que
determinarão o aspecto da textura.
Na visualização com texturas, cada tuplo de informação é representado por uma célula.
Contudo, esta visualização só é efectiva se cada célula tiver uma dimensão suficiente para
se distinguir a variação do aspecto da textura, como é salientado em [Interrante00]. Neste
artigo levantam-se ainda outras questões relativas à utilização de texturas como o número
de texturas diferentes que é possível distinguir, a amplitude da variação das características
das texturas para que sejam detectadas diferenças e o modo de combinar cor com textura
para veicular mais informação de forma significativa.
A autora propõe a utilização de texturas que copiam a natureza, que designa por texturas
naturais, argumentando que estas texturas, além de mais estéticas, não provocam efeitos
perturbadores, como o efeito moiré [Tufte83], que por vezes se verifica em texturas com
padrões geométricos. Para representar o grau de incerteza dos dados é sugerida a introdução
de irregularidades na textura. Isto é, uma textura regular apresentará deformações se não
houver garantia sobre o rigor dos dados.
Nuvens de pontos
As nuvens de pontos são outra das formas utilizadas na visualização de dados
multivariados. Um exemplo é a matriz de nuvens de pontos (scatterplot matrix)
incorporada no sistema XmdvTool [Ward94]. Sendo n o número de variáveis, o ecrã é
dividido numa grelha nxn ficando cada variável associada a uma linha e a uma coluna. Em
cada área é desenhada uma nuvem de pontos que relaciona os valores das duas variáveis
associadas à linha e coluna que se intersectam (Fig. 2.10). Se houver correlação entre as
variáveis, a nuvem de pontos tende para uma recta, como acontece nas áreas com a mesma
variável em linha e em coluna. Há duas limitações a apontar a este tipo de representação:
24
apenas é possível comparar variáveis duas a duas e não todas as variáveis em simultâneo; e,
à medida que o número de dimensões aumenta, a representação torna-se menos efectiva
porque as áreas ficam mais reduzidas.
A hyperbox [Alpern91] pode igualmente usar nuvens de pontos para visualizar dados
multivariados. Uma hyperbox é uma representação 2D de um sólido com n dimensões em
que há arestas com n direcções diferentes. Na figura 2.11, extraída de [Wong97b],
mostra-se um exemplo de uma hyperbox com 5 dimensões. Cada variável é associada a
uma direcção das arestas. Em cada face é representado o comportamento das duas variáveis
associadas às direcções das suas arestas através de uma nuvem de pontos, ou de outra forma
de visualizar duas variáveis. As limitações encontradas na matriz de nuvens de pontos
verificam-se também na hyperbox.
Fig. 2.10 – Matriz de nuvens de pontos
[Ward94] (ACM)
Fig. 2.11 – Hyperbox (em [Wong97b]
(IEEE))
Coordenadas paralelas
Inselberg propõe uma visualização 2D para dados multivariados usando um sistema de
coordenadas paralelas [Inselberg90]. Num espaço 2D consideram-se rectas equidistantes e
paralelas ao eixo dos yy formando os eixos do sistema de coordenadas paralelas. Os dados
são tratados como um conjunto de pontos de um espaço n-dimensional em que cada
componente está associada a um eixo. Um ponto é representado por uma linha poligonal
25
que liga as posições determinadas em cada eixo pelo valor da respectiva componente
(Fig. 2.12). As coordenadas paralelas transformam a visualização de relações entre
múltiplas variáveis na análise de padrões [Inselberg97]. O número de eixos e, portanto, o
número de dimensões fica apenas limitado pela resolução do ecrã segundo o eixo dos xx,
apesar da proximidade dos eixos tornar difícil a compreensão da relação entre as variáveis.
À medida que o número de dados aumenta torna-se difícil distinguir a linha que representa
cada ponto e, por conseguinte, descobrir relações entre as variáveis associadas a cada eixo.
Por este motivo Fua et al. adaptam as coordenadas paralelas para a visualização de grandes
conjuntos de dados utilizando uma técnica de agrupamento hierárquico (hierarchical
clustering) [Fua99]. Os pontos de um agrupamento são representados por uma linha que
une os valores médios das componentes dos pontos relativamente a cada eixo.
Acompanhando a linha é desenhada uma banda transparente que abrange a faixa entre os
valores máximo e mínimo verificados em cada eixo (Fig. 2.13). Outro exemplo de
aplicação de coordenadas paralelas é descrito em [Lee96] para suporte à exploração de
informação armazenada em bases de dados.
Fig. 2.12 – Coordenadas paralelas
[Inselberg90] (IEEE)
Fig. 2.13 – Coordenadas paralelas
hierárquicas [Fua99] (IEEE)
Outras formas de visualização de dados multivariados
As representações que se referem em seguida estão relacionadas com a visualização do
conteúdo de bases de dados relacionais. A visualização desta informação enquadra-se
normalmente na visualização de dados multivariados, embora possa haver situações de
dependência entre os atributos de uma tabela. Um caso particular é o dos dados relativos a
localizações geográficas onde há uma dependência dos valores em relação às localizações.
26
Tem-se neste caso a visualização de dados multivariados com referência espacial.
Quando a visualização é feita em função das condições impostas na pesquisa, cada uma
destas condições, ao ser avaliada para todos os elemento da base de dados, dá origem a uma
sequência de valores que pode ser considerada como uma variável em estudo. A
visualização do resultado da pesquisa corresponde assim à visualização de dados
multivariados.
Em [Keim93a] descreve-se uma representação gráfica que permite observar o
comportamento de todos os elementos de uma base de dados em relação às condições
impostas numa consulta. Não é possível obter este tipo de informação utilizando as formas
de consulta usuais, uma vez que o resultado destas inclui apenas os elementos que
satisfazem as condições estabelecidas e não há qualquer informação sobre o
comportamento dos restantes elementos. Para apresentar o maior número de elementos da
base de dados e aproveitar ao máximo o espaço de ecrã disponível, utiliza-se apenas um
pixel para representar cada elemento. A cor do pixel expressa a relevância do elemento no
resultado da consulta. Os elementos são ordenados por ordem decrescente de relevância e
começam a ser representados a partir do centro da janela seguindo a ordem duma espiral.
Podem ser usadas várias janelas para visualizar o comportamento de cada uma das
componentes da consulta. Cada elemento ocupa a mesma posição quer nas janelas
auxiliares quer na janela com o resultado final apesar da sua cor poder variar de janela para
janela de acordo com a sua relevância em cada um dos casos (Fig. 2.14). Em [Keim94] em
vez de uma janela para cada condição, a informação sobre cada elemento é agrupada numa
área rectangular à semelhança da solução adoptada em [Beddow90]. Deste modo é mais
fácil comparar o comportamento de cada elemento em relação às várias componentes da
consulta. O factor de relevância de cada elemento é determinado combinando o resultado
de funções de distância em relação cada um dos valores pesquisados na consulta. Estas
funções dependem do tipo de dados e da aplicação [Keim93a], [Keim93b]. Por vezes não é
possível, por falta de espaço, representar todos os elementos. São, neste caso, omitidos os
elementos cuja distância é superior a um valor determinado a partir do número de
elementos que podem ser representados, do número total de elementos da base de dados e
do número de condições em estudo. Interactivamente podem modificar-se os parâmetros da
consulta utilizando deslizadores (sliders). Na realidade a forma de interagir com bases de
27
dados relacionais torna lenta a utilização deste tipo de visualização porque é necessário
aceder a toda a informação e não apenas aquela que satisfaz a consulta. No protótipo
desenvolvido, VisDB, toda a informação é guardada em memória central para garantir uma
resposta em tempo real [Keim93b].
Fig 2.14 – VisDB [Keim93a] (IEEE)
Em [Keim00] é feita uma formalização desta técnica considerando a sua aplicação não
apenas a consultas a bases de dados, mas a qualquer conjunto de dados multivariados,
distinguindo o caso de existir uma ordem definida previamente nos dados, como acontece
nas séries temporais. Neste artigo são sistematizados os problemas que se colocam ao
utilizar esta técnica: como aplicar os domínios dos valores em escalas de cor; como
organizar a sequência de valores, isto é, dos pixels, em cada subjanela; qual a forma e
disposição no ecrã mais adequada para as subjanelas; e como ordenar a apresentação das
subjanelas, isto é, dos atributos. Esta técnica pode também ser utilizada quando os valores
conhecidos estão associados a localizações geográficas. Como normalmente existe
concentração de informação em determinados pontos do espaço, ficando zonas
desocupadas, colocam-se os valores mais relevantes na posição correcta e os restantes são
dispostos em zonas adjacentes aproveitando o espaço disponível.
A técnica de associar cada elemento de informação a um pixel do ecrã é estendida em
[Keim01] aos gráficos de barras (pixel bar charts). Nos gráficos de barras comuns, a altura
de cada barra traduz o número de elementos que correspondem ao valor ou intervalo que a
barra representa relativamente a um dado atributo da informação. Usando a técnica de
Keim et al., os pixels compreendidos dentro de cada barra estão associados aos elementos
28
de informação que correspondem à barra e são coloridos de acordo com o valor de um
atributo que pode ser ou não aquele que deu origem à construção do gráfico. A ordem de
colocação dos elementos dentro de cada barra tem por base o valor de dois atributos, um
para o eixo dos xx e outro para o eixo dos yy. Para aproveitar melhor o espaço do ecrã, em
vez de as barras terem a mesma largura e altura variável, é fixada a altura das barras e a
largura é variável. Estes autores propõem no mesmo artigo a utilização de múltiplos
gráficos de barras fazendo variar apenas o atributo associado à cor (Fig. 2.15). Como a
posição dos elementos se mantém, é possível relacionar os diferentes gráficos e detectar
correlações entre os atributos.
Fig. 2.15 – Multi-Pixel Bar Charts [Keim01] (IEEE)
Outra forma de visualizar o resultado da consulta a uma base de dados relacional é
apresentada em [Spoerri93]. Neste caso não se pretende analisar a situação de todos os
elementos da base de dados em relação à consulta formulada, como em [Keim93a], mas
analisar quantos elementos verificam todas ou algumas das condições impostas na consulta.
A representação gráfica, designada por InfoCrystal, é obtida por analogia com os diagramas
de Venn que visualizam a relação entre conjuntos por intersecção de formas geométricas,
tais como círculos, que representam cada conjunto. As várias zonas do diagrama
representam todas as combinações possíveis de união, intersecção e complemento entre os
conjuntos intervenientes (Fig. 2.16(a)). O diagrama pode ser decomposto de modo a isolar
cada uma das zonas (Fig. 2.16(b)). O número de lados da figura geométrica utilizada para
cada zona reflecte o número de conjuntos a que pertencem os elementos que lhe
29
correspondem. Por exemplo, o rectângulo 4 corresponde aos elementos que pertencem
simultaneamente a A e B e não pertencem a C, donde os elementos estão contidos apenas
em dois conjuntos. Se a zona corresponder a elementos pertencentes apenas a um conjunto,
utiliza-se um círculo. Observando o diagrama como o resultado de uma consulta a uma
base de dados, cada conjunto, ou seja, cada um dos círculos iniciais, representa os
elementos que satisfazem uma das condições e cada zona do diagrama de Venn, traduz
operações lógicas entre as condições. A representação adoptada no InfoCrystal para o
resultado da consulta é um polígono cujo número de lados indica o número de condições
usadas na consulta e dentro desse polígono são desenhadas figuras geométricas mais
pequenas em que o número de lados, orientação, cor, tamanho e posição expressam quantas
e quais as condições a que dizem respeito e o número de elementos que as satisfazem,
podendo o seu número exacto estar explicitamente indicado no polígono. Por exemplo, um
círculo representa elementos que apenas satisfazem uma condição, um rectângulo
representa elementos que satisfazem exactamente duas condições e assim sucessivamente.
A (Fig. 2.16(c)) é um diagrama simplificado do InfoCrystal para uma consulta com três
condições: A, B e C. É possível visualizar o resultado de consultas mais complexas criando
uma estrutura hierárquica: a partir de um InfoCrystal selecciona-se um ou mais polígonos
interiores e os elementos que satisfazem os critérios que esse ou esses polígonos
representam são analisados por nova consulta. É permitido também associar pesos a cada
uma das condições da consulta fazendo variar o seu grau de relevância.
Outras visualizações de consultas a bases de dados serão referidas na secção sobre texto
onde se abordará a organização de colecções de documentos.
Síntese
Verifica-se que a utilização de ícones é o método mais comum para a visualização de
dados multivariados. Diversos trabalhos propõem diferentes modelos de ícones com
características adaptadas à visualização de determinados tipos de informação. Contudo,
outras soluções têm sido apresentadas para a visualização de dados multivariados, como as
coordenadas paralelas de Inselberg, em que são estabelecidas ligações entre os valores
observados nos diferentes tuplos, ou a matriz de nuvens de pontos e a hyperbox para a
análise das variáveis duas a duas, ou ainda diversas formas de visualização do resultado de
30
consultas a bases de dados em que se procura dar uma ideia do número de elementos da
base de dados que, no todo ou em parte, satisfazem os critérios estabelecidos na consulta.
1= A \ (B U C)
onde
B
2= B \ (A U C)
2
4
A
1
7
3= C \ (A U B)
5
4= (A ∩ B) \ C
3
6
C
5= (B ∩ C) \ A
6= (A ∩ C) \ B
7= A ∩ B ∩ C
(a) Diagrama de Venn com três conjuntos: A, B e C
B
2
4
7
1
6
5
3
A
(b) Separação das zonas definidas no
diagrama de Venn
C
(c) Diagrama simplificado de um
InfoCrystal relativo a uma consulta com
três condições: A, B e C.
Fig. 2.16 – InfoCrystal (adaptada de [Spoerri93]) (IEEE)
2.1.3.2
Dados multidimensionais
Para dados multidimensionais têm sido propostas visualizações usando, quer
representações 2D, quer representações 3D. Em [Mihalisin90] é apresentada uma
visualização 2D para dados n-dimensionais em que uma variável é função das outras n-1
31
variáveis9. Esta técnica é usada apenas para variáveis independentes cujos domínios
formem uma grelha regular, isto é, para cada variável os valores são igualmente espaçados,
apesar do incremento poder diferir de variável para variável, havendo para todos os pontos
da grelha um valor definido. É criada uma hierarquia para as variáveis independentes que
indica qual a sua ordem de variação. A área de representação é dividida em faixas
horizontais, uma para cada variável independente e uma para a variável dependente. A
faixa inferior corresponde à variável independente mais lenta, isto é, aquela que é fixada em
primeiro lugar, e as seguintes obedecem à ordem de variação estabelecida. A faixa superior
corresponde à variável dependente (Fig. 2.17). A largura de cada faixa é dividida pelo
número de valores do domínio da variável mais lenta, criando-se rectângulos verticais
correspondentes a cada um dos valores desta variável. Em cada uma faixas, à excepção da
inferior, cada um destes rectângulos é dividido, novamente na vertical, pelo número de
valores da segunda variável mais lenta formando novos rectângulos e assim
sucessivamente. Os rectângulos do último nível envolvem o gráfico da função que é
calculado fazendo variar a variável independente mais rápida para os valores das outras n-2
variáveis independentes correspondentes a este rectângulo. A altura e localização da base
de cada rectângulo dependem do resultado da função para os valores a que corresponde
aquele rectângulo, isto é, reflectem o valor da variável dependente. Na figura 2.17 está
representada a função x2+y2 com x e y a variarem em {-2, -1, 0, 1, 2}. A faixa inferior diz
respeito à variável y, a do meio à variável x e a superior aos gráficos da função x2+y2. Cada
um dos gráficos da função corresponde a fixar um valor para a variável mais lenta, y. Cada
rectângulo tem uma cor correspondente ao nível da hierarquia de variáveis independentes o
que quer dizer que existe uma cor associada a cada variável. Quando se representam mais
variáveis e se consideram mais valores de cada uma delas, o número de pixels não é
suficiente para representar todos os rectângulos relativos aos gráficos das funções. Neste
caso serão visíveis os rectângulos dos níveis exteriores, correspondentes às variáveis de
variação mais lenta, e está definida uma operação de ampliação que permite expandir um
9
Esta definição de dados n-dimensionais não coincide com a que adoptámos. De acordo com a
nomenclatura que seguimos, trata-se da visualização de uma variável num espaço de dimensão n-1. O mesmo
autor usa em [Mihalisin91] uma definição mais geral definindo dados n-dimensionais como uma lista de
n-tuplos, isto é, n números associados que representam n variáveis. Estas variáveis podem não ter
classificação como dependentes ou independentes ou pode existir uma variável dependente das outras n-1
variáveis.
32
rectângulo escolhido e observar o comportamento das outras variáveis. A ordem de
variação das variáveis independentes pode ser alterada. Em [Mihalisin91a] esta técnica é
estendida para o caso de domínios contínuos e são testadas regras diferentes para
determinar a posição e altura de cada rectângulo.
Fig. 2.17 – Representação da função
x2+y2 [Mihalisin91b] (IEEE)
Fig. 2.18 – Dimensional stacking
[LeBlanc90] (IEEE)
LeBlanc et al. estendem o conceito de hierarquia de variáveis independentes para os dois
eixos e usam também o espaço 2D para a visualização de dados n-dimensionais. Na
representação que desenvolvem, dimensional stacking [LeBlanc90], o valor conhecido em
cada ponto n-dimensional é traduzido numa gama de cinzentos. Assumem que cada uma
das n dimensões (D1, D2,..., Dn) tem um conjunto finito de valores, consideram duas das
dimensões, D1 e D2, e dividem o número de pixels na largura e altura do ecrã pelo número
de valores de cada um dos seus domínios. Se a cardinalidade de cada uma das dimensões
for inferior ao número de pixels do ecrã, tanto em largura como em altura, a cada par de
valores de D1 e D2 corresponde uma área rectangular. Cada uma dessas áreas é depois
dividida pelo número de valores do domínio de D3 e D4 e assim sucessivamente. Se o
número de dimensões for ímpar, junta-se mais uma dimensão com cardinalidade um. A
ordem pela qual são tratadas as dimensões é definida pelo utilizador. Se a quantidade de
pontos n-dimensionais for muito elevada e houver mais pontos do que pixels, cria-se uma
imagem maior que o ecrã e utilizam-se panorâmicas para visualizar toda a informação
[LeBlanc91]. Esta técnica reserva uma área ou pixel para cada ponto do espaço, apesar de
nem sempre todos os pontos terem um valor atribuído. Os pontos sem valor atribuído serão
33
representados com a cor de fundo do ecrã (Fig. 2.18).
Na sequência do dimensional stacking de LeBlanc et al., Mihalisin et al. apresentam em
[Mihalisin91b] uma extensão do seu trabalho considerando dois eixos para construção da
hierarquia de variáveis independentes e representando o valor da função através de uma
escala de cores ou de cinzentos.
Fig. 2.19 – Worlds within worlds [Feiner90b] (ACM)
Uma aproximação comum para reduzir a complexidade de uma função dependente de n
variáveis consiste em fixar o valor de algumas das variáveis independentes num valor
constante. Esta aproximação é usada por Feiner et al. [Feiner90a] [Feiner90b] no sistema
n-Vision. O espaço n-dimensional é reduzido a 3 dimensões fixando as restantes n-3
variáveis. Este espaço 3D é representado como se estivesse mergulhado noutro espaço
tridimensional e a posição da origem do referencial do espaço interior indica os valores
constantes das três variáveis do espaço exterior. Mais variáveis podem ser tratadas criando
recursivamente mais espaços tridimensionais mergulhados no espaço interior. Esta técnica
é designada por worlds within worlds. Interactivamente é possível deslocar um mundo
interior para uma nova posição. O gráfico resultante é alterado de acordo com os novos
valores das variáveis do mundo exterior. É possível representar simultaneamente vários
mundos interiores correspondentes a valores diferentes das variáveis do mundo exterior. Na
figura 2.19 são usados dados do domínio financeiro e o mundo interior é representado por
uma superfície cujo relevo depende de duas variáveis. Em [Beshers93] são exploradas
outras formas de visualizar os mundos interiores integradas num sistema, AutoVisual, que,
a partir das tarefas indicadas pelo utilizador, escolhe automaticamente qual a melhor opção
34
a usar, baseando-se num conjunto de regras do próprio sistema.
O hyperslice é outra forma de visualização que fixa algumas das variáveis independentes
num valor constante [Wijk93]. O hyperslice tem em comum com a matriz de nuvens de
pontos a divisão do ecrã numa grelha n x n, em que n é o número de variáveis. Apenas são
visualizados os dados que se encontram em torno de um foco de interesse c= (c1, c2, ..., cn)
fixando para cada dimensão i, i=1, 2,..., n, um intervalo de amplitude wi centrado em ci. A
área de cada quadrícula (i,j) com i ≠ j é colorida de forma a mostrar os valores da função
quando os valores das variáveis i e j variam nos intervalos fixados e as restantes variáveis
tomam o valor da respectiva componente no foco. Para i=j, a quadrícula mostra o gráfico da
função para a variação dos valores da variável i no intervalo fixado, mantendo-se as outras
variáveis com o valor do foco.
Por vezes, quando há mais de uma função em estudo, mais importante do que conhecer
os valores das funções e o seu aspecto é determinar quais são os valores das variáveis que
originam certos valores de uma função e a que valores conduzem nas outras funções. É este
o problema tratado em [Tweedie96], onde, a partir de modelos matemáticos, se relaciona
um conjunto de parâmetros com o desempenho de um equipamento. A visualização é
construída partindo de uma base de dados com os valores das funções calculados
previamente para certos intervalos dos parâmetros. Duas formas de visualização são
exploradas: influence explorer e prosection matrix. No influence explorer (Fig. 2.20) são
desenhados simultaneamente, para as funções e para os parâmetros, gráficos de barras que
mostram a frequência de cada valor. No caso duma função, a barra relativa a um valor
representa o número de vezes que esse valor da função ocorreu no domínio estudado, ou
seja, quantos tuplos dos parâmetros deram origem a esse valor. No caso de um parâmetro,
uma barra representa o número de vezes que esse valor do parâmetro pertenceu a um tuplo
para calcular o valor das funções. Se se seleccionar um elemento de uma das barras, serão
realçados nos outros gráficos os elementos a que está ligado. Do mesmo modo, se num
gráfico se seleccionar uma sequência de barras, nos outros gráficos serão marcados a preto
todos os elementos relacionados com esses tuplos. Outro tipo de informação que é possível
obter com esta forma de visualização é a identificação dos valores dos parâmetros que dão
origem a determinado desempenho do equipamento em estudo. Foram considerados quatro
estados possíveis do equipamento, caracterizados pelos valores obtidos nas diferentes
35
funções, e cada um deles identificado por uma cor. Assim a cada tuplo corresponde a cor
relativa ao comportamento que origina, ficando as barras coloridas de forma a reflectir os
tuplos ou componentes de tuplos que as constituem.
Fig. 2.20 – Influence explorer [Tweedie96] (ACM)
Outra forma alternativa de visualização é a prosection matrix (Fig. 2.21) que é uma
variante da matriz de nuvens de pontos onde se relacionam os parâmetros dois a dois. Por
exemplo, fixando uma sequência de intervalos para os resultados das funções, assinalam-se
em cada quadrícula, com cor diferente, as zonas que satisfazem uma ou mais das restrições
impostas.
Fig. 2.21 – Prosection matrix [Tweedie96] (ACM)
Da análise dos diferentes trabalhos publicados sobre a visualização de dados multidimensionais conclui-se que estes dados têm efectivamente características distintas dos
dados multivariados. A sua visualização requer representações que permitam transmitir a
36
noção da variação da função, ou variável dependente, relativamente à variação das outras
variáveis. Algumas das técnicas de visualização têm por objectivo dar um aspecto geral dos
valores que a função toma, enquanto que outras mostram apenas o comportamento da
função quando alguns dos parâmetros têm determinados valores fixos e se fazem variar os
restantes. Outro problema tratado é o da identificação dos valores das variáveis que dão
origem a determinados valores de uma ou mais funções.
2.1.4
Estruturas hierárquicas
A visualização de estruturas hierárquicas provoca normalmente dificuldades de gestão
do espaço do ecrã, que se agravam à medida que o número de elementos da estrutura
aumenta.
Uma das representações mais usuais de hierarquias é a utilização de um grafo
bidimensional em que cada nó está ligado por segmentos aos seus descendentes. Para
hierarquias com um elevado número de nós deixa de ser possível a visualização de toda a
estrutura de uma só vez na área de desenho. O mesmo problema é partilhado pela
visualização de hierarquias através de indentação. Este método é vulgarmente utilizado para
mostrar o conteúdo de directorias de um sistema de ficheiros: a indentação na linha e a
ordem na sequência de linhas em que é mostrado um identificador revela a posição na
hierarquia do objecto a que se refere.
Várias soluções têm sido propostas para tentar visualizar hierarquias com muitos nós.
Um dos modelos mais citados para a representação de estruturas hierárquicas é a árvore de
cones [RobertsonG91]. Neste modelo tridimensional a hierarquia pode ser representada
quer na vertical (conetree) quer na horizontal (camtree). As dimensões dos cones, tanto a
altura como o diâmetro da base, são calculadas de modo a ser possível representar toda a
estrutura. Os cones são transparentes de forma a deixar aperceber a existência de outros
cones por eles ocultos, os quais se podem tornar totalmente visíveis por meio de rotações de
toda ou parte da árvore (Fig. 2.22). São incluídas operações que permitem: tornar invisíveis
ramos da árvore; reestruturar a árvore movendo subárvores para outras posições; pesquisar
informação. Para melhor apreensão do conteúdo da imagem, o deslocamento de subárvores
não é feito duma só vez, mas numa sequência de passos cujo número depende da distância
a percorrer. É usada uma função logarítmica da distância para calcular a sequência de
37
posições intermédias simulando a redução de velocidade à medida que o objecto se
aproxima da posição final [Mackinlay90].
Fig. 2.22 – Árvore de cones [RobertsonG91] (ACM)
Diversos autores têm apresentado variantes deste modelo de representação hierárquica,
incluindo novas propriedades. Em [Carrière95] propõe-se uma nova disposição dos nós da
árvore a fim de permitir a visualização de hierarquias com mais de 1000 nós. Além disso, a
forma e cor de cada nó traduzem informação sobre o seu conteúdo.
Para reduzir os problemas de oclusão Jeong et al. [Jeong98] adaptam a árvore de cones,
simplificando o seu desenho através da utilização de pequenos círculos para representar os
nós e segmentos de recta para ligar cada nó aos nós filhos. Além disso, o desenho das
árvores, designadas por RDT (reconfigurable disc trees), é parametrizado de modo a
permitir variar o seu aspecto, em particular é possível escolher entre uma representação
bidimensional ou tridimensional.
No sistema H3, Munzner [Munzner98] adapta a árvore de cones à visualização de grafos
transformados em spanning trees10, isto é, subgrafos onde são incluídos todos os nós, mas
apenas um subconjunto das arestas. Os descendentes de um nó são dispostos na superfície
de uma hemi-esfera e não numa circunferência, como acontece na árvore de cones. Neste
caso a abertura do cone pode atingir 180 graus e o corpo do cone é substituído por um disco
sobre a hemi-esfera e por ligações aos descendentes. A hemi-esfera de cada descendente
10
Seja G=(V,E), em que V é o conjunto de vértices e E o conjunto de arestas, um grafo conexo não
orientado (undirected connected graph). Um subgrafo t=(V,E’) de G, em que E’é um subconjunto de E, é uma
árvore de suporte (spanning tree) sse t é uma árvore. Uma árvore é um grafo conexo sem ciclos (connected
acyclic graph) [Horowitz98]
38
assenta sobre um plano tangente à hemi-esfera do nó ascendente (Fig. 2.23). Numa primeira
fase calcula-se qual a medida do raio de cada hemi-esfera de modo a incluir todos os seus
descendentes e, posteriormente, determina-se a posição de cada um dos descendentes. A
disposição dos nós é determinada usando um espaço hiperbólico tridimensional. Ao
contrário do que se verifica no espaço euclidiano, no espaço hiperbólico duas rectas
paralelas não são equidistantes, sendo possível construir duas linhas que não se intersectem
e cuja distância entre si aumente progressivamente à medida que se afastam [Munzner97].
Assim, ao dispor os nós usando uma função distância do espaço hiperbólico, é possível
distribuir os nós mais afastados da raiz, que correspondem a níveis com mais nós, numa
zona com mais espaço disponível. Daqui resulta que, ao projectar o espaço hiperbólico no
espaço euclidiano, os nós mais afastados da raiz ficam mais compactados. O espaço
hiperbólico pode ser projectado no espaço euclidiano de duas formas: mantendo as linhas
rectas e distorcendo os ângulos ou deformando as rectas e preservando os ângulos. No
sistema H3 é usada uma projecção do primeiro tipo.
Fig. 2.23 – Árvore hiperbólica
[Munzner98] (IEEE)
Fig. 2.24 – Árvore hiperbólica 2D
[Lamping94] (ACM)
O espaço hiperbólico, mas bidimensional, tinha já sido usado em [Lamping94]
[Lamping95] para a representação de hierarquias com o objectivo de obter mais espaço
para os nós mais próximos do nó escolhido para foco de atenção. Neste caso a hierarquia é
disposta num plano hiperbólico (hyperbolic plane) que depois é aplicado num círculo
unitário no espaço euclidiano (Fig. 2.24). Ao contrário do que acontece no trabalho de
Munzner, a projecção usada para transformar o espaço hiperbólico no espaço euclidiano
39
deforma as linhas e mantém os ângulos. Nesta transformação verifica-se também que a
quantidade de espaço disponível para um nó diminui de forma contínua à medida que a sua
distância ao centro aumenta deixando mais espaço para os nós que estão representados ao
centro. Usando translações é possível colocar no centro do círculo o nó a eleger para foco.
É assim possível ampliar a zona de maior interesse mantendo o contexto global.
Fig. 2.25 – Pirâmides de informação [Andrews02] (IEEE)
Pirâmides de informação (information pyramids) é a designação do modelo
tridimensional para representação de estruturas hierárquicas proposto por Andrews et al.
[Andrews97] [Andrews02]. Neste modelo cada nó é representado por uma base com a
forma de uma pirâmide truncada sobre a qual são colocados os nós descendentes
(Fig. 2.25). A dimensão da base da pirâmide relativa a cada nó depende dum atributo da
informação que tenha em conta a contribuição dos nós descendentes, por exemplo, o espaço
ocupado por uma directoria, no caso da representação de um sistema de ficheiros. Deste
modo a base da figura, a que está associada a raiz da árvore, corresponde à pirâmide com
maior base. A ordem de colocação das pirâmides truncadas que representam os nós filhos é
também determinada pelo valor de um dos atributos. Interactivamente é possível
seleccionar uma das pirâmides e visualizar separadamente a subárvore de que é raiz.
Incluem-se ainda mecanismos de navegação no espaço 3D que permitem obter diferentes
pontos de vista da estrutura. Usando uma vista de topo é possível ter uma visão global de
toda a estrutura.
40
Andrews tinha já apresentado em [Andrews95] uma visualização de estruturas
hierárquicas através das chamadas paisagens de informação. Neste tipo de visualização são
colocados sobre um plano ícones tridimensionais, que representam os nós da árvore,
ligados por segmentos ao nó pai. A raiz da árvore é colocada mais próximo do observador,
ficando os nós terminais mais afastados.
Fig. 2.26 – Collapsible Cylindrical Trees [Dachselt01] (IEEE)
Outra representação tridimensional de estruturas hierárquicas, Collapsible Cylindrical
Trees (CCT), é apresentada em [Dachselt01]. Os nós descendentes do mesmo nó pai e
pertencentes ao mesmo nível são representados por um cilindro. A árvore é representada
por uma sequência de cilindros com o eixo central paralelo ao eixo dos xx (Fig. 2.26). Os
cilindros que representam a raiz (nível 0) e os nós do primeiro nível têm o mesmo raio e
estão sempre visíveis. As faces laterais dos cilindros estão divididas em faixas horizontais
da mesma largura onde são visíveis os identificadores dos seus nós. Rodando o cilindro, são
mostradas as faixas ocultas. Se o número de nós for inferior ao número de faixas, haverá
faixas vazias. Se o número de nós ultrapassar o número de faixas, à medida que o cilindro
roda são mostrados os identificadores de todos os nós, o que significa que não existe uma
ligação fixa entre uma faixa e um nó. Para visualizar os nós descendentes de um dado nó no
nível a seguir, coloca-se o cursor sobre a faixa que o representa e um novo cilindro é criado
à direita do cilindro do nó pai e com raio inferior. Para que este cilindro seja desenhado os
que estão à sua direita são deslocados para a direita e reduzidos segundo a direcção do eixo
central, eventualmente também os cilindros à esquerda serão reduzidos. Nível a nível
podem ser desenhados os nós até aos nós folha. Assim à medida que se desenham cilindros
correspondentes a nós mais profundos da árvore, o seu raio vai diminuindo e a dimensão
dos cilindros desenhados é ajustada para que todos fiquem visíveis. Contudo, os autores
41
recomendam esta forma de visualização para árvores pouco profundas e com poucos nós no
primeiro nível (não mais de sete). Esta forma de representação não mostra toda a árvore
simultaneamente, para além dos cilindros da raiz e do primeiro nível, apenas os cilindros do
caminho seleccionado pelo utilizador estão visíveis.
Koike et al. [Koike93] aplicam um método baseado em fractais para a visualização de
hierarquias com um número de nós da ordem das centenas ou milhares. Aproximando a
representação de fractais, tentam manter similaridade no aspecto em todos os níveis da
árvore. Ao ampliar uma subárvore, qualquer que seja o nível da sua raiz, a aspecto da
visualização mantém-se. Usam uma representação tridimensional onde cada nó da árvore é
representado por um cubo ligado por segmentos aos seus descendentes os quais têm uma
disposição espacial análoga à árvore de cones. A dimensão dos nós e dos segmentos é
reduzida de nível para nível. Para controlar o número de nós visíveis, é calculado para cada
nó um valor, designado por valor fractal (fractal value), e apenas são representados os nós
para os quais este valor for superior a um limiar fixado. A raiz da subárvore a visualizar
tem valor fractal um, e para os restantes nós da subárvore o valor fractal é determinado à
custa do valor fractal do pai, do número de irmãos desse nó, da dimensão fractal11 e de um
parâmetro fixado entre zero e um. A dimensão de um nó é proporcional ao seu valor fractal.
São assim eliminados nós cuja representação seria muito pequena e que correspondem aos
nós mais afastados da raiz da subárvore desenhada.
A eliminação de nós para obter visualizações aceitáveis para uma árvore é também a
estratégia utilizada em [Furnas86] e [Furnas94]. No segundo caso, as árvores representadas
são elementos de uma estrutura mais complexa, as multitrees12. Em qualquer dos casos,
tendo como base a representação de árvores sob a forma de grafos no espaço 2D, são
aplicadas vistas olho de peixe reduzindo a informação menos relevante. As vistas olho de
peixe serão descritas na secção sobre ampliação.
Em [Beaudoin96] é também apresentada uma representação bidimensional para
hierarquias, Cheops, que tem por base a compactação de nós através de sobreposição. A
figura 2.27 mostra a transformação de uma árvore ternária com três níveis. Alguns dos
11
Em [Koike93] designa-se por dimensão fractal a constante D = -log (r.N) em que N é o número máximo
de ramos de um nó e r é a razão entre os comprimentos de dois ramos consecutivos.
42
triângulos desenhados representam mais do que um nó da árvore. Por exemplo o nó 7 pode
corresponder aos nó G, I ou K. Apenas ao seleccionar um nó pai, o nó 7 passa a reflectir os
atributos correspondentes ao descendente do nó seleccionado. Assim, ao seleccionar o nó 2,
o nó 7 corresponde ao nó G. Quando o número de nós em cada nível aumenta, os triângulos
passam a ficar sobrepostos. Ao seleccionar um nó, os seus filhos sobrepõem-se aos
restantes de modo a identificar os elementos da subárvore de que é raiz (Fig. 2.28).
Fig. 2.27 – Transformação de uma árvore ternária com 3 níveis [Beaudoin96] (IEEE)
Fig. 2.28 – Cheops [Beaudoin96] (IEEE)
12
Uma multitree é um grafo directo acíclico que resulta da construção de diferentes árvores que partilham
alguns nós. Se duas árvores partilham um nó, então partilham todos os descendentes desse nó [Furnas94].
43
Treemap [Shneiderman92a] é outro modelo bidimensional para a representação de
estruturas hierárquicas com elevado número de nós, que pretende aproveitar de forma
eficiente a área de desenho. A representação da estrutura hierárquica é feita com o
preenchimento de áreas rectangulares correspondendo a raiz da hierarquia ao rectângulo
maior que ocupa a área de desenho reservada para a visualização da estrutura. A área deste
rectângulo será dividida verticalmente em rectângulos correspondentes aos elementos do
nível abaixo da raiz. Por sua vez a área de cada um destes rectângulos será dividida, mas
agora horizontalmente, em rectângulos correspondentes aos elementos descendentes do
elemento representado por esse rectângulo e assim sucessivamente até se atingirem os nós
terminais (Fig. 2.29). A posição, tamanho, cor e padrão de preenchimento de cada
rectângulo traduzem as propriedades dos elementos que formam a hierarquia [Johnson92].
Fig. 2.29 – Treemap com 3 níveis que representam 15 ficheiros em 4 directorias.
[Shneiderman92a] (ACM)
Em [Jungmeisterf92] afirma-se que este tipo de representação permite identificar áreas
de interesse inseridas no contexto global, uma vez que se consegue visualizar toda a
hierarquia simultaneamente e sem oclusões. Para realçar as zonas de interesse podem ser
incluídos mecanismos adicionais como: realização de ampliações; modificação dos valores
dos atributos cor e tamanho; visualização de informação complementar associada às zonas
de interesse; utilização de funções matemáticas para sobrevalorizar os elementos da área de
interesse reduzindo os elementos que não pertencem a essa área.
Uma aplicação de treemaps é apresentada em [Baker94] onde se descreve a visualização
de informação relativa à análise da evolução do código de um sistema. De um conjunto de
características disponíveis para análise, selecciona-se uma delas para definir a visualização,
isto é, aquela cujo valor determinará para cada componente a área que irá ocupar. Assim, a
44
área de representação rectangular é dividida em zonas rectangulares correspondentes aos
subsistemas que compõem o sistema e cuja área é proporcional ao valor determinado em
cada subsistema para a característica em estudo. Por sua vez, a área de cada subsistema é
dividida, segundo a direcção vertical pelo número de directorias que o compõem
(Fig. 2.30). Atendendo a que, neste caso, uma das dimensões dos rectângulos, a altura, é
constante, a variação da área dos rectângulos corresponde à variação da largura, facilitando
deste modo a comparação visual do valor desta característica em cada directoria. A área de
cada directoria pode ser ainda dividida horizontalmente para representar a característica em
estudo nos ficheiros que a compõem. Cada rectângulo pode também ser parcialmente
preenchido a cinzento numa área proporcional ao valor verificado por outra característica.
Outra opção de visualização disponível é a coloração dos rectângulos de acordo com o
valor de uma das característica em estudo. Mecanismos de ampliação e animação são
também incluídos.
A
C
B
D
Fig. 2.30 – Aspecto da técnica de [Baker94] aplicada a um sistema com 4 subsistemas
(A, B, C e D) cada um deles com várias directorias.
Outro exemplo de utilização de treemaps é descrito em [Wills98] aplicado à
visualização de agrupamentos hierárquicos. Neste tipo de agrupamentos constrói-se uma
árvore binária em que os nós folhas correspondem aos dados iniciais que se pretendem
agrupar e os nós internos representam agrupamentos dos dados. Cada nó interno guarda um
valor correspondente ao grau de dissimilitude entre os agrupamentos de cada ramo. Para a
visualização desta hierarquia são introduzidas algumas modificações na representação por
treemap. Em particular, utilizam-se ícones para representar os elementos que compõem os
agrupamentos dentro do rectângulo a que pertencem e o processo de divisão é modificado
para parar ao atingir um nó folha ou um nó com um grau de dissimilitude inferior ao fixado
no critério de divisão. Por outro lado, como interessa realçar a composição do agrupamento
e não a profundidade do nó que o representa, a alternância entre a divisão horizontal e
45
vertical é substituída pela divisão segundo a maior dimensão do rectângulo corrente.
Uma outra adaptação da representação com treemap é usada em [Jin97] para a
visualização de resultados de um jogo de ténis: TennisViewer. Neste caso pretende-se
realçar os resultados parciais: uma partida tem vários sets; um set, vários jogos; um jogo,
vários pontos. Assim, para cada nível de pontuação, é usado um plano translúcido em que
os rectângulos correspondentes aos nós desse nível são coloridos de acordo com o jogador
que ganhou a pontuação. O aspecto final é a soma das contribuições de todos os níveis.
Cada rectângulo contém também uma barra com a pontuação efectivamente verificada.
Para obter informação mais detalhada como, por exemplo, o número de serviços, é usada
uma lente mágica, técnica que será referida nos mecanismos de ampliação.
Fig. 2.31 – Cushion treemap [Wijk99a] (IEEE)
Um dos problemas apontados à visualização com treemaps é a dificuldade em apreender
a estrutura da árvore [Wijk99]. Neste tipo de representação são facilmente reconhecidos os
nós terminais, mas é menos evidente a identificação da subárvore a que pertencem. Para
tentar resolver este problema, Wijk et al. propõem uma adaptação na visualização de
treemaps, designada por cushion treemaps, que combina a atribuição de relevo aos
rectângulos que compõem a hierarquia com a utilização de um modelo de iluminação
[Wijk99]. Para gerar o relevo, em cada rectângulo obtido no processo de divisão recursiva
da área inicial, é efectuada uma deformação que o aproxima de uma superfície parabólica.
Na zona central do rectângulo é aplicado um deslocamento segundo zz sem afectar a altura
dos bordos do rectângulo. Deste modo, por efeito da iluminação acentua-se o contraste com
os rectângulos vizinhos. Ao dividir-se cada rectângulo, os novos rectângulos acumulam os
46
deslocamentos em zz dos que os antecedem na hierarquia contribuindo assim para separar
as subárvores em “cumes” distintos (Fig. 2.31).
No seguimento do trabalho de Wijk et al. é apresentada em [Bruls00] uma adaptação do
algoritmo de construção de treemaps de modo a evitar que os rectângulos relativos a nós
terminais sejam compridos e estreitos, o que torna difícil a sua selecção com o rato para
obtenção de detalhes a pedido. O processo de divisão dos rectângulos é alterado de modo a
tentar obter rectângulos cuja razão de aspecto13 seja tanto quanto possível próxima de 1,
abandonando a divisão alternada entre a direcção vertical e a horizontal em níveis
sucessivos da árvore. Em cada rectângulo, depois de determinada a área que os rectângulos
das subárvores descendentes devem ocupar, combinam-se divisões na vertical e na
horizontal de modo a obter para cada rectângulo uma razão de aspecto próxima de um. O
facto de num mesmo nível se juntarem divisões na vertical e na horizontal agrava o
problema da identificação da estrutura global da árvore. Para reduzir este problema são
criadas molduras que envolvem cada rectângulo. A espessura da moldura varia consoante o
nível da hierarquia a que corresponde o rectângulo. Os autores designaram a representação
construída por squarified treemap.
Em [Shneiderman01] argumenta-se que o processo de divisão proposto por Bruls et al.
conduz à construção de árvores que efectivamente reduzem a razão de aspecto dos
rectângulos obtidos, mas em contrapartida não mantém a ordem dos nós da árvore e, por
isso, pequenas alterações na estrutura da árvore podem conduzir a variações significativas
no aspecto da treemap. Neste artigo os autores propõem a construção de treemaps
ordenadas (ordered treemaps) através de dois algoritmos, pivot-by-size e pivot-by-middle,
que têm como objectivo minimizar a razão de aspecto e ao mesmo tempo manter juntos nós
adjacentes. Ambos os algoritmos são recursivos e em cada passo têm como entrada um
rectângulo e uma lista de elementos que está ordenada de acordo com um índice que indica
a ordem dos nós. A cada elemento da lista está associado um valor correspondente a uma
área. Um dos elementos da lista é escolhido para pivot: no algoritmo pivot-by-size é o
elemento com maior área e no algoritmo pivot-by-middle é o elemento que está no meio da
lista, ou melhor, na posição correspondente à divisão inteira do número de elementos por 2.
13
Considera-se neste caso a razão de aspecto definida como o maior dos quocientes altura/largura e
largura/altura.
47
O rectângulo dado é dividido em 4 rectângulos com a disposição indicada na figura 2.32.
Se o rectângulo dado tiver o lado maior segundo yy, a disposição dos rectângulos sofre uma
rotação de 90 graus. Ao elemento pivot corresponderá o rectângulo Rp e os restantes
elementos da lista são divididos em três listas L1, L2 e L3, associadas a R1, R2 e R3,
respectivamente. L1 contém os elementos com índice menor que o pivot. L2 e L3 são
construídas de modo a que razão de aspecto de Rp seja próxima de 1, contendo L2
elementos com índices inferiores aos de L3. O processo continua recursivamente para cada
um dos rectângulos R1, R2 e R3 se as listas associadas não forem vazias.
Rp
R1
R2
R3
Fig. 2.32 – Divisão do rectângulo inicial (Adaptado de [Shneiderman01])
Fig. 2.33 – Information Slice [Andrews98] (IEEE)
Outra representação de hierarquias, que em [Stasko00] é considerada uma forma
alternativa à técnica de preenchimento de áreas utilizada pela treemap, consiste em dispor a
hierarquia numa área circular. Em [Andrews98], onde esta técnica é designada por
information slice, é apenas utilizada a área dum semicírculo. A raiz é colocada no centro e
cada nível da hierarquia ocupa uma coroa semicircular cuja área é dividida pelas suas
subárvores proporcionalmente ao valor dum atributo da informação. Os descendentes de
48
um nó ocupam na coroa seguinte a área adjacente ao arco determinado por esse nó. Por
conseguinte, uma subárvore fica contida num sector circular. O número de coroas, isto é, o
número de níveis que são visualizados é fixado previamente. Para permitir visualizar com
mais detalhe uma subárvore usa-se uma segunda janela onde se desenha essa subárvore
usando a mesma técnica (Fig. 2.33). Ou seja, a raiz da subárvore é colocada no centro de
semicírculo e expande-se a subárvore. Nesta subárvore é possível seleccionar novamente
outra subárvore para expandir, e assim sucessivamente. Deste modo é possível também
visualizar em janelas sucessivas árvores cuja profundidade seja superior ao número
máximo de coroas a visualizar numa janela. No entanto, apenas são visíveis
simultaneamente duas janelas, o que significa que se houver ramos muito profundos não é
possível visualizar ao mesmo tempo todos os nós desde a raiz até às folhas.
(a)
(b)
Fig. 2.34 – Representação de hierarquias com preenchimento de áreas: (a) área triangular;
(b) área circular combinada com desenho de histograma em cada nó [Chuah98b] (IEEE)
Chuah utiliza também a técnica de preenchimento de áreas para a representação de
hierarquias e propõe duas formas de disposição diferentes [Chuah98b]. A primeira dispõe a
hierarquia numa área triangular: a raiz é colocada junto a um vértice e o triângulo é
dividido em faixas horizontais correspondendo cada uma delas a um nível da hierarquia.
Cada uma das faixas é subdividida verticalmente de acordo com o número dos seus
descendentes (Fig. 2.34(a)). Na segunda forma de disposição da hierarquia é usada uma
área circular a que se retira um sector circular para separar o início da subárvore esquerda
do fim da subárvore direita. A atribuição de áreas a cada um dos nós da árvore é idêntica à
apresentada em [Andrews98]. Chuah propõe ainda uma variante a esta segunda forma de
49
representação, que consiste em desenhar um histograma na área correspondente a cada nó
da hierarquia. O exemplo apresentado no artigo é relativo à hierarquia de trabalhadores de
uma empresa e para cada nó é desenhado o gráfico relativo ao volume de correio
electrónico recebido ao longo do dia pelo empregado que lhe está associado (Fig. 2.34(b)).
Um dos problemas apontados na visualização de hierarquias em áreas circulares é a
dificuldade em distinguir as áreas mais pequenas, normalmente associadas a nós terminais,
que se encontram na periferia [Stasko00]. Para minorar este problema estes autores
propõem três formas de ampliação para realçar um nó seleccionado e os seus descendentes,
mantendo o contexto. Numa delas o círculo inicial é reduzido e deslocado para junto do
bordo da área de desenho deixando espaço livre para ampliar a zona da árvore
seleccionada. Outra das formas de ampliação propostas faz também a redução do círculo
inicial, mas mantêm-no no centro da área de desenho e a região a ampliar é expandida em
redor do círculo central. A terceira forma de ampliação, ao contrário de reduzir, expande o
círculo inicial de modo a abrir um círculo vazio no seu interior onde se faz a ampliação da
zona seleccionada.
Em resumo, a representação de estruturas hierárquicas por meio de grafos não permite a
visualização simultânea de um número elevado de nós. Para resolver este problema vários
tipos de representação têm sido propostos. Para além da representação através de grafos
bidimensionais, a maior parte das representações hierárquicas pode enquadrar-se pelo
menos num dos seguintes tipos: representações tridimensionais, representações hiperbólicas, representações incompletas e representações por preenchimento de áreas. As
primeiras, de que a árvore de cones é o modelo mais citado e com mais versões, têm
normalmente os problemas de oclusão comuns às representações tridimensionais. As
segundas geram visualizações com maiores distorções. As representações incompletas não
mostram todos os nós da árvore simultaneamente, como o CCT onde apenas está visível o
caminho seleccionado ou como o Cheops em que o mesmo elemento gráfico representa
diferentes nós. Quanto às representações por preenchimento de áreas destaca-se o modelo
treemap que tem uma apresentação mais compacta e que aproveita de forma mais eficiente
a área de desenho, mas, em contrapartida, é aquele em que a estrutura da árvore é mais
difícil de apreender, o que tem motivado o desenvolvimento de múltiplas variantes deste
modelo.
50
2.1.5
Texto
A visualização de texto é de uma importância crescente, uma vez que é o tipo de
informação básica que se pesquisa na World Wide Web ou em bibliotecas digitais [Card99].
Há que distinguir, contudo, duas abordagens distintas: a visualização de texto estruturado
como uma sequência de linhas e a visualização do conteúdo semântico de um ou mais
documentos. No primeiro caso, está subjacente o tratamento de uma lista de linhas,
relativamente às quais existe, na maior parte das vezes, informação associada. No segundo
caso, interessa mostrar a estrutura de um documento ou, mais frequentemente, a
organização e ligação de um conjunto de documentos. Em qualquer dos casos, serão
referidos os trabalhos considerados mais relevantes ou pelos mecanismos de interacção
usados ou pelo aspecto da visualização obtida.
Listas de texto
A lista de ficheiros de uma directoria é um exemplo de uma sequência de linhas sobre as
quais são conhecidos atributos. Chimera et al. visualizam o valor destes atributos através de
barras de valores (value bars) [Chimera92]. As barras de valores são faixas verticais,
idênticas a barras de deslocamento (scrollbars), que estão encostadas à direita da janela de
texto junto da barra de deslocamento, caso exista. Para cada atributo partilhado pelos
elementos da lista existe uma barra de valores (Fig. 2.35). Em cada barra são visualizados
os elementos da lista, pela ordem em que aparecem, através de um rectângulo cuja altura é
proporcional ao peso desse elemento. Para cada atributo, o peso de um elemento é
determinado tendo em atenção o seu valor relativamente à soma dos valores de todos os
elementos. Como é fixada uma altura mínima para o rectângulo, apenas são representados
na barra de valores aqueles elementos cujo valor do atributo corresponde a um valor
susceptível de ser representado. Se a lista for muito extensa, nem todas as linhas da lista
estão visíveis simultaneamente na janela de texto. Para assinalar as linhas visíveis, cada
barra de valores tem uma linha vertical que intersecta todos os rectângulos e que está
realçada na zona correspondente às linhas visíveis. Quando um elemento da lista é
seleccionado, os rectângulos relativos a esse elemento em cada uma das barras são
realçados. Do mesmo modo, se um rectângulo é seleccionado, a linha correspondente a esse
51
rectângulo é realçada e, além disso, todas as linhas são deslocadas de forma a que essa linha
fique colocada no centro da janela de texto.
Fig. 2.35 – Barras de valores [Chimera92]
(ACM)
Fig. 2.36 – LensBar [Masui98] (IEEE)
Outra forma de visualizar listas de texto é a LensBar, [Masui98], que é composta por
uma janela com uma barra de deslocamento, que permite percorrer toda a lista, e uma linha
para a entrada de texto usada para a pesquisa e filtragem de informação. A porção de texto
que está visível na janela e a sua localização em relação ao total são traduzidos pela
dimensão e posição de um rectângulo na barra de deslocamento (Fig. 2.36). O fundo desta
barra reflecte a quantidade de elementos da lista que estão disponíveis. Isto é, se não tiver
sido feita nenhuma pesquisa, todos os elementos estão disponíveis e o fundo é todo da
mesma cor. Caso contrário, o fundo apresenta-se com riscas horizontais correspondentes à
posição das linhas seleccionadas pela pesquisa em relação ao número total de linhas
existentes. A forma de pesquisar tem a particularidade de, no caso de nenhum dos
elementos da lista verificar o critério estabelecido, serem seleccionadas linhas que diferem
dele no máximo uma letra. Para chamar a atenção para essa ocorrência, a área de entrada de
texto fica sombreada. Outra característica relevante da LensBar é permitir limitar a
52
quantidade de informação representada através da atribuição de valores, designados por
grau de interesse, a cada uma das linhas da lista. Só os elementos com grau de interesse
superior ao nível fixado (zoom level) são representados. Este nível é estabelecido à custa do
grau de interesse do elemento da linha seleccionada e é modificado efectuando movimentos
horizontais do rato sobre a linha: movimento para a direita diminui o valor do nível de
interesse e movimento para a esquerda aumenta esse nível.
Fig. 2.37 – SeeSoft [Eick92] (IEEE)
No sistema SeeSoft [Eick92], para a visualização de software, o texto é também tratado
como uma sequência de linhas. Porém, verifica-se que neste caso, comparativamente aos
anteriores, é mais importante visualizar o texto no seu todo. Os ficheiros são representados
por colunas estreitas, cada ficheiro pode ocupar mais do que uma coluna e estas são
encabeçadas pelo identificador do ficheiro a que correspondem (Fig. 2.37). Cada linha de
código é representada por uma linha horizontal com um pixel de espessura [Eick94c].
Como opção, o início e extensão de cada linha podem reproduzir o aspecto da linha de
código a que correspondem. A cor duma linha reflecte o valor de um dos atributos da linha
de código que representa como, por exemplo, o tempo decorrido desde a última alteração.
Além da representação compacta de vários ficheiros, os autores realçam as capacidades de
interacção disponíveis: passando o cursor sobre uma linha de código, obtém-se informação
sobre os atributos dessa linha; actuando sobre uma escala de cores, omitindo uma ou mais
zonas, tornam-se invisíveis as linhas que eram representadas por aquela(s) cor(es);
53
carregando num botão, abre-se uma nova janela onde se mostra o texto correspondente a
uma zona seleccionada. Em [Eick94a] é ilustrada a aplicação do sistema SeeSoft a outras
fontes de texto e em [Antis96] é utilizada a mesma técnica na visualização de bases de
dados.
Colecções de documentos
Outro aspecto da visualização de texto é a organização de conjuntos de documentos.
Rennison desenvolveu um sistema para a visualização de artigos de vários autores, Galaxy
of News, onde são usados diferentes níveis de detalhe e se mantém o contexto
[Rennison94]. A partir de metainformação sobre os artigos como, por exemplo, palavras
chave, assunto, localização, é construída uma rede de ligações entre os vários artigos.
Usando as ligações estabelecidas é criada uma distribuição espacial dos elementos
(Fig. 2.38). Existe uma hierarquia de representações com 3 níveis: no primeiro, uma
hierarquia de palavras chave partindo das mais gerais para as mais específicas; no segundo,
os títulos dos artigos; no terceiro, o texto dos artigos. Inicialmente é apresentado todo o
espaço de informação no nível menos detalhado, isto é, são mostradas as palavras chave
mais gerais que correspondem a raízes de agrupamentos. Usando o rato é possível
seleccionar e ampliar/reduzir um foco de interesse. Em ampliações sucessivas, surgem
primeiro subtópicos do agrupamento, depois, títulos dos artigos e, finalmente, o texto dos
artigos. A palavra chave do agrupamento é mantida, apesar de se tornar menos nítida, para
manter o contexto. A disposição dos elementos no ecrã não é linear deixando mais espaço
para os elementos que estão na zona central simulando um efeito “olho de peixe”.
Fig. 2.38 – Galaxy of News [Rennison94] (ACM)
54
Fig. 2.39 – ThemeScape [Wise95] (IEEE)
Em [Wise95] são propostas duas formas para a visualização de colecções de
documentos, uma delas com uma designação semelhante à usada em [Rennison94]. O
objectivo dos autores é representar um grande conjunto de documentos de forma a que o
seu conteúdo possa ser expresso pela representação gráfica, dispensando a sua leitura. O
primeiro passo é a utilização de técnicas de processamento de texto para a extracção de
atributos semânticos e cálculo de estatísticas a partir das quais são definidas as
visualizações. A determinação da localização espacial de cada documento passa pela
construção de um vector à custa dos valores obtidos para cada uma das características em
estudo. Como normalmente a dimensão deste vector é superior a três será necessário
projectar os elementos num espaço de menor dimensão. Quando o número de documentos é
muito elevado, fazem-se agrupamentos de documentos visualizados por um único objecto
gráfico. São propostas duas formas de visualizar os documentos. A primeira, bidimensional
e designada por Galaxies, é uma nuvem de pontos em que os documentos e agrupamentos
são representados por pontos. As suas posições são determinadas tendo em atenção o
conteúdo dos documentos de forma a mostrar como estão relacionados. Numa primeira
análise são revelados tópicos e o número de documentos associados a esses tópicos. Existe
um conjunto de ferramentas auxiliares que, além da exploração individual de cada
elemento, permite, por exemplo, fazer restrições temporais gerando a imagem por ordem
cronológica dos documentos e eliminando alguns deles. A segunda visualização proposta,
ThemeScapes, é uma representação tridimensional: é usada uma superfície 3D em que os
55
picos representam temas distintos e cuja altura revela a preponderância do tema no
conjunto de documentos em estudo (Fig. 2.39). A localização dos vários temas mostra a
relação entre eles. Neste tipo de representação são também usados mecanismos de
interacção como, por exemplo, a realização de cortes, para analisar com mais detalhe a
informação.
Como foi evidenciado relativamente ao artigo de Wise et al., para se estabelecerem
relações entre documentos, ou entre secções ou parágrafos de um mesmo documento, é
necessário começar pela aplicação de algoritmos que determinam o grau de similaridade
entre eles. Salton et al. debruçam-se sobre este assunto, utilizando uma técnica baseada na
construção de vectores de frequência de termos. Partindo destes vectores determinam uma
medida de similaridade entre documentos [Salton94] [Salton95]. A relação entre
documentos, ou entre partes de um único documento, é mostrada graficamente através de
um grafo 2D em que os nós, dispostos circularmente, representam os documentos e as
ligações entre eles revelam valores de similaridade superiores a um limiar fixado
[Salton95].
Uma representação 2D, map display, é também usada por Lin para mostrar a relação
entre vários documentos e um conjunto de tópicos [Lin92]. Depois de seleccionar um
conjunto de temas e identificar quais os temas tratados em cada documento, é aplicado um
algoritmo baseado em redes neuronais para construir a visualização. Como resultado
obtém-se um rectângulo dividido em zonas, cada uma delas associada a uma palavra chave
(Fig. 2.40). A área de uma zona revela o número de documentos associados e a sua
localização traduz a ligação com outras palavras chave.
Fig. 2.40 – Map display [Lin92] (IEEE)
56
No sistema Bead [Chalmers96] é usada uma representação tridimensional para a
visualização de documentos. Cada documento é representado por um cubo num espaço
tridimensional cuja posição reflecte a sua similaridade com os restantes, isto é, ficam mais
próximos os que estão mais relacionados. Tendo como ponto fulcral a obtenção de imagens
inteligíveis, este artigo foca a utilização de um conjunto de técnicas para mostrar
informação sobre os documentos em estudo sem sobrecarregar a imagem final. A obtenção
de mais detalhe sobre um documento, que neste caso se resume à obtenção do título do
documento, consegue-se seleccionando o cubo que o representa, ou, dinamicamente, de
acordo com a posição do utilizador, a qual determina que em cada instante sejam mostrados
no máximo três títulos de documentos na sua vizinhança. É utilizado texto 3D para a sua
dimensão reflectir a posição do objecto em relação ao observador. Para traduzir a
frequência relativa de selecção de cada objecto em pesquisas sucessivas, é colocado sob o
objecto um disco em que a dimensão do raio é actualizada à medida que são efectuadas
novas pesquisas. As pesquisas são efectuadas, seja usando uma janela própria para esse
efeito, seja seleccionando palavras dos títulos mostrados na imagem. Os objectos
correspondentes aos documentos que verificam a pesquisa mudam de cor. Propriedades
comuns dos documentos são também realçadas criando agrupamentos. Estes são baseados
na proximidade geométrica já que a localização dos objectos tem em atenção a sua
similaridade. Os agrupamentos são identificados por atribuição de cores distintas às zonas
por eles ocupadas.
Alguns dos exemplos de visualizações de colecções de documentos estão relacionados
com o resultado de pesquisas em bases de dados. Olsen et al. referem a utilização de
espaços multidimensionais para a representação do resultado destas consultas [Olsen93]. A
cada palavra chave é associado um eixo e as coordenadas da posição de um documento no
espaço correspondem ao número de ocorrências das palavras chave. Contudo, se forem
utilizadas muitas palavras chave, é necessário fazer a projecção destes espaços em espaços
2D ou 3D, o que dificulta a percepção da posição dos documentos no espaço e por
conseguinte a sua relação com as palavras chave. O sistema VIBE, desenvolvido por estes
autores, propõe uma visualização 2D que assenta em pontos de interesse caracterizados por
um conjunto de palavras chave. Estes pontos de interesse são representados por um ícone
(uma circunferência) cuja posição é atribuída pelo utilizador. Para cada documento é
57
construído um vector, que em cada componente guarda um valor que exprime a relevância
desse documento relativamente às palavras chave de um ponto de interesse. A posição
desse documento é obtida à custa desse vector: se o documento está relacionado apenas
com um ponto de interesse, então o ícone que o representa (um rectângulo) é colocado
sobre esse ponto de interesse; caso contrário, a sua posição reflecte o peso de cada um dos
pontos de interesse. O tamanho do ícone é função dos valores absolutos do vector, isto é,
expressa a relevância do documento. Informação adicional sobre cada documento é obtida
seleccionando o seu ícone.
Neste tipo de visualização é por vezes difícil identificar quais os pontos de interesse que
contribuem para a localização de um documento, visto que essa localização pode resultar da
influência de diferentes combinações de pontos de interesse. Analogamente, nem sempre se
distinguem quais os documentos associados a cada ponto de interesse. Para minorar este
problema, é possível mover um ponto de interesse e observar quais os documentos que
também se deslocam.
No sistema LyberWorld, Hemmje et al. optam por usar um grafo, no espaço tridimensional, para explicitamente ligarem com arestas os documentos às suas palavras chave
[Hemmje94]. O comprimento de uma aresta é inversamente proporcional ao grau de
relevância da palavra chave no documento, isto é, quanto maior é a relevância, menor a
distância entre os dois nós. No entanto, este tipo de representação levanta alguns
problemas, como a determinação da disposição no espaço dos nós do grafo, contemplando
o agrupamento dos que estão relacionados e evitando o cruzamento de arestas. Por este
motivo, os autores apresentam uma adaptação da árvores de cones para construir o grafo
que visualiza a exploração do conteúdo da base de dados. Começando a pesquisa por uma
palavra chave, o nó que representa essa palavra será a raiz da árvore. Os descendentes deste
nó serão os documentos que estão associados à palavra chave. Ao seleccionar um nó do
nível seguinte, isto é, um documento, criam-se os nós com as palavras chave associadas a
esse documento e assim sucessivamente. Existem assim, alternadamente, níveis com
documentos e níveis com palavras chave. Se, por exemplo, ao expandir um nó relativo a um
documento já existir num nível anterior um nó a representar uma das suas palavras chave,
cria-se um novo nó relativo a essa palavra chave, mas com uma ligação ao nó já existente
(Fig. 2.41(a)). Os nós repetidos são identificados com uma cor diferente.
58
Outra opção de visualização disponível neste sistema é a esfera de relevância
(RelevanceSphere), que se destina a avaliar, num conjunto de documentos, o grau de
relevância de cada documento relativamente a determinadas palavras chave. Os nós
relativos às palavras chave são dispostos sobre uma superfície esférica e os nós associados
aos documentos são colocados no seu interior (Fig. 2.41(b)). A posição de cada documento
é determinada em função da métrica usada para calcular a relevância das suas palavras
chave e de dois parâmetros que podem ser ajustados pelo utilizador. Estes parâmetros têm a
ver com a densidade dos nós e o factor de atracção das palavras chave, isto é, a
preponderância a atribuir a essa palavra relativamente às outras.
(a) Árvore de documentos e palavras
chave
(b)RelevanceSphere
Fig. 2.41 – LyberWorld [Hemmje94] (ACM)
Em [Havre01] apresenta-se uma visualização, que os autores designam por Sparkler,
para mostrar o resultado de múltiplas pesquisas efectuadas sobre uma colecção de
documentos. Em cada uma das pesquisas determina-se qual a relevância de um documento
relativamente a essa pesquisa. O resultado da pesquisa é mostrado usando um ícone
triangular a partir do qual são alinhados, segundo a orientação de uma semi-recta, pequenos
quadrados que representam os documentos. A distância dos quadrados ao ícone depende da
relevância do documento na pesquisa. Os documentos com igual relevância são colocados à
mesma distância do ícone, distribuindo-se ao longo de um arco centrado na semi-recta com
origem no ícone. Para visualizar o resultado de várias pesquisas (Fig. 2.42) juntam-se as
suas representações, colocando no centro da figura os ícones triangulares de onde divergem
as representações dos documentos que lhes estão associados. São incluídas formas de
59
comparar o comportamento dos documentos nas várias pesquisas. Uma delas consiste em
realçar em todas as pesquisas um documento seleccionado numa delas. Outra forma de
analisar o comportamento dos documentos em todas as pesquisas consiste em seleccionar o
raio de um círculo, sendo realçados os documentos que se encontram dentro do círculo em
todas as pesquisas. Esta regra pode ser alterada, diminuindo o grau de exigência, por
exemplo, pode requerer-se que o documento esteja dentro do círculo apenas em três
pesquisas.
Neste artigo esta forma de visualização é também aplicada para mostrar os resultados de
pesquisa efectuadas na Internet através de motores de busca.
Fig. 2.42 – Sparkler [Havre01] (IEEE)
Colecções de documentos e a Internet
Os trabalhos mais recentes sobre visualização de conjuntos de documentos estão
relacionados com a gestão de páginas ou documentos obtidos pela Internet. É o caso do
artigo de Rohrer et al. onde se descreve a visualização de resultados de uma pesquisa de
documentos efectuada por inserção de uma palavra chave num motor de busca [Rohrer97].
Após a utilização de um algoritmo para agrupamento dos documentos relacionados, cada
agrupamento é associado a um tópico e é representado por uma esfera no espaço
tridimensional com coordenadas esféricas. A sua posição no espaço é determinada por um
vector com origem no centro do espaço, sendo a direcção, o sentido e o comprimento
determinados em função da afinidade do tópico que a esfera representa em relação à
palavra chave que motivou a pesquisa. Deste modo, as esferas que representam documentos
60
mais relevantes estarão mais próximas do centro do espaço. Outro aspecto a salientar neste
trabalho é a variação do nível de detalhe. Ao navegar no espaço, a aproximação a uma
esfera determina a alteração do seu aspecto. Primeiro a esfera torna-se transparente e
mostra os termos que levaram à formação do agrupamento. Quando a distância à esfera
diminui ainda mais, são desenhados cubos que representam os documentos que esta reúne.
Ao seleccionar um cubo é activada a ligação ao documento.
O sistema Hy+ [Mendelzon96] permite a visualização de ligações entre documentos. As
representações usadas centram-se na utilização de grafos 2D e o autor destaca, como pontos
principais a estudar nesta abordagem, a disposição dos nós, o seu agrupamento, a focagem
de nós mais relevantes e a interacção. É realçado o facto de que a disposição dos nós do
grafo, além de condicionada pelo grande volume de informação a visualizar, deve depender
também da tarefa a desempenhar. Para reduzir o volume de informação representado são
usadas técnicas de agrupamento. Cada agrupamento pode ser expandido para obter mais
informação sobre os nós que o constituem. Este sistema integra um mecanismo de consulta
que selecciona os nós relevantes para determinada tarefa. Graficamente estes nós são
desenhados com maior dimensão ou ligados com linhas mais grossas. Sob o grafo são
incluídos histogramas relativos a atributos dos nós, como o tamanho do documento, e das
ligações, como a data da última utilização. Carregando numa barra dum histograma são
realçados os nós e ligações a que se refere. Reciprocamente, passando com o cursor sobre
um nó são realçadas as barras dos histogramas a que está associado e, além disso, é
mostrada mais informação sobre esse nó.
Em [Card96] são focados os problemas de organização de documentos obtidos e de
páginas visitadas na Internet. Como o utilizador tende a interagir repetidamente com
pequenos conjuntos de informação, os autores debruçam-se sobre uma solução para o
acesso rápido a um conjunto particular de páginas. É proposta a passagem da página, como
unidade de interacção, para uma agregação de páginas relacionadas formando um livro, o
WebBook, que pode ser tratado como uma unidade (Fig. 2.43), e é criado um espaço de
trabalho, designado por Web Forager, com vários WebBooks, que permite um acesso
rápido a várias páginas. Diferentes critérios podem ser usados para escolher as páginas que
formam um livro. Cada página é representada como a página de um livro num espaço
tridimensional e é usada animação para simular o folhear do livro.
61
Fig. 2.43 – WebBook [Card96] (ACM)
Fig. 2.44 – Data Mountain [RobertsonG98] (ACM)
Robertson et al. propõem uma forma de visualizar documentos num espaço
tridimensional que é ilustrada com a gestão de páginas obtidas pela Internet
[RobertsonG98]. Neste sistema, designado Data Mountain, cada página é representada pela
sua imagem reduzida que é colocada interactivamente pelo utilizador sobre um plano
inclinado (Fig. 2.44). Este plano equivale ao tampo rectangular de uma mesa que estreita à
medida que se afasta do utilizador, para simular o efeito de perspectiva. Em vez de serem
empilhadas sobre a mesa, as páginas são dispostas de frente para o utilizador para
facilmente serem identificadas. As páginas mais afastadas têm uma dimensão mais reduzida
e podem ser total ou parcialmente encobertas por outras. Cabe ao utilizador organizar a
arrumação das páginas sobre a mesa. Ao navegar sobre as páginas é mostrado o seu título e
quando uma página é seleccionada sobrepõe-se às restantes, sendo representado o seu
62
conteúdo. Em [Czerwinski99] descreve-se um mecanismo, designado por Implicit Queries,
que junta ao Data Mountain a capacidade de realçar as páginas que estão relacionadas com
aquela que está seleccionada.
A interface do Data Mountain apresenta analogias com a organização de documentos
em pilhas proposta em [Mande92]. Neste trabalho o utilizador dispõe os documentos em
pilhas através do arrastamento da imagem reduzida da primeira página do documento.
Síntese
Um aspecto marcante na visualização de documentos é a necessidade de recorrer a
algoritmos que analisam o conteúdo dos documentos para detectar similaridades, dentro do
mesmo documento ou entre documentos distintos. Os resultados da aplicação destes
algoritmos afectam fortemente o aspecto da visualização, uma vez que condicionam a
disposição dos elementos no espaço. Esta característica evidencia o carácter abstracto deste
tipo de informação, que não tem à partida qualquer representação directa, tanto em termos
de elementos gráficos, como de posicionamento desses elementos. Verifica-se por isso uma
grande diversidade de mapificações onde se incluem representações basicamente textuais,
como a Galaxy of News, reproduções reduzidas dos documentos, no WebBook e Data
Mountain, e representações mais comuns como grafos e nuvens de pontos.
Outro tipo de problemas é colocado com a visualização de linhas de texto. Neste caso é
relevante ter informação sobre a relação entre o conteúdo visível e o seu todo. Além disso,
quando há informação associada às linhas, é necessário ter mecanismos para a representar.
Neste aspecto há afinidades com o tratamento de dados multivariados, uma vez que é
necessário representar a sequência de valores associada a cada linha, havendo, no entanto,
uma referência espacial implícita determinada pela sequência da leitura.
Outros aspectos referidos sobre a visualização de texto são comuns à visualização de
outros tipos de informação, como a necessidade de agrupar elementos para reduzir o
volume de informação ou interagir com a representação gráfica para obter mais informação.
63
2.2
Interacção e aspectos relacionados
A interacção com as imagens produzidas no processo de visualização permite em geral
obter mais informação. Em particular, é possível explorar com mais detalhe elementos ou
zonas de maior interesse. A obtenção de mais detalhe passa normalmente ou pela realização
de ampliações que reduzem a área a visualizar, ou pela redução do número de elementos
representados usando filtragem, ou pela adaptação da representação ao interesse do
utilizador, ou ainda pela selecção de elementos para detalhes a pedido, dando origem com
frequência à abertura de outra janela com informação detalhada sobre o elemento
seleccionado. Nesta secção focaremos essencialmente diferentes técnicas de ampliação e
filtragem e, além disso, destacaremos também dois assuntos profundamente relacionados: a
utilização de múltiplas representações e o controlo da densidade de informação.
A utilização de múltiplas representações com diferentes níveis de detalhe para a mesma
informação, não é em si uma forma de interacção, mas é visível como resultado de
interacção com a imagem, por exemplo, na sequência de ampliações ou reduções ou na
geração de visualizações que incorporem conhecimento sobre o interesse do observador nos
elementos a visualizar. Por este motivo incluímos este assunto na secção de interacção.
Quanto ao controlo da densidade de informação, este é usualmente realizado pelo
utilizador à custa de filtragem. No entanto, alguns autores têm proposto formas alternativas
para controlar a densidade de informação de forma automática e referiremos também esses
trabalhos nesta secção.
2.2.1
Ampliação: detalhe e contexto
A realização de ampliações ou reduções (zoom)14 pode resultar apenas na mudança de
escala dos elementos desenhados mantendo-se o nível de detalhe, ou pode provocar
variações, quer no nível de detalhe, quer no tipo de representação. As ampliações do
primeiro tipo são denominadas ampliações gráficas (graphical zoom) [Frank94] ou
ampliações geométricas (geometric zoom) [Furnas95]. Quanto às do segundo tipo, em
[Perlin93] são designadas por ampliações semânticas (semantic zoom) e em [Frank94] por
14
Em alguns casos, para simplificar a escrita, usar-se-á a palavra ampliação para traduzir a palavra zoom
com o significado de operação com variação de escala.
64
ampliações inteligentes (intelligent zoom). Adoptaremos a primeira designação porque, por
um lado, é a denominação mais utilizada por outros autores, e, por outro lado, a expressão
intelligent zoom é usada por Bartram et al. para denominar um método específico para
ampliação e escolha de representação baseado no conceito de vistas olho de peixe
[Bartram94]. Na ampliação gráfica a quantidade de informação representada diminui visto
que se reduz o número de elementos representados e se mantém a quantidade de
informação dos que são desenhados. Pelo contrário, na ampliação semântica aumenta o
detalhe dos objectos representados podendo assim manter-se ou mesmo aumentar a
quantidade de informação representada. Para a realização deste tipo de ampliação é
necessário definir múltiplas representações com diferentes níveis de detalhe, assunto que
será abordado posteriormente.
Outro problema que se coloca na realização de ampliações é o da ligação da zona
ampliada com o resto da informação. Uma solução consiste em visualizar apenas uma
pequena região de cada vez e permitir interactivamente realizar deslocamentos, quer em
altura, quer em largura, para visualizar a área envolvente. Contudo, não há uma visão
global de toda a informação. Outra solução é a utilização de duas vistas separadas: uma que
contém todo o espaço em escala reduzida e outra com uma vista detalhada de uma zona
seleccionada. Neste caso é necessário integrar mentalmente a zona ampliada no seu
contexto. Outra alternativa é a visualização de zonas ampliadas incluídas no contexto
global de forma a que o utilizador tenha a noção do conjunto de toda a informação a
visualizar. Para melhor aproveitar o espaço do ecrã, esta abordagem conduz, na maior parte
dos casos, a uma imagem final com algumas distorções.
Ampliação sem inclusão de contexto global
Quando não há uma visão de conjunto de toda a informação, a realização de ampliações
origina problemas de orientação no espaço. Furnas e Bederson propõem a construção de
diagramas espaço-escala (space-scale diagrams) para compreender a navegação quer ao
nível de deslocamentos no espaço 2D, quer ao nível da variação de escala [Furnas95]. Para
uma imagem bidimensional é construído um diagrama tridimensional em que a terceira
dimensão está associada à variação da escala. Na figura 2.45 mostra-se um exemplo de uma
imagem 2D e do correspondente diagrama espaço-escala onde se incorporam as diferentes
65
possibilidades de ampliação ou redução. A um ponto da imagem 2D corresponde no
diagrama um raio que liga todos os transformados desse ponto nos diferentes planos.
(a)
(b)
Fig. 2.45 – Diagrama espaço-escala (Adaptado de [Furnas95])
Neste diagrama a janela do utilizador é representada por um rectângulo horizontal. A sua
colocação sobre os planos do diagrama mostra o resultado da execução de panorâmicas e
ampliações. Na figura 2.45(b) a janela do utilizador está assinalada com um bordo mais
grosso.
(c)
(b)
(a)
Fig. 2.46 – Diagrama espaço-escala bidimensional (Adaptado de [Furnas95])
Estes diagramas podem ter uma representação bidimensional indicando apenas uma
dimensão do espaço e usando a outra dimensão para a escala. A janela do utilizador é
representada por um rectângulo estreito onde são visíveis os raios que a atravessam. Na
figura 2.46 estão representados quatro raios correspondentes a outros tantos pontos: em (a)
são visíveis os quatro raios, em (b) dois raios e em (c), onde a ampliação é maior, apenas
um raio é visível.
Na representação bidimensional é mais fácil a marcação da trajectória da janela sobre o
diagrama, identificando a sequência de panorâmicas e ampliações: um deslocamento na
horizontal indica uma panorâmica e uma movimentação na vertical corresponde a uma
variação de escala que, se for efectuada ao longo de um raio, mantém alguma da
informação. Esta característica permite usar estes diagramas para determinar qual a melhor
sequência de acções para alcançar outra zona do espaço com um nível de detalhe diferente.
66
Estes diagramas podem também ser usados para evidenciar o aumento de detalhe em
ampliações semânticas ou as distorções na localização dos elementos nas vistas olho de
peixe.
Os diagramas espaço-escala são usados no editor gráfico MuSE [Furnas98] que permite
associar a um objecto representações diferentes consoante a escala, preparando assim a
possibilidade de execução de ampliações semânticas. O editor combina duas janelas: uma
onde são desenhadas as representações e outra que contém um diagrama espaço-escala,
onde interactivamente se assinala a que escala ou intervalos de escala corresponde a
representação da primeira janela. Este editor permite também, através do diagrama espaço-escala, definir e guardar em ficheiro uma sequência de acções de panorâmica e variação
de escala. Uma das dificuldades observadas na utilização dos diagramas prende-se com o
facto de apenas ser mostrado o eixo dos xx, o que provoca no utilizador um sentimento de
desorientação relativamente à componente em yy.
Um aspecto interessante evidenciado neste artigo é a técnica de interacção aplicada na
variação de escala. Esta técnica, que os autores designam por DMURA (Direct
Manipulation of a Usefully Reified Abstraction), consiste em apresentar graficamente um
conceito ou atributo abstracto como uma dimensão espacial que pode ser manipulada.
Neste caso esta estratégia é aplicada associando a escala ao eixo vertical do diagrama,
enquanto que o eixo horizontal está associado a uma componente da localização espacial.
Os mesmos autores apresentam em [Furnas00] outra forma de assinalar as variações de
escala através da utilização de som.
Em [Jul98] os diagramas espaço-escala são usados para acompanhar a descrição de
ajudas para a navegação em espaços multiescala, isto é, espaços onde é possível variar a
escala e o nível de detalhe da representação. Os autores focam o problema que se coloca
quando, ao navegar num espaço com uma única janela, se perde a noção do contexto e não
há pistas para basear as decisões para a movimentação nesse ambiente. Este problema, que
designam por desert fog, é mais comum em espaços multiescala onde a movimentação
incorpora panorâmicas e variações de escala. As causas do desert fog ocorrem, por
exemplo, por em determinadas escalas de representação os objectos estarem de tal modo
distantes que a janela não contém nenhum deles, e pelo facto de, para cada objecto, haver
uma limitação nas dimensões máxima e mínima das suas representações, o que os torna
67
invisíveis nas escalas onde não se verificam as dimensões adequadas. Para resolver este
problema os autores propõem a utilização do chamado resíduo multiescala (multiscale
residue).
O conceito de resíduo (residue), ou pista (scent), é introduzido por G. Furnas no âmbito
da análise da navegação de estruturas de informação [Furnas97]. Um resíduo indica que
determinado alvo é atingido seguindo a estrutura numa dada direcção. Os resíduos
multiescala assinalam a existência de um objecto quando ele não está visível por a escala
não ser adequada para a sua representação. Contudo, a marcação individual de todos os
objectos pode sobrecarregar demasiado a imagem. Torna-se, assim, necessário estruturar a
informação de modo a agrupar os objectos para partilharem resíduos. Há duas formas
possíveis de agrupamento. A primeira faz o agrupamento dos objectos tendo como base a
distância entre eles e, recursivamente, junta grupos, formando uma hierarquia de grupos.
Um resíduo é representado por uma marca gráfica que assinala um agrupamento. No
entanto, levantam-se dois problemas: onde localizar a marca e que nível de hierarquia
mostrar num dado instante. A segunda forma de agrupamento baseia-se no conteúdo da
janela, determinando áreas que contêm objectos, designadas zonas críticas (critical zones).
Na janela do utilizador delimita-se com um rectângulo a zona que contém objectos. Esta
zona pode ser subdividida em zonas mais pequenas. Uma zona crítica que inclua toda a
informação disponível é delimitada com uma cor diferente para avisar o utilizador que não
há objectos fora daquela zona. Se numa janela não é assinalada nenhuma zona crítica, então
é necessário fazer uma redução para englobar uma área maior e encontrar uma zona crítica.
Em último caso será necessário uma visão de conjunto de toda a informação para o
utilizador se orientar no espaço.
Outros autores exploram também a utilização de resíduos, como Pirolli et al. que fazem
um estudo da eficácia da sua utilização nas representações de árvores em espaços
hiperbólicos [Pirolli01].
Este trabalho de Jul et al. foi desenvolvido sobre o sistema Pad++ [Bederson94] que
proporciona um ambiente para a realização de ampliações semânticas. O Pad++ é uma
extensão do sistema Pad [Perlin93] que explora um espaço bidimensional “infinito”, Pad
surface, onde são colocados objectos que ocupam uma região bem definida do espaço. Para
68
observar cada objecto são usadas portas15 (portals) definidas como lentes que permitem
navegar na superfície bidimensional e ampliar os objectos. A quantidade de detalhe
apresentada por cada objecto depende do tipo de porta ou portas utilizadas. Diferentes
portas podem ser usadas para o mesmo objecto simultaneamente permitindo visualizar
diferentes zonas com diferentes graus de detalhe. Há ainda portas com filtros que permitem
visualizar determinado tipo de informação com um aspecto particular. Por exemplo, dados
em tabela são visualizados como gráficos de barras, enquanto a outra informação mantém o
aspecto inicial. Outro aspecto a salientar é o facto deste sistema já tratar a escolha do tipo
de visualização consoante o grau de ampliação do objecto.
O conceito de lente é também usado por Bier et al. no desenvolvimento de interfaces
designadas por see-through [Bier93] ou click-through [Bier94]. Neste tipo de interfaces é
usado um conjunto de ferramentas, as toolglass widgets, que funcionam como se
estivessem sobre uma placa de vidro, a toolglass sheet, entre a imagem e o cursor. Cada
widget realiza um determinado tipo de operação, como seja mudar a cor a um objecto, e
pode também incluir filtros, as lentes mágicas (magic lenses), às quais estão associadas
operações próprias que alteram a representação gráfica, realçando dados mais relevantes,
suprimindo informação, ampliando ou reduzindo, por exemplo. Várias widgets podem
existir sobre a “placa de vidro” que se desloca sobre a área de desenho de forma a
posicionar determinada widget sobre o objecto que interessa modificar. Carregando sobre
esse objecto é aplicada a operação associada à widget e se for também usada uma lente são
combinadas as operações associadas à widget e à lente. A lente pode ter uma forma
arbitrária e permite ver detalhes do objecto seleccionado mantendo o contexto. Podem ser
usadas diversas lentes simultaneamente, quer sobrepostas, quer em diferentes zonas
[Stone94], permitindo focar zonas de interesse distintas. Fox propõe um método, baseado
no mecanismo de delegação presente em algumas linguagens orientadas por objectos, para
de uma forma geral compor várias lentes [Fox98].
Bederson et al. utilizam também o conceito de delegação, mas neste caso para a
concretização do conceito de ampliação semântica na biblioteca Jazz [Bederson00a]. Esta
biblioteca permite o desenvolvimento de interfaces com operações de variação de escala
15
Optou-se por traduzir portal por porta em vez de portal para distinguir de outras utilizações desta
palavra.
69
(Zoomable User Interfaces). Apesar do conceito não ser novo, os autores enumeram neste
artigo os requisitos a que, no seu entender, deve obedecer uma biblioteca deste tipo, entre
os quais destacamos a possibilidade de definir múltiplas representações para os objectos e
de as desenhar em contextos diferentes, por exemplo, para escalas diferentes.
Ampliação com inclusão de contexto global
Os trabalhos citados até agora não tratam o problema da integração da zona ampliada no
contexto global. Jerding e Stasko adoptam, como solução para este problema, a utilização
de uma segunda vista. O Information Mural [Jerding95] [Jerding98] é uma representação
bidimensional reduzida da totalidade de um espaço de informação 1D ou 2D que pode ser
usada como uma vista global de toda a informação (Fig. 2.47). À janela de desenho inicial é
associada uma zona rectangular, com a mesma largura ou altura dessa janela, na qual é
desenhada numa escala reduzida toda a imagem do espaço de informação. Dado que um
elemento da imagem inicial pode sobrepor mais do que um pixel na imagem reduzida, são
usadas técnicas de anti-efeito de escada (anti-aliasing) para determinar a sua contribuição
em cada pixel intersectado. No final, a cada pixel é atribuído um tom de cinzento, ou uma
cor, que traduz a quantidade de informação que representa. A zona de desenho com a visão
global da informação inclui um rectângulo que indica qual a zona representada na zona de
desenho ampliada.
Fig. 2.47 – Information Mural [Jerding98] (IEEE)
Relativamente à criação de visualizações em que seja possível incluir na mesma janela
detalhe local e o contexto global (local detail and global context), um dos trabalhos mais
relevantes e mais citados é o generalized fisheye views [Furnas86]. Neste trabalho o autor
70
tenta fazer uma analogia com o efeito das lentes olho de peixe (fisheye lenses), em que os
elementos que estão próximos são mostrados em grande detalhe e os mais afastados com
menos detalhe, mas mostrando sempre toda a área16. Para isso introduz o conceito de
função de grau de interesse (degree of interest function) que lhe permite filtrar a informação
mais relevante. Esta função atribui a cada elemento de informação um valor que quantifica
o interesse do utilizador em visualizar esse elemento, dada uma determinada tarefa
identificada como foco de interesse. O valor da função em cada ponto depende da
importância dada a priori ao elemento, x, e da sua distância ao foco de interesse, y:
DOI(x|y)= API(x) - D(x,y)
O interesse aumenta com a importância a priori e diminui com a distância ao foco. As
funções importância a priori e distância ao foco deverão ser escolhidas de acordo com a
informação em estudo. A distância é uma distância semântica que pode não corresponder à
distância geométrica. Por exemplo, Furnas aplica a função de grau de interesse a uma
árvore e toma como distância entre dois nós o número de ramos do caminho que os liga.
Para filtrar a informação mais relevante é escolhido um limiar e os elementos para os quais
o valor da função seja inferior a esse limiar são eliminados. A variação deste parâmetro fará
aumentar ou diminuir o volume de informação representado. Apenas são requeridas
propriedades de ordem ao resultado da função de grau de interesse para que esta possa ser
utilizada para limitar o volume de informação representada por comparação com um limiar.
Não é obrigatório que o resultado da função seja positivo.
Não é explicitamente referida uma escolha de representação condicionada pelo resultado
da função de grau de interesse. Contudo, num exemplo apresentado, relativo a uma vista
olho de peixe de um calendário, é reservada uma área maior para o dia da semana escolhido
para foco.
A visualização de espaços tridimensionais, usando uma projecção perspectiva, é um
exemplo simples da obtenção de detalhe local inserido no contexto global: os objectos que
se encontram próximo do observador são representados com maiores dimensões do que
aqueles que se encontram mais afastados. Corresponde a uma vista olho de peixe em que
todos os objectos têm a mesma importância a priori [Fairchild88] [Fairchild93]. A redução
16
Para identificar este conceito utiliza-se a designação vistas olho de peixe.
71
do número de elementos pode neste caso ser controlada pelo posicionamento dos planos de
corte.
Sarkar et al. aplicam o conceito de vistas olho de peixe a grafos [Sarkar92] [Sarkar94].
Usam para tal uma função, designada por visual worth, idêntica à função de grau de
interesse definida por Furnas, que permite fazer a filtragem dos vértices por comparação do
valor da função obtido para cada vértice com um limiar escolhido. A posição de cada
vértice é determinada à custa da sua posição inicial, da posição do foco e de uma constante
designada por factor de distorção. O tamanho e o conteúdo de cada vértice são por sua vez
determinados usando a distância ao foco e a sua importância a priori. Obtém-se assim um
grafo distorcido em relação ao inicial, que poderá não conter todos os nós, mas com a zona
de interesse destacada (Fig. 2.48). Os autores sugerem a extensão desta aproximação para o
caso de mais do que um foco dividindo o espaço do ecrã pelos vários focos e aplicando de
forma independente a cada uma das áreas a transformação descrita [Sarkar92]. Esta ideia é
desenvolvida em [Sarkar93] como se referirá mais à frente.
Fig. 2.48 – Vistas olho de peixe em grafos [Sarkar92] (ACM)
Bederson aplica o conceito de vistas olho de peixe a menus [Bederson00b]. Num menu
com uma longa lista de itens, a dimensão da letra é maior para os itens junto do cursor e
diminui gradualmente para itens mais afastados. O espaço entre linhas também é maior na
zona de influência do cursor. Como os itens mais afastados do foco de interesse ficam
normalmente ilegíveis, a lista é organizada por ordem alfabética para mais fácil acesso ao
elemento procurado. Neste caso a função de grau de interesse apenas depende da distância
ao foco, não tendo em conta qualquer importância a priori. A função é usada para decidir
72
se um item é ou não mostrado no menu e qual a dimensão da letra a usar.
Mackinlay et al. descrevem uma técnica designada por parede em perspectiva
(perspective wall) [Mackinlay91] para visualizar informação linear permitindo a
visualização detalhada de uma zona sem perder a noção da sua localização no contexto
global.
A informação com estrutura linear caracteriza-se, normalmente, por uma representação
2D em que a quantidade de informação a representar segundo um eixo é muito superior à
do outro eixo. Isto implica que, para visualizar toda a informação, ou se fazem deformações
utilizando factores de escala diferentes para os dois eixos, ou se utiliza o mesmo factor de
escala obtendo-se representações muito reduzidas, ou se visualiza apenas parte da
informação.
A técnica da parede em perspectiva consiste em adoptar uma representação
tridimensional, dividindo a zona a representar em três painéis rectangulares: um painel
central, que é “puxado” para mais próximo do observador mostrando a informação nele
contida com mais detalhe, e dois painéis laterais com a restante informação projectada em
perspectiva, o que provoca a redução progressiva dos elementos à medida que se encontram
mais afastados da zona de interesse (Fig. 2.49). Quando o utilizador selecciona um
elemento de informação, há um deslocamento da “parede” de forma a colocar esse
elemento no painel central. O utilizador pode também ajustar a zona de interesse fazendo
“esticar” o conteúdo do painel central como se se tratasse de uma folha de borracha.
Pretende-se, em qualquer caso, que haja uma transição suave para o utilizador interpretar
facilmente a nova situação.
Fig. 2.49 – Perspective wall [Macinlay91] (ACM)
A ideia da divisão da área de trabalho em três zonas já tinha sido usada em [Spence82]
73
no bifocal display. Nesta abordagem a zona central tem menos elementos com mais detalhe
e as duas áreas laterais contêm o resto da informação, mas menos detalhada. Após selecção
de um elemento numa zona lateral, é feita uma translação a todos os elementos de modo a
colocar o elemento seleccionado na zona central mantendo a relação espacial entre eles. Ao
contrário do que se passa na parede em perspectiva, em que cada elemento tem sempre a
mesma representação, variando apenas a sua dimensão devido ao efeito da projecção, no
bifocal display são consideradas várias representações cada uma delas correspondente ao
que é designado por nível de informação. Na zonas laterais são usadas representações mais
simplificadas que na zona central e é possível usar ampliação na zona central para obter
uma representação ainda mais detalhada.
Utilizando uma representação tridimensional, como na parede em perspectiva,
Robertson et al. [RobertsonG93] propõem uma técnica, designada por document lens, para
a visualização de espaços de informação bidimensionais, que permite a visualização
detalhada de uma zona integrada no seu contexto. Esta técnica é exemplificada usando
páginas de um documento dispostas numa grelha regular. É usada uma lente rectangular,
isto é, uma zona rectangular, que contém a área de interesse e que é elevada tornando a
superfície bidimensional numa pirâmide truncada. A zona de interesse colocada no topo da
pirâmide é ampliada sem distorção e as zonas laterais são reduzidas usando o efeito de
perspectiva (Fig. 2.50).
Fig. 2.50 – Document lens [RobertsonG93b] (ACM)
Carpendale et al. recorrem também à projecção em perspectiva de uma superfície
tridimensional, obtida por elevação de zonas de interesse, para obterem a ampliação destas
74
zonas dentro do contexto [Carpendale95]. A superfície, que é designada por 3D pliable
surface, é construída à custa de uma função de Gauss que, para cada ponto do espaço 2D,
determina a sua componente em zz no espaço tridimensional à custa da distância do ponto
ao foco de interesse. Contudo, para que a zona de interesse não sofra deformações, é
atribuída a mesma altura aos pontos que pertencem a esta zona, o que corresponde a aplanar
o topo da superfície (Fig. 2.51). É possível a definição de múltiplos focos de interesse.
Neste caso, o cálculo da componente em zz combina os valores obtidos pela função
relativamente a cada um dos focos.
Fig. 2.51 – 3D pliable surface: três aspectos da mesma superfície [Carpendadle95] (ACM)
Funções não lineares são igualmente usadas noutros trabalhos para a determinação da
posição dos elementos da cena em operações de ampliação. É o caso, já citado, da geração
das vistas olho de peixe para grafos [Sarkar92] ou dos trabalhos de Munzner e Lamping
com espaços hiperbólicos, já referidos a propósito da representação de hierarquias. Outro
exemplo é apresentado em [Kaugars94] onde a função arcotangente serve de base à
transformação de ampliação de um grafo no espaço 2D. Além da posição dos nós do grafo,
também a sua dimensão é modificada pela aplicação da função aos vértices dos quadrados
que representam os nós. Se for definido mais do que um foco de interesse, obtêm-se as
coordenadas dos pontos através da média aritmética das coordenadas obtidas pela aplicação
das transformações relativas a cada foco.
Baseando-se na parede em perspectiva, Sarkar et al. [Sarkar93] desenvolveram uma
forma de interacção, que designaram por rubber sheet stretching, que permite a realização
de ampliações mantendo o contexto. Tratam a área de trabalho bidimensional como uma
folha de borracha onde é possível seleccionar zonas que podem ser esticadas. Os autores
consideraram dois casos: alongamento ortogonal (orthogonal stretching) e alongamento
poligonal (polygonal stretching). No primeiro caso usam faixas formadas por pares de
linhas verticais e horizontais cuja intersecção define zonas de interesse rectangulares. O
75
afastamento das linhas provoca, por um lado, redução do espaço exterior às faixas, e, por
outro lado, ampliação tanto em altura como em largura nas zonas de interesse, ampliação
apenas em altura nas faixas horizontais e ampliação em largura nas faixas verticais. Nas
zonas de interesse a escala usada nas duas direcções pode ser diferente (Fig. 2.52). No
alongamento poligonal, é possível definir zonas poligonais para ampliar o seu interior, mas,
ao contrário do alongamento ortogonal, a zona exterior não é reduzida de forma uniforme,
havendo variações de escala para permitir uma transição suave entre a zona ampliada e o
contexto. Isto provoca deformação fora da zona de interesse porque há alteração na posição
relativa dos elementos. Tanto no alongamento ortogonal como no poligonal é possível
definir várias zonas de interesse onde não é alterada a posição relativa dos elementos.
Fig. 2.52 – Orthogonal stretching [Sarkar93] (ACM)
Uma técnica semelhante ao alongamento ortogonal de Sarkar et al., designada por table
lens, é usada por Rao et al. para visualizar tabelas de grande dimensão, quer em linhas, quer
em colunas, permitindo a definição de múltiplos focos de interesse e usando diferentes tipos
de representação para as células [Rao94]. Cada zona de interesse é um rectângulo que
contém um conjunto de células na totalidade, isto é, não há possibilidade de incluir apenas
parte de uma célula. Além da deformação na zona de interesse, as outras células das
colunas e linhas de interesse serão também afectadas para preservar a coerência de linhas e
colunas. A altura e largura das células são determinadas à custa do nível de interesse de
cada célula obtido através de funções de grau de interesse, uma para cada dimensão, e
dependem, também, do número total de células e da área disponível. A representação usada
em cada célula depende de vários factores: da escolha do utilizador; do tipo de valor da
célula, por exemplo, uma barra de comprimento proporcional ao valor, para um tipo
numérico, e cor para um tipo definido por enumeração; do tipo de célula, isto é, se está
76
numa zona de interesse ou não; da dimensão da célula. Em [Tenev97] a table lens é
adaptada de modo a permitir a representação de tabelas com maior número de linhas. É
incluído um terceiro nível de focagem que consiste em compactar várias linhas menos
relevantes, onde não é necessário aceder a cada célula individualmente, numa única linha
com um pixel de espessura.
Também em [Schaffer93] é descrita uma técnica de ampliação que tem subjacente um
mecanismo de alongamento ortogonal. Neste caso é proposto um modelo de ampliação,
denominado variable zoom, que os autores consideram do tipo vista olho de peixe, e que é
aplicado à visualização de redes transformadas em hierarquias de agrupamentos. Os nós da
rede são reunidos em agrupamentos e estes por sua vez são dispostos noutros
agrupamentos, gerando uma hierarquia em que os nós terminais são os nós da rede e os nós
intermédios são agrupamentos. Todos os nós da hierarquia são representados por quadrados
que incluem os nós descendentes. As projecções em xx e yy de nós do mesmo nível da
hierarquia não se sobrepõem17. Os nós folha distinguem-se por uma textura diferente. Em
cada instante, a dimensão do quadrado que representa um agrupamento, determina o
número de níveis descendentes que é possível mostrar. Além das ligações entre nós, são
também representadas ligações entre agrupamentos quando existe pelo menos uma ligação
entre um nó de cada um. É possível seleccionar mais do que um agrupamento para ampliar,
o que corresponde a escolher múltiplos focos de interesse. A ampliação de um ou mais nós
provoca a alteração das dimensões de todos os nós, já que os outros nós terão de ser
reduzidos. Para efectuar a ampliação, a área correspondente à raiz da hierarquia é dividida
segundo os eixos dos xx e dos yy pelo prolongamento dos lados dos nós a ampliar
formando, assim, uma matriz de células ortogonais. Para cada agrupamento são
determinados os factores de escala, para ampliação ou redução dos seus nós, à custa: da
área total ocupada pelo agrupamento; da razão entre a área dos nós a ampliar e o número
total de nós desse agrupamento; e de uma constante que ajusta a área que é deixada para
contexto. A nova posição de cada nó é determinada a partir da posição de um vértice do nó
pai, tendo em conta as novas dimensões dos nós desse nível que se encontram entre o nó e
esse vértice e que vão ser ampliados ou reduzidos. Depois de calculada a posição de um
17
É referido, no entanto, que se pode estender o algoritmo para nós representados por rectângulos com
sobreposição das suas projecções em xx e yy.
77
agrupamento, o processo é repetido recursivamente para os agrupamentos descendentes que
são ampliados. Um nó correspondente a um agrupamento, ao ser ampliado, passa a mostrar
os nós seus descendentes no nível seguinte da sua subárvore e as ligações entre eles e os
outros nós que estão desenhados. Há, portanto, um aumento de detalhe à custa da redução
do espaço ocupado por nós menos relevantes, mas mantendo o contexto.
Na continuação do trabalho descrito em [Schaffer93], Bartram et al. modificam o
algoritmo que determina a dimensão e colocação dos nós da hierarquia [Bartram95]. Além
disso, admitem a utilização de rectângulos para a representação dos nós, não obrigam a que
as projecções dos seus lados em xx e yy sejam disjuntas e permitem a utilização de
múltiplas representações para os nós folha. Designam a sua técnica por continuous zoom. O
algoritmo que utilizam determina, numa primeira fase, a posição e dimensão dos nós da
hierarquia, tendo em atenção os factores de escala de ampliação ou redução a utilizar em
cada nó, e, posteriormente, faz um reajustamento destas dimensões usando uma função de
grau de interesse. Este reajustamento, além de aproveitar espaço que não tenha sido usado,
tenta que, em nós com a mesma representação, a dimensão revele o grau de interesse do nó.
A função de grau de interesse usada é mais elaborada do que a função apresentada em
[Furnas86]. Neste caso o valor da função depende da importância a priori de cada nó, do
estado do nó, da conectividade com nós com grau de importância elevado e do interesse do
utilizador nesse nó. O estado do nó é uma característica que depende da aplicação. No
exemplo apresentado o nó tem dois estados. O interesse num determinado nó é medido pelo
modo como o utilizador acede ao nó: se aceder para ampliar, aumenta o interesse, se aceder
para reduzir, reduz o interesse. Para cada nó folha é calculado o valor da função e aos
restantes nós da hierarquia é atribuído o valor máximo obtido para os seus descendentes.
Tal como na versão de Schaffer et al. mantém-se a possibilidade de realçar vários focos de
interesse.
Com o intuito de preservar o contexto na representação de hierarquias num espaço 2D,
propõe-se em [Sifer99] a realização de ampliações apenas segundo uma direcção. Cada nó
da hierarquia é representado por um rectângulo e a soma das larguras dos rectângulos que
representam os seus descendentes directos não excede a sua largura. Ao ampliar, apenas a
largura dos nós é afectada continuando a visualizar-se a totalidade da profundidade da
árvore. Contudo, para ampliar alguns nós, outros terão de ser omitidos, por isso o utilizador
78
identifica as raízes das subárvores que pretende ampliar. Para além das subárvores
seleccionadas, são também desenhados os nós que ligam essas subárvores à raiz da árvore
omitindo os outros descendentes desses nós. É possível representar vários focos de
interesse mantendo o contexto, visto que se podem seleccionar vários nós para ampliar.
Outra abordagem para a realização de ampliação sem perder o contexto, designada por
macroscope, [Lieberman94] utiliza vários níveis translúcidos sobrepostos representando a
informação em diferentes escalas. O primeiro nível contém toda a informação. Utilizando
um rectângulo é identificada uma zona de interesse que é ampliada e colocada noutro nível
translúcido sobrepondo a imagem inicial (Fig. 2.53). O conteúdo deste nível é alterado
quando se aplicam transformações ao rectângulo. Assim, ao deslocar o rectângulo
realizam-se panorâmicas e ao modificar a sua área obtêm-se ampliações ou reduções.
Vários níveis podem ser criados. O controle do grau de transparência/opacidade dos
diferentes níveis permite realçar o nível que em cada momento é mais relevante para o
utilizador. Em [Lieberman97] é acrescentada uma visualização tridimensional que permite
mudar o ponto de vista do utilizador de forma a distinguir os vários níveis sem estarem
sobrepostos (Fig. 2.54). O autor refere que o macroscope pode ser considerado uma espécie
de interface see-through.
Fig. 2.53 – Macroscope 2D
[Lieberman94] (ACM)
Fig. 2.54 – Macroscope 3D
[Lieberman97] (IEEE)
Ampliação e factor de escala
Nas técnicas de ampliação descritas anteriormente, a transformação é efectuada sem
indicar qual o factor de escala da ampliação ou redução. Leung e Apperley [Leung94]
79
calculam este factor de escala à custa duma função, a função de magnificação
(magnification function). Esta função é a derivada da função de transformação
(transformation function), que aplica as posições dos elementos na imagem inicial nas suas
posições na imagem ampliada. Estas funções são utilizadas para a caracterização das
técnicas de ampliação em que há distorção na colocação dos elementos. Mais ainda, as
técnicas de ampliação são separadas em dois grupos, contínuas e contínuas por troços
(piecewise continuous), de acordo com o comportamento da função de magnificação. Estas
funções têm apenas um argumento, tratando-se separadamente cada uma das dimensões.
Keahey et al. estendem estes conceitos para mais do que uma dimensão. Estes autores
designam por magnificações não lineares as ampliações em que há distorção na colocação
dos elementos, ampliando zonas de interesse e mantendo o contexto global sem provocar
oclusões [Keahey96]. Para estas transformações de ampliação são definidos campos de
magnificação (magnification fields) [Keahey97] que resultam do cálculo da derivada da
função de transformação em pontos de uma grelha regular. No caso bidimensional, para
cada ponto da grelha é calculada a ampliação (ou redução) associada a esse ponto através
da expressão
m(x,y) = (∂t(x,y) / ∂x) (∂t(x,y) / ∂y)
em que t é a função de transformação.
Em termos práticos, para evitar o cálculo das derivadas, o campo de magnificação é
obtido em cada ponto da grelha por uma razão entre áreas: para cada ponto da grelha
determinam-se, na grelha transformada e na grelha inicial, as áreas limitadas pelo polígono
que une os pontos adjacentes ao ponto em estudo e calcula-se a razão entre as duas áreas.
A determinação de um campo de magnificação permite a transformação das
representações dos elementos directamente em função da escala associada à sua
localização, independentemente do número de focos definidos e da complexidade da
transformação de ampliação.
No mesmo trabalho, [Keahey97], é apresentado um método para obter uma
transformação de ampliação à custa da definição de um campo de magnificação. Deste
modo é possível definir um campo de magnificação tendo em atenção os valores dos dados
e a partir dele determinar qual a transformação a efectuar.
80
Síntese
Observando os trabalhos publicados que de algum modo estão ligados à realização de
ampliações, verifica-se que a maior parte deles se centra no desenvolvimento de ampliações
com manutenção de contexto. Este tipo de ampliação não levanta os problemas de
desorientação no espaço que ocorrem quando o contexto não é desenhado e que estão na
base dos diagramas espaço-escala. Por outro lado, a inclusão do contexto na mesma janela
onde se faz ampliação, em vez de se utilizar uma segunda janela, evita a necessidade de
integração mental de duas janelas. No entanto, este tipo de ampliação coloca problemas de
distorção quer na forma quer na posição de alguns ou de todos os elementos.
Por vezes alguma informação é omitida, ou para libertar espaço de ecrã para desenhar
elementos mais relevantes com mais detalhe, ou por se fazer variar a escala, ou porque a
janela não abrange todo o espaço de informação. Esta situação cria a necessidade de se
incluírem pistas para aceder à informação não visível, como os resíduos multiescala de
[Jul98]. Estes resíduos funcionam como um contexto local, isto é, indicam que existe mais
informação que não está visível na área delimitada pela janela do utilizador. A expressão
contexto local tem um significado diferente da palavra contexto, que tem sido usada no
sentido de contexto global, ou seja, abrangendo a informação que está fora da área de
interesse seleccionada pelo utilizador. O contexto local diz respeito à informação que está
dentro da área de interesse.
Muitos dos trabalhos permitem a ampliação semântica, requerendo o tratamento de
múltiplas representações para o mesmo objecto, assunto que será desenvolvido na secção
seguinte. A selecção da representação está por vezes dependente do factor de escala da
ampliação, sendo por isso importante estudar formas de determinar qual o factor de escala a
utilizar na representação de cada objecto, como acontece com a função de magnificação e
os campos de magnificação.
2.2.2
Múltiplas representações
A utilização de múltiplas representações para a mesma informação é referida em vários
trabalhos a propósito da realização de ampliações ou da simplificação da representação de
elementos. A simplificação tem a ver com a menor relevância dos elementos ou
simplesmente com a diminuição do tempo de geração de imagens intermédias. Há a
81
considerar por um lado, a representação de um objecto com diferentes graus de resolução,
e, por outro, a utilização de diferentes tipos de representação para o mesmo objecto
incluindo, eventualmente, a decomposição desse objecto em vários.
No primeiro caso inclui-se a técnica descrita em [Williams83] onde é usada uma
estrutura, designada por estrutura em pirâmide (pyramidal structure), onde são guardadas
grelhas com diferentes resoluções. Sobre esta estrutura são definidas operações de
interpolação entre os pontos no mesmo nível e entre níveis adjacentes. Deste modo é
possível obter grelhas com resoluções intermédias relativamente às que estão definidas.
Outro exemplo de representação de um objecto com diferentes graus de resolução é
descrito em [Ballard81], onde se usa uma árvore binária, designada por strip tree, para
guardar informação sobre uma curva 2D com espessura variável. Este tipo de representação
é referido em aplicações cartográficas para a representação de rios, por exemplo. A curva é
decomposta numa sequência de rectângulos adjacentes. Cada rectângulo é orientado de
modo a ter dois lados paralelos ao segmento que liga o início e o fim da secção da curva
que contém. Além disso, estes dois lados do rectângulo afastam-se deste segmento apenas a
distância que é necessária para conter totalmente a secção da curva. Os outros dois lados do
rectângulo contêm os pontos inicial e final da secção da curva. Cada rectângulo é
identificado por quatro parâmetros: P1, o ponto inicial da secção da curva; P2, o ponto que
marca o seu fim; w1 e w2, as distâncias do segmento que une os pontos inicial e final da
secção da curva, respectivamente, aos lados inferior e superior do rectângulo. Na raiz da
árvore há apenas um rectângulo que contém toda a curva. No segundo nível, usando um
ponto da curva que esteja sobre a fronteira, este rectângulo é decomposto em dois
rectângulos: o primeiro contém os pontos desde a origem ao ponto escolhido e o segundo
contém os restantes pontos. O processo repete-se para cada um dos rectângulos até se obter
a resolução pretendida, isto é, até que a soma dos parâmetros w1 e w2 de todos os
rectângulos seja inferior a um valor fixado previamente.
Múltiplas representações para o mesmo objecto são usadas em [Herot80], onde se
descreve um sistema que permite a pesquisa de informação numa base de dados usando
uma interface gráfica. A informação é fraccionada em múltiplas superfícies formando uma
hierarquia de espaços 2D. Esta hierarquia permite, por um lado, separar informação não
relacionada e, por outro, oferecer formas alternativas de visualizar a mesma informação.
82
Para atingir o segundo objectivo, para algumas superfícies são definidos vários níveis de
detalhe que são seleccionados realizando operações de ampliação ou redução.
Em [Frank94] é proposta uma estrutura hierárquica, a multi-scale tree, para guardar
informação com diferentes níveis de detalhe. Esta estrutura é usada em aplicações
cartográficas para generalização automática, isto é, para a produção automática de mapas
com escalas menores a partir de mapas mais detalhados. Para obter um mapa numa escala
reduzida não basta reduzir os elementos gráficos, é necessário também uma adaptação no
número e detalhe dos elementos a usar. Na multi-scale tree a representação de um objecto
pode variar de forma contínua, mudando apenas a sua escala de representação, ou de forma
discreta: reduzindo o detalhe; passando de uma aproximação dum objecto real para um
símbolo; mudando o símbolo; ou, no caso limite, omitindo a sua representação. Os objectos
são guardados em diferentes níveis da árvore de acordo com a escala em que podem ser
representados. A criação de um mapa numa dada escala implica uma pesquisa na árvore, da
raiz para as folhas, seleccionando dos elementos que pertencem à janela definida aqueles
para os quais há espaço para serem representados. Isto implica, além da escolha da
representação na escala adequada, a inclusão de um critério que controla a densidade de
informação, o qual será referido adiante. A geração de um mapa numa escala maior é vista
como uma ampliação semântica, isto é, dos objectos representados será escolhida uma
representação mais detalhada e poderão, eventualmente, ser desenhados mais objectos. A
passagem para um mapa com menor escala implica normalmente a definição de uma janela
maior exigindo por isso nova pesquisa da árvore a partir da raiz.
Perlin et al. recorrem também a uma árvore para descrever as várias representações de
um objecto. A árvore é percorrida cada vez que o objecto é desenhado, e em cada nó são
identificados os elementos a desenhar de acordo com o grau de ampliação [Perlin93].
Também em [Sarkar93], já referido ao falar de ampliação com contexto global, é usada
uma estrutura hierárquica que permite adaptar o detalhe da informação a visualizar quando
são efectuadas ampliações. A hierarquia é traduzida por uma árvore que no nó raiz contém
a informação mais simplificada e em cada nível da árvore aumenta o grau de detalhe
correspondendo cada nó a um agrupamento dos seus filhos. Ao desenhar, começando pela
raiz, cada nó determina o espaço da janela de desenho que lhe está reservado. Se o espaço
for suficiente para representar os seus filhos, estes são desenhados. Caso contrário, é
83
desenhado o próprio nó e não avança para os seus descendentes. Há dois tipos de nós
internos na árvore: aqueles que só permitem que os seus filhos sejam representados quando
há espaço para todos; e aqueles que permitem que sejam representados os filhos para os
quais existe espaço mesmo que seja apenas um.
Tal como em [Sarkar93], o espaço disponível é também o critério usado em
[Stonebraker93] para a escolha entre diferentes representações. Neste caso a variação de
detalhe é determinada pela dimensão da janela seleccionada. As diferentes representações,
designadas por abstracts, são organizadas num grafo orientado. Nós com representações
mais detalhadas são antecessores de nós com representações menos detalhadas. Cada nó
pode ter um ou mais sucessores e um ou mais antecessores. A cada representação estão
associadas as dimensões máxima e mínima da janela para as quais a representação tem
sentido, definidas em coordenadas da aplicação. É exigido que as dimensões da maior
janela do nó antecessor pertençam aos intervalos definidos pelas dimensões das janelas
fixadas para o nó sucessor, de modo a garantir que, ao serem efectuadas reduções, haja uma
representação que substitua a que está a ser usada. Para que o mesmo aconteça no caso de
ampliações, as dimensões da menor janela de um nó sucessor pertencem aos intervalos
definidos pelas dimensões das janelas do nó pai. Quando há mais do que uma representação
em alternativa, isto é, um nó com mais do que um sucessor, para o caso de reduções, ou um
nó com mais de um ascendente directo, para o caso de ampliações, é o utilizador que decide
qual a representação a usar.
No sistema Pad++ [Bederson94], já referido a propósito da ampliação sem inclusão de
contexto, o aspecto dos objectos varia com o grau de ampliação. Para cada objecto existe
um procedimento que selecciona qual a representação a ser usada em cada nível de
ampliação. Esta selecção é condicionada pelo espaço disponível para o desenho existindo,
para a caixa envolvente (bounding box) de cada representação, um valor mínimo e um valor
máximo entre os quais essa representação pode ser usada.
Em [Bederson00a] a selecção entre múltiplas representações tem por base o factor de
escala. Neste trabalho, já mencionado relativamente à ampliação sem contexto global, é
possível definir cenas 2D através da construção de um grafo que os autores designam por
grafo da cena (scene graph). Este grafo é uma hierarquia de nós que representam as
relações entre os objectos da cena. As folhas contêm a descrição da geometria e cor dos
84
objectos a desenhar. Os nós dos outros níveis da hierarquia contêm informação que é
passada aos filhos. Por exemplo, a aplicação de operações de translação, rotação e mudança
de escala ou a selecção de subárvores de acordo com a ampliação corrente. É assim
possível a realização de ampliações semânticas, além das ampliações geométricas. Podem
também ser aplicadas ampliações em que o factor de escala dependa de uma função de grau
de interesse. A hierarquia de nós pode ser construída recorrendo a um editor gráfico.
Woodruff et al. fazem depender a escolha de representação da densidade de informação
local, usando representações mais simplificadas em zonas de maior densidade
[Woodruff98b]. O objectivo é não ultrapassar um valor previamente fixado para a
densidade em cada uma das zonas obtidas por divisão do enquadramento em quadrículas
regulares. A função de densidade é seleccionada pelo utilizador. No sistema VIDA,
desenvolvido por estes autores, existem duas funções definidas previamente, uma que conta
o número de objectos numa dada zona e outra o número de vértices da representação, mas é
possível incorporar outras funções densidade. As representações definidas para cada tipo de
objecto podem ser mutuamente exclusivas ou complementares, no sentido em que juntam
mais detalhe. O utilizador deve indicar quais as representações que são desenhadas em
alternativa e quais as que podem ser adicionadas com outras para aumentar o detalhe. O
facto de se adaptar a representação por zonas provoca que nem todos os objectos do mesmo
tipo tenham a mesma representação em zonas distintas. Além disso, ocorrem também
alterações ocasionais na representação após a realização de operações de variação de escala
e/ou panorâmicas. Estas alterações resultam de a divisão em zonas ser aplicada ao
enquadramento e não ao mundo do utilizador, e, por isso, ao aplicar uma área diferente do
mundo do utilizador no enquadramento, as zonas consideradas no enquadramento passam a
ter outro conteúdo. Assim, alguns dos objectos podem passar a pertencer a outra zona que
poderá ter densidade diferente.
Keahey estuda a utilização de representações com vários níveis de detalhe no âmbito das
transformações de ampliação não lineares, já referidas na secção anterior. Foca
especialmente o problema da ampliação de objectos discretos usando um campo de
magnificação [Keahey98]. A cada objecto é aplicado um factor de escala de ampliação
uniforme, que é determinado à custa do campo de magnificação verificado na posição de
um ponto chave do objecto, normalmente o seu centro. Além da variação de dimensão, o
85
valor do campo de magnificação pode determinar também qual o nível de detalhe a usar.
Coloca-se, contudo, o problema da sobreposição de objectos após a transformação de
ampliação, uma vez que a área coberta pelo objecto pode incluir zonas de valores distintos
do campo de magnificação. Uma solução para resolver este problema consiste em aplicar a
fronteira inicial do objecto no espaço de coordenadas transformado pela operação de
ampliação e escolher um factor de escala que não amplie o objecto para além da fronteira
transformada. Esta ampliação provoca alguma deformação no objecto. Outra solução
proposta usa a estrutura em pirâmide definida em [William83] construindo previamente
imagens com diferentes graus de resolução e a que se associam, eventualmente, diferentes
representações gráficas. Posteriormente, ao efectuar operações de ampliação, serão usadas,
nas zonas expandidas, secções de uma imagem com maior resolução e, nas zonas
contraídas, secções de uma imagem com menor resolução.
Como já mencionado no âmbito da ampliação com manutenção do contexto, Bartram et
al. utilizam, na visualização de redes organizadas em hierarquias de agrupamentos,
diferentes representações para os nós terminais, os quais correspondem efectivamente a nós
da rede. A escolha da representação é feita de forma automática à medida que se aplicam
ampliações ou reduções aos nós da hierarquia [Bartram94]. Os autores denominam de
ampliação inteligente (intelligent zoom) a combinação da técnica de ampliação continuous
zoom [Bartram95], já referida, com o processo de escolha dinâmica da representação a usar.
Na escolha da representação para um nó tem-se em atenção: o espaço reservado para o nó,
visto cada representação requerer um espaço mínimo para ser desenhada; o estado do nó; e
o valor obtido pela função de grau de interesse para esse nó.
No modelo de visualização AutoIcon, proposto por Fairchild para a visualização de
informação abstracta, são definidas várias representações para cada elemento e é também
usada uma função de grau de interesse para seleccionar a representação [Fairchild93]. Cada
elemento de informação é representado por um ícone, cujos atributos gráficos são
determinados a partir da informação que contém. São definidos vários ícones com
diferentes graus de detalhe organizados num vector. Tendo em conta o foco escolhido e a
importância a priori do elemento, é calculada a função de grau de interesse. O resultado da
função é aplicado no conjunto de índices do vector determinando qual o ícone que deve ser
usado.
86
A definição de diferentes representações é também útil para visualizar grandes volumes
de dados mantendo tempos de resposta aceitáveis. Neste âmbito Cignoni et al. [Cignoni94]
propõem uma forma de interacção que permite, num espaço tridimensional, focar uma zona
de interesse e usar visualizações diferentes para os dados contidos nessa região. Os autores
consideram esta abordagem uma extensão para 3D das técnicas usadas em [Bier93]:
Toolglass e Magic Lens. Para limitar a zona de interesse é usada uma esfera transparente,
Esfera Mágica (MagicSphere), cuja posição e tamanho são controlados pelo utilizador.
Podem conjugar-se representações com diferentes níveis de detalhe tendo em atenção se os
elementos se encontram dentro da esfera ou fora dela. A esta esfera estão associados
também vários mecanismos de filtragem que podem ser usados individualmente ou
combinados. A esfera dá uma visão clara dos elementos que se encontram junto ao centro e
deforma ligeiramente os que se encontram junto à superfície da esfera, como acontece com
as lentes comuns. O factor de transparência dos dados exteriores à esfera pode ser alterado
para permitir visualizar mais facilmente o que se encontra no seu interior.
Nos trabalhos referidos evidenciam-se dois aspectos relevantes na gestão de múltiplas
representações: a forma de organizar a descrição das diferentes representações e os critérios
que determinam a selecção da representação. As formas mais comuns de organização das
representações baseiam-se em estruturas hierárquicas e grafos. Quanto aos critérios usados
para determinar a escolha da representação há a considerar o factor de escala da
representação, o espaço de ecrã disponível, a densidade de informação local, a localização
do objecto e o seu grau de interesse.
2.2.3
Filtragem
A utilização de mecanismos de filtragem permite reduzir o número de elementos a
visualizar por eliminação de alguns deles. Para além de soluções mais comuns como, por
exemplo, a redução do número de variáveis a visualizar, a utilização de diferentes representações em que as mais simplificadas resultam da eliminação de informação ou a variação da
posição dos planos de corte em representações tridimensionais, outros mecanismos de
filtragem têm sido propostos.
A função de grau de interesse [Furnas86], já descrita anteriormente, é uma das formas
mais expressivas de filtragem. Esta função permite incluir critérios semânticos, expressos
87
pela função importância a priori, para seleccionar quais os elementos a representar. Aliás
Leung et al. [Leung94] preferem enquadrar a técnica das vistas olho de peixe proposta por
Furnas, não como uma técnica de ampliação com contexto, mas no âmbito do controlo da
densidade de informação, classificando a função de grau de interesse como uma função de
supressão de informação.
Vários autores usam a função de grau de interesse para a filtragem de informação. É o
caso do sistema SemNet [Fairchild88] onde são usadas funções de grau de interesse na
visualização de uma base de conhecimentos representada por um grafo num espaço
tridimensional. Neste caso não existe importância a priori definida previamente para cada
um dos elementos de informação. Opta-se, então, por agrupar elementos: cada elemento
pertence a um conjunto, cada conjunto pertence a um superconjunto e assim
sucessivamente. Deste modo constrói-se uma estrutura hierárquica onde a importância de
um nó pode ser medida pela sua altura na árvore e a função distância mede o caminho entre
dois nós. Os elementos mais próximos do foco de interesse são representados
individualmente, mas os mais afastados serão representados por um objecto correspondente
a um agrupamento.
A utilização de diferentes graus de opacidade pode igualmente ser uma forma de
filtragem, como proposto em [Lokuge95]. A informação é estruturada em níveis distintos
de acordo com o seu conteúdo semântico e cada nível é visualizado com um grau de
opacidade correspondente à relevância que, naquele momento, a informação tem para o
utilizador. Assim, a informação mais relevante tem o maior grau de opacidade, informação
relacionada com esta, mas menos relevante, terá menor grau de opacidade e informação
irrelevante ficará quase transparente. Deste modo mantém-se o contexto salientando-se a
informação mais importante.
Em [Kosara01] e [Kosara02] é usada uma aproximação semelhante à de Lokuge et al.
para realçar informação relevante. A técnica que propõem, designada por semantic depth of
field, consiste em representar os objectos mais relevantes nitidamente e os restantes
objectos de forma enevoada. O efeito obtido é semelhante ao de uma fotografia em que se
foca um objecto próximo, surgindo os objectos mais afastados desfocados. O grau de
indefinição de cada objecto varia de acordo com o valor que lhe é atribuído pela função de
relevância. Esta função atribui a cada objecto um valor no intervalo [0,1], distinguindo-se
88
em [Kosara02] três tipos de funções de relevância: funções que dividem os objectos apenas
em dois grupos – relevantes e não relevantes – devolvendo os valores um ou zero,
respectivamente; funções que separam os objectos num conjunto de classes de relevância,
isto é, devolvem um conjunto finito de valores; e funções contínuas. Os autores distinguem
a função de relevância da função de grau de interesse pelo facto de não ter em conta a
posição dos objectos. Apesar de se ter enquadrado esta técnica na filtragem, não só pela sua
afinidade com o trabalho de Lokuge et al., mas também por haver efectivamente redução na
quantidade de informação transmitida ao utilizador, os autores destacam como aspecto
preponderante do seu trabalho o realce de objectos dentro do seu contexto.
Outra técnica de filtragem é a limitação de domínios de variação. O resultado de
consultas a bases de dados formuladas através de restrições sobre os valores dos atributos é
um exemplo da aplicação desta técnica. Shneiderman et al. criaram o conceito de consultas
dinâmicas (dynamic queries) para a formulação de consultas a bases de dados com
ferramentas gráficas de forma interactiva, permitindo o acesso à informação a utilizadores
sem conhecimentos sobre a base de dados e sobre a linguagem para a sua consulta
[Ahlberg92] [Shneiderman92b]. O domínio de variação dos atributos é limitado por meio
de deslizadores e a interrogação à base de dados corresponde à conjunção das restrições
impostas por cada um deles. Só os elementos da base de dados que verificam as condições
indicadas pela interrogação são representados. Há uma mapificação definida previamente
que atribui uma representação gráfica aos elementos guardados na base de dados, não
existindo posteriormente nenhuma escolha de representação.
Um ponto importante para o sucesso da utilização das consultas dinâmicas tem a ver
com a rapidez com que o utilizador tem retorno (feedback) das suas acções. Isso depende
das capacidades gráficas da máquina e do tempo de cálculo do resultado que pode ser
optimizado utilizando estruturas de dados adequadas [Jain93]. Outro melhoramento
consiste na actualização da imagem de forma incremental, isto é, como alterações ligeiras
na consulta provocam normalmente poucas alterações no resultado, determina-se e actualiza-se apenas a diferença dos resultados entre consultas [Tanin97].
Também para dados não armazenados em sistemas de gestão de base de dados é possível
utilizar o conceito de consultas dinâmicas em visualizações de dados multidimensionais ou
multivariados, permitindo ao utilizador seleccionar os elementos que satisfazem as
89
restrições estabelecidas pelos deslizadores [Shneiderman98].
A utilização de deslizadores como forma de filtrar informação é igualmente referida por
outros autores. Um deslizador, como descrito em [Ahlberg92], é constituído pelo
identificador da variável, um campo com o valor corrente dessa variável e uma barra com
uma caixa que é arrastada para escolher um valor contido entre os valores mínimo e
máximo indicados no extremo da barra. Contudo, algumas variantes têm sido apresentadas.
Em [Ahlberg94b] são usadas duas caixas para permitir a escolha de dois valores. Para
dados de tipo texto é usado em [Osada93] o alphaslider que é uma especialização do
deslizador para a realização de pesquisas numa lista de palavras, frases ou nomes. O
resultado da pesquisa é mostrado numa linha de texto. Em [Ahlberg94a] são testadas
algumas variantes na apresentação gráfica do alphaslider (Fig. 2.55).
Fig. 2.55 – Alphaslider [Ahlberg94a] (ACM)
Fig. 2.56 – Exemplos de deslizadores [Eick94b](ACM)
Em [Eick94b] são propostas variações tanto no aspecto gráfico como na forma de
interagir com os deslizadores, tais como usar o espaço da barra para identificar a escala de
cores que codifica os valores dos elementos desenhados, representar um gráfico que
indique a densidade de valores ao longo do intervalo, ou realçar a existência de
determinados valores (Fig. 2.56). Em [Card99] considera-se que esta utilização da barra
corresponde a uma visualização auxiliar. A selecção de valores é feita sem o recurso à caixa
do deslizador, mas arrastando o rato sobre a barra o que permite seleccionar mais do que
90
um subintervalo.
O conceito de consultas dinâmicas é estendido a estruturas hierárquicas por Kumar et al.
[Kumar97]. A hierarquia é visualizada com um diagrama de nós ligados por segmentos aos
seus descendentes. Cada nível da hierarquia tem os seus atributos próprios e as restrições
nos domínios dos atributos são aplicadas nível a nível a partir da raiz. Em cada passo são
aplicadas restrições aos atributos do nível mais baixo visível. São usadas duas cores
distintas para identificar quais os nós que verificam as restrições e os que não verificam. Ao
passar ao nível seguinte, apenas são visualizados os descendentes dos nós que satisfizeram
as condições impostas no nível anterior. É em relação a estes nós que são aplicadas as
restrições de domínio no seu nível.
Fig. 2.57 – Filter/flow [Shneiderman94] (IEEE)
A restrição de mais do que um domínio de variação requer que se estabeleçam critérios
para combinar os resultados. O caso mais simples é a ligação de todas as condições com o
mesmo operador lógico. A escolha sequencial e interactiva dos valores de cada variável
(por exemplo, com deslizadores ou indicação directa da amplitude do intervalo ou dos
valores a usar) indica de forma clara qual o conjunto de restrições a impor. Em [Ahlberg92]
é escolhido por omissão o operador conjunção, que aliás é o único tratado, para a ligação
das restrições impostas por meio de deslizadores nas consultas dinâmicas. Contudo, em
[Shneiderman94] e [Young93] é descrita uma técnica, designada por filter/flow, que
permite elaborar consultas com combinação das operações lógicas conjunção, disjunção e
91
negação através da construção de gráficos com linhas de fluxo (Fig. 2.57). O gráfico é
desenhado numa janela própria. Do conjunto de atributos disponíveis é possível seleccionar
aqueles sobre os quais se pretende impor restrições. Para cada um é criado um filtro numa
janela com características adequadas à restrição a aplicar. Estas janelas são ligadas por
segmentos em sequência para indicar conjunções e em paralelo para disjunções. As janelas
têm um botão que, ao ser activado, calcula a negação da condição definida. Consultas mais
elaboradas podem ser obtidas atribuindo um identificador a uma consulta já construída e
inserindo-a como um filtro noutras consultas.
No sistema Iconographer [Gray90] é também utilizado um grafo, construído através de
um editor gráfico, para explicitar a combinação de restrições usando conjunções, disjunções
e negações. Cada nó do grafo é criado seleccionando num menu o identificador dum
atributo sobre o qual se pretende impor uma restrição. Sobre o nó escreve-se uma restrição
e a forma como os nós são ligados indica como são combinadas as restrições, isto é, se
estiverem em série, aplica-se a conjunção das condições, se em paralelo, aplica-se a
disjunção das condições. As negações são indicadas colocando um traço sobre o nó.
Trabalhando com consultas dinâmicas, Fishkin e Stone incorporam lentes mágicas,
como descritas em [Stone94] e já referidas a propósito da ampliação, para definir consultas
mais complexas [Fishkin95]. Cada lente tem um deslizador e botões para controlar a
filtragem relativamente a um atributo dos dados. A sobreposição de lentes gera a
composição de operações. Através dos botões selecciona-se a operação a usar para compor
o resultado da lente com o que for devolvido pelas lentes a que se sobrepõe. É possível criar
uma nova lente e associar-lhe a composição das operações de uma sequência de lentes e
reutilizá-la para construir consultas mais elaboradas. Cada lente é concretizada com uma
janela que pode encobrir apenas parcialmente a janela inicial. Deste modo é possível limitar
a consulta a determinada zona e realizar múltiplas consultas simultaneamente em zonas
distintas. Os elementos que verificam a consulta são representados com um atributo gráfico
diferente. As lentes não se destinam exclusivamente à restrição de domínios, havendo
lentes para realizar outro tipo de operações como, por exemplo, ampliações.
Em [Goldstein94] as consultas dinâmicas são combinadas com uma técnica de
manipulação de dados, designada por aggregate manipulator, que permite a combinação de
restrições através de conjunções e disjunções.
92
Esta técnica é aplicada a colecções de objectos com vários atributos (quantitativos ou
nominais) permitindo a restrição dos seus domínios (Fig. 2.58). O processo é conduzido a
partir da lista de atributos, onde é possível seleccionar um atributo, e através de
deslizadores, para variáveis quantitativas, ou selecção elemento a elemento, para variáveis
nominais, são estabelecidas restrições de domínio de modo a decompor o conjunto inicial
em subconjuntos. Cada subconjunto, a que é atribuído um identificador, pode ser outra vez
subdividido. A nova subdivisão é efectuada por decomposição mais estreita do domínio do
mesmo atributo ou por decomposição do domínio de outro atributo. Nos dois casos é criada
uma hierarquia em que os subconjuntos folhas verificam a conjunção das condições
estabelecidas em cada um dos nós que constituem o caminho até ao conjunto inicial.
A utilização da operação inversa, isto é, a aglomeração de subconjuntos já definidos,
resulta na união dos elementos que pertencem a cada um dos subconjuntos. Corresponde,
portanto, ao resultado da disjunção das condições que conduziram à criação de cada um dos
subconjuntos. Há assim a disjunção de condições eventualmente resultantes da conjunção
de outras condições.
Fig. 2.58 – Aggregate Manipulator [Goldstein94] (ACM)
Tal como em [Goldstein94], Spenke et al., no sistema FOCUS [Spenke96], permitem a
criação de novos atributos pelo utilizador, que são usados para elaborar restrições de
domínios mais complexas. Este mecanismo é adoptado em visualizações de tabelas onde
todos os objectos partilham os mesmos atributos. A tabela é visualizada com aspecto
semelhante a uma folha de cálculo: os atributos são dispostos por linhas e a cada objecto
corresponde uma coluna. A primeira forma de filtragem consiste em eliminar algumas
colunas e consequentemente os objectos que estas representam. Outra forma de filtragem é
93
baseada na restrição de domínios de atributos e é efectuada através de uma linha de
comandos. Os objectos que não verificam as condições impostas são eliminados e
subsequentes restrições sobre os mesmos ou outros atributos excluem aqueles que não
verificarem as novas restrições. Isto corresponde à conjunção da sequência de restrições.
Para guardar o resultado da filtragem efectuada, o utilizador pode criar um novo atributo
que toma o valor verdadeiro para os objectos obtidos, e, por conseguinte, visíveis, e falso
para os restantes. A disjunção de condições pode ser explicitamente indicada na linha de
comandos, ligando com o operador OR as várias condições que compõem a restrição de
domínios. A disjunção de restrições mais complexas efectua-se à custa da criação de
atributos correspondentes a restrições intermédias. O resultado final obtém-se por união dos
objectos em que pelo menos um dos atributos é verdadeiro, o que corresponde a construir
uma expressão lógica onde se utiliza o operador OR para ligar a restrição de domínio de
cada um dos novos atributos ao valor verdadeiro.
Soluções para a combinação interactiva de diferentes condições são também ensaiadas
em aplicações onde se efectuam consultas a sistemas de gestão de bases de dados de forma
gráfica, mas sem aplicação de consultas dinâmicas. No projecto VIMSYS [Kilger93] foi
desenvolvida uma interface para pesquisar uma base de dados de imagens recolhidas por
satélite. As interrogações à base de dados são efectuadas de forma interactiva recorrendo a
quatro estruturas elementares designadas por quadros, imagens, ligações e agrupamentos.
Para cada tipo de objecto guardado na base de dados existe um quadro onde se mostram os
parâmetros do objecto e os valores que podem tomar. O utilizador assinala interactivamente
nesse quadro as características dos objectos que pretende consultar. Com a estrutura
imagem podem realizar-se interrogações baseadas na semelhança de imagens ou de zonas
de imagens. É possível a combinação de duas estruturas de consulta através de ligações. O
utilizador selecciona, de entre um conjunto de operadores lógicos, qual a ligação a
estabelecer entre as duas estruturas, as quais podem ser já o resultado da ligação entre
outras estruturas. São assim permitidas combinações mais complexas do que conjunções
entre as restrições impostas em cada uma das estruturas elementares. De modo a traduzir
graficamente de forma simples interrogações complexas são definidos agrupamentos. Um
agrupamento corresponde à combinação de várias estruturas de interrogação e é
representado graficamente por um rectângulo com uma legenda que descreve o seu
94
conteúdo. Reduz-se, deste modo, o espaço ocupado no ecrã para a realização da
interrogação representada pelo agrupamento. Podem ser reutilizados agrupamentos
previamente definidos e é possível inspeccionar e modificar o seu conteúdo expandindo o
rectângulo que o representa. Com a definição deste conjunto de estruturas pretende-se
fornecer ao utilizador ferramentas que permitam de forma interactiva e sem grande
formação prévia realizar pesquisas à base de dados. No entanto, a definição dos quadros,
que servem de base à consulta, requer a identificação prévia dos tipos de objectos que
constituem a base de dados e das tarefas a executar.
Em [Ogle95] é igualmente descrita a interacção com uma base de dados de imagens,
desenvolvida no âmbito do projecto Chabot. Neste caso, as interrogações com critérios
mais complexos são efectuadas com a linguagem de consulta própria do sistema de gestão
de base de dados. Podem ser atribuídos identificadores às interrogações definidas
permitindo a sua reutilização para novas consultas. Contudo, para consultas mais simples,
baseadas na conjunção dos critérios fixados, está disponível uma interface baseada em
botões, menus e inscrição de palavras chave em linhas de texto. São listados todos os
atributos da informação e o utilizador selecciona aqueles sobre os quais impõe critérios de
escolha. Se o número de valores de um atributo é limitado, a escolha do valor é feita através
de um menu. Caso contrário, é usada uma linha de texto para indicar o valor pretendido.
Após serem explicitados os critérios para consulta, esta é activada carregando num botão
que gera a consulta na linguagem de interrogação da base de dados. As consultas definidas
deste modo podem também ser guardadas e reutilizadas. Como é possível editar as
consultas já construídas, o operador lógico de conjunção, que é usado por omissão, pode ser
substituído por outro operador. A interface gráfica usada para a construção da consulta é
específica para esta aplicação.
Podemos concluir que a aplicação de funções de grau de interesse e as consultas
dinâmicas são os processos interactivos que merecem mais atenção na filtragem de
informação. As primeiras porque permitem expressar o interesse do utilizador, quer por
quantificação da importância de cada um dos elementos de informação, quer por
identificação de uma zona de interesse. As segundas porque restringem os elementos a
visualizar em função do seu valor. Mas, nas consultas dinâmicas como em qualquer
processo de filtragem por restrição de domínio, o refinamento das soluções passa pela
95
capacidade de exprimir a combinação de condições com vários operadores lógicos de forma
interactiva, problema que tem merecido a atenção de vários autores. Nas soluções
apresentadas há a considerar: a selecção explícita do operador a usar para combinar várias
restrições; a utilização de gráficos baseados em grafos ou linhas de fluxo, onde as
conjunções são representadas por ligações em série e as disjunções por ligações em
paralelo; a criação de novos atributos, através de restrições de domínios, a partir dos quais é
possível fazer a disjunção de condições; e a obtenção de combinações complexas por
composição de combinações de restrições definidas previamente.
2.2.4
Controlo da densidade de informação
O controlo da densidade de informação é efectuado normalmente de forma indirecta,
quer por aplicação de algoritmos de agrupamento de dados que reduzem o número de
objectos por aglomeração de vários num único, quer à custa de mecanismos de filtragem
que diminuem o número de objectos representados por eliminação de alguns deles e, em
alguns casos, também por simplificação da representação. No entanto, alguns trabalhos
debruçam-se explicitamente sobre este assunto, como é o caso de [Ellis02] e [Frank94]
onde o controlo da densidade de informação é feito de forma automática, ou de
[Woodruff98a] onde este controlo é conduzido pelo utilizador.
Ellis e Dix propõem o controlo da densidade de informação através da selecção aleatória
de um subconjunto dos dados em [Ellis02] e também em [Dix02]. Os autores argumentam
que esta técnica não requer conhecimentos prévios relativamente aos dados e não é
exigente do ponto de vista computacional. Além disso, na maior parte dos casos os dados
originais são também uma amostragem aleatória, por isso consideram natural uma nova
selecção aleatória. Um dos problemas a resolver na aplicação deste método é o tratamento
de ampliações, reduções e panorâmicas. Nestas operações a janela do utilizador sofre
alterações e, como o número de elementos representados deve manter-se constante, é
necessário o reajustamento dos elementos que devem ser desenhados. A solução mais
simples consiste em gerar aleatoriamente um novo subconjunto. No entanto, desta forma
não se garante que se mantenham elementos comuns em imagens sucessivas dificultando a
interpretação da imagem. Por exemplo, ao ampliar uma zona convém manter os elementos
já existentes e juntar outros. No caso de reduções, são eliminados alguns elementos, mas
96
convém manter aqueles que foram desenhados em representações anteriores associadas à
mesma escala. É, portanto, necessário existir alguma forma de registo de situações
anteriores. A solução adoptada por estes autores, para resolver este problema na
visualização de bases de dados relacionais, consiste na criação de um novo atributo,
designado por z-index, cujos valores são gerados aleatoriamente. Em cada visualização são
representados os elementos cujo valor do atributo z-index pertence a um determinado
intervalo. A amplitude do intervalo pode ser adaptada de modo a atingir-se a densidade
pretendida. Assim, ao efectuar ampliações pretende-se aumentar o número de elementos
representados numa dada zona e por isso aumenta-se a amplitude do intervalo.
Relativamente às reduções, o objectivo é eliminar alguns dos elementos desenhados e por
isso reduz-se a amplitude do intervalo, mantendo-se a densidade de informação porque são
incluídos outros elementos que não pertenciam à janela anteriormente fixada.
Em [Frank94] é reproduzido o princípio da densidade de informação constante
enunciado em [Topfer64]. Este princípio estabelece que deve ser constante a razão entre o
número de objectos e a área de representação. Contudo, dado que este trabalho é
desenvolvido no domínio das representações cartográficas, onde os autores consideram
mais importante manter a uniformidade na densidade gráfica, a densidade de informação é
controlada não pelo número de objectos, mas através da medição da quantidade de “tinta”
utilizada, isto é, do número de pixels que são usados para a representação. Previamente é
fixado o valor que se considera adequado para a razão entre o número de pixels utilizados e
o número total de pixels. À medida que se desenham os elementos calcula-se o número de
pixels que ocupam e pára-se o desenho quando é atingido o valor fixado. A janela de
desenho pode ser dividida em subjanelas para aplicar esta estratégia separadamente a cada
uma delas de modo a optimizar a distribuição de “tinta” na janela.
O mecanismo para controlo da densidade de informação proposto em [Woodruff98a] é
também baseado no princípio da densidade de informação constante. Neste caso é o
utilizador que controla o número de objectos a representar. Este método é aplicado no
sistema VIDA destinado à visualização de bases de dados. Todos os elementos de uma
tabela são representados por símbolos gráficos 2D idênticos, dependendo a sua posição,
altura, largura, cor e orientação dos valores da tabela. As visualizações são definidas num
espaço 2D onde é permitida a realização de panorâmicas e ampliações/reduções. Estas
97
operações são realizadas fazendo uma analogia com o movimento de uma câmara num
espaço 3D localizado sobre o plano de desenho: os deslocamentos da câmara em xx e yy
correspondem a panorâmicas e os deslocamentos em zz, ao provocarem afastamento ou
aproximação ao plano, correspondem a reduções ou ampliações, respectivamente. Os
objectos representados estão organizados em níveis (layers) cada um deles associado a uma
tabela da base de dados. Numa janela para interacção, designada por layer manager, cada
nível é representado por uma barra vertical (Fig. 2.59). As posições dos topos superior e
inferior da barra indicam, respectivamente, as alturas máxima e mínima da localização da
câmara entre as quais os objectos desse nível são representados, e a largura da barra traduz
o número de objectos visíveis. Atendendo a que a dimensão do enquadramento se mantém
constante, à medida que a câmara se afasta do plano a área mostrada é maior e por isso o
número de objectos visualizados aumenta. É assim normal as barras serem mais largas no
topo que na base. Para medir a quantidade de informação visível são usadas funções,
designadas por funções de densidade, como, por exemplo, a soma do número de objectos
visíveis para uma dada posição da câmara. O utilizador pode estabelecer limites superior e
inferior para os valores desta função. Uma régua lateral, na janela de interacção, que traduz
a altura da câmara, é colorida usando três cores que indicam, para cada altura, se o número
de objectos visíveis é inferior, está contido ou é superior aos extremos fixados. Para
modificar o volume de objectos representados para cada altura da câmara, o utilizador
pode: alterar as posições do topos superiores e inferiores das barras de cada nível
modificando deste modo a altura para a qual os elementos do nível são visíveis; actuar
sobre o conteúdo da base de dados, quer combinando ou apagando elementos, quer através
de operações de selecção ou união; modificar a representação gráfica utilizada para cada
tabela. Além da actuação directa do utilizador para modificar o volume de informação
representado, está também previsto um mecanismo semiautomático que, a partir da
modificação da largura das barras dos níveis, sugere ao utilizador várias alternativas de
alteração, seja usando operações sobre os dados, seja alterando a representação.
Esta estratégia garante uniformidade na densidade da informação com a variação da
escala, mas não estabelece qualquer condição sobre a distribuição dos elementos em xx e
yy. Assim, nada impede que os elementos possam ficar concentrados em determinadas
zonas. Para resolver este problema é proposto em [Woodruff98b] que a selecção da
98
representação gráfica a usar tenha em atenção a densidade local, escolhendo-se
representações mais simplificadas em zonas com maior densidade, como já foi explicado na
secção sobre múltiplas representações.
Fig. 2.59 – Controlo do número de elementos visíveis [Woodruff98a] (ACM)
Em qualquer dos trabalhos referidos, pretende-se atingir o objectivo de manter constante
a densidade de informação, embora sejam utilizados critérios de medida distintos. Enquanto
que no trabalho de Frank et al. se mede o número de pixels utilizados, nos outros trabalhos
citados é controlado o número de objectos desenhados. A primeira abordagem impede o
recurso a bibliotecas gráficas já construídas, visto ser necessário identificar quais os pixels
que contribuem para a representação de informação. A segunda assume que os objectos têm
representações que ocupam aproximadamente a mesma área no ecrã.
2.3
Sistemas de visualização
Entre os sistemas de visualização conhecidos é possível distinguir, por um lado, aqueles
que pretendem dar a possibilidade de gerar visualizações para diferentes conjuntos de
dados, e, por outro lado, os que se centram numa determinada área de interesse.
Os primeiros, que serão designados por sistemas de visualização genéricos, são tratados
separadamente. Alguns destes sistemas, apesar de poderem visualizar dados de diferentes
proveniências, incluem operações que dirigem a sua aplicação para determinadas áreas de
interesse como, por exemplo, o ADVISOR [Eick00a] que será referido nesta secção.
Nos segundos englobam-se aqueles que têm por objectivo resolver um problema
concreto, e ao fazê-lo exploram novas formas de visualização, como acontece no sistema
Starlight [Risch97], e outros cujo ênfase está na investigação de novos modelos de
99
interacção e visualização como o Information Visualizer [Card91]. Neste grupo podem
incluir-se os sistemas que se relacionam com a visualização na Internet. Focaremos estes
sistemas, não só devido à importância crescente deste assunto, mas também por tratarem da
utilização de técnicas de visualização para resolver os problemas decorrentes da interacção
com um vasto espaço de informação.
Para cada sistema de visualização destacar-se-ão as formas de visualização e interacção
mais relevantes
2.3.1
Sistemas de visualização genéricos
Normalmente, para cada conjunto de dados que se pretende visualizar é construída uma
visualização própria adaptada ao tipo de exploração que se pretende fazer e, por vezes, ao
tipo de utilizador que a efectuará. Além de exigir esforço, tempo e conhecimentos no
domínio de software gráfico para o desenvolvimento da visualização, esta dificilmente é
aproveitada para outros dados. Daí a necessidade de se criarem sistemas de visualização
genéricos para a construção de visualizações. Deste modo uma pessoa interessada em
visualizar um conjunto de dados pode ela própria construir uma visualização dos seus
dados sem necessidade de possuir conhecimentos aprofundados sobre software específico,
quer para a representação gráfica, quer para a construção da interface entre o utilizador e os
dados. Por outro lado, para o caso dos sistemas em que se podem incorporar novos
módulos, o objectivo é reduzir o tempo na construção da visualização utilizando código já
desenvolvido.
O sistema VANISH [Kazman96a] [Kazman96b] tem por objectivo criar um ambiente
para o desenvolvimento expedito de visualizações. A informação é tratada como se tivesse
uma estrutura hierárquica, em que cada nó é identificado individualmente, tendo um
conjunto de atributos e de ligações com outros nós. Permite também a visualização de
informação não hierárquica desde que seja estabelecida uma ligação pai-filho entre os nós
que compõem a informação. Pretende-se manter a independência, quer em relação ao
domínio da informação a visualizar, quer em relação ao software gráfico a utilizar. Isto é
conseguido definindo duas classes abstractas: a primeira que estabelece os mecanismos de
acesso a cada um dos nós e aos seus atributos para cada domínio de informação define-se uma subclasse desta; a segunda descreve a funcionalidade fornecida para representar
100
a estrutura da informação a visualizar para cada software gráfico a usar existirá uma
subclasse desta. É utilizada uma linguagem de programação visual própria, VaPL, para
simplificar a construção de mapificações, isto é, a ligação entre o domínio da informação e
o das representações gráficas. Outro ponto a salientar é o conceito de foco corrente
associado a um nó que permite, por um lado, eliminar nós mais distantes, e, por outro,
modificar o aspecto dos nós de acordo com a sua distância ao foco.
Em [Campo97], é descrito o sistema Telescope que fornece uma estrutura para o
desenvolvimento de sistemas de visualização permitindo a gestão automática de diferentes
níveis de detalhe. Para esse efeito é introduzido o conceito de abstractor objects que são
componentes genéricas do processo de visualização através dos quais são especificados
algoritmos de análise e critérios de selecção sem necessidade de modificar, quer as classes
que organizam a informação, quer as classes que tratam a visualização. Interactivamente o
utilizador pode variar o nível de detalhe que pretende visualizar e os abstractors objects
seleccionam os elementos a visualizar. O sistema foi desenvolvido numa linguagem
orientada por objectos, sendo cada uma das componentes constituída por classes abstractas
que providenciam o comportamento genérico do sistema. Cada aplicação desenvolvida com
Telescope tem de concretizar o comportamento das várias componentes. Os autores
distinguem seis componentes principais: data representation, que controla a forma de
guardar e aceder aos dados a visualizar; data abstraction, concretizada com abstractor
objects, que determina quais os elementos que são visualizados, classificando-os em
conjuntos de objectos relacionados, correspondendo, portanto, a uma componente de
filtragem; data objects graphical objects mapping, que faz a associação entre os dados e
a sua representação gráfica; visualization, que é dividida em duas componentes, a
apresentação, que constrói a apresentação dos dados, e a interacção, que contempla os
aspectos de interacção do utilizador com a apresentação; e visualization state, que contém
informação sobre o estado corrente do sistema. A componente de visualização pode usar
várias janelas, cada uma delas ligada a um abstractor object e a uma mapificação, isto é,
cada janela obtém a informação para ser mostrada através do abstractor que lhe está
associado e que determina os objectos e as propriedades que serão efectivamente
visualizadas.
Em representações tridimensionais é usada uma técnica, designada por AutoFocus, para
101
reflectir a importância dos elementos representados. Esta importância é determinada à custa
do número de vezes que cada elemento é seleccionado pelo utilizador e é traduzida no grau
de opacidade com que o elemento é representado.
O Information Visualization and Exploration Environmemt (IVEE) [Ahlberg95] é um
sistema para a criação automática de consultas gráficas a uma base de dados relacional
baseando-se na interacção com consultas dinâmicas [Shneiderman92b]. Ao contrário do
que se verifica nos sistema VANISH e Telescope, o utilizador não precisa de programar
nenhuma componente. Tanto a visualização como os mecanismos de consulta são gerados
automaticamente. O IVEE examina os atributos de uma relação especificada pelo utilizador
e classifica-os em termos de tipo (inteiros ou strings) e tamanho (número total de valores
do atributo e o número de valores distintos). Os dados são depois guardados numa base de
dados interna do IVEE.
A interface do IVEE tem duas componentes principais, a área de consulta (query area) e
a área de visualização (visualization area). Na área de consulta são criados mecanismos de
interacção usados em consultas dinâmicas, como botões comutadores (toggle buttons),
alphasliders, já mencionados a propósito das consultas dinâmicas, e rangesliders, que são
uma variante de deslizadores em que é possível fixar dois valores que correspondem a
extremos de um intervalo. Todos eles efectuam restrições de domínio dos atributos e
desencadeiam a visualização dos elementos que verificam a conjunção das restrições
impostas a cada uma das componentes. O método escolhido para cada atributo depende do
tipo de dados e do número de opções.
Relativamente à visualização, para cada objecto duma relação da base de dados há um
objecto gráfico associado, por exemplo, um quadrado, um ícone ou um objecto arbitrário
bidimensional ou tridimensional. Por omissão, será associado a cada objecto um quadrado.
Podem ser associadas representações gráficas definidas pelo utilizador através de um
ficheiro associado à base dados. O ficheiro pode conter um único objecto gráfico para cada
objecto da base de dados, ou um conjunto de representações gráficas e a forma de as
associar a objectos da base de dados. Uma das componentes do IVEE, usada no processo de
visualização, adapta a representação 2D ou 3D para aumentar o desempenho, recorrendo ao
uso do modelo de arames, à omissão de legendas ou à utilização de representações com
menor resolução.
102
A visualização básica oferecida por este sistema, designada por starfield, é uma nuvem
de pontos que inclui mecanismos de interacção, como a realização de ampliações/reduções,
panorâmicas e detalhes a pedido. Duas variáveis da base de dados são escolhidas para os
eixos do starfield. As propriedades de cada elemento são codificadas pela cor, intensidade,
forma, tamanho e localização espacial. Podem ser associados à base de dados objectos
gráficos que servem de fundo à imagem (background objects), por exemplo, mapas
fornecidos em formato vectorial, permitindo a realização de ampliações/reduções.
O cocktailmap é outra forma de visualização disponível no IVEE e está vocacionada
para a representação da comunicação entre agentes, por exemplo, mostrar o tempo de
intervenção de cada interlocutor numa discussão envolvendo vários tópicos [Ahlberg96]. A
representação usada divide a área de representação em colunas, uma para cada tópico
abordado (Fig. 2.60). A largura da coluna é proporcional ao tempo ocupado na discussão
desse assunto. Cada coluna é dividida horizontalmente em áreas rectangulares coloridas,
uma para cada interlocutor, cuja altura é proporcional ao tempo total de intervenção dessa
pessoa na discussão desse tópico. Esta representação é construída a partir de uma base de
dados, composta por tuplos com informação sobre as intervenções de cada participante em
cada assunto. A descrição dos objectos gráficos que constituem a representação, neste caso
rectângulos de tamanho proporcional aos atributos do tuplo que representam, é fornecida
através de um ficheiro.
Fig. 2.60 – Cocktailmap [Ahlberg96] (ACM)
Numa primeira aproximação o IVEE considera apenas uma única relação na base de
dados. No caso de haver mais relações, poderá, eventualmente, criar-se uma relação que
permita que o conjunto das relações seja olhado como uma única relação. Contudo, é
possível visualizar simultaneamente mais do que uma relação desde que tenham, pelo
103
menos, dois atributos em comum. Neste caso, cada relação terá para cada um dos seus
atributos um mecanismo de interacção próprio.
Em [Stolte00] é apresentado outro sistema, designado por Polaris, que permite a
pesquisa e visualização interactiva de uma base de dados relacional. O utilizador selecciona
interactivamente quais os campos da base de dados a visualizar, os agrupamentos a realizar
e as funções agregadoras a aplicar, havendo uma conversão automática para comandos
SQL para efectuar a pesquisa à base de dados. São mostradas em simultâneo as
visualizações construídas para os diferentes agrupamentos gerados. São usadas
representações 2D em que cada eixo está associado a um dos campos seleccionados na
pesquisa. Uma das representações consiste no desenho de um ícone para cada tuplo
resultante da pesquisa (Fig. 2.61). Interactivamente o utilizador faz a ligação das diferentes
características de um ícone aos atributos associados ao tuplo.
Fig. 2.61 – Polaris [Stolte00] (IEEE)
O sistema ADVISOR [Eick00a] [Eick00b] foi desenvolvido para a visualização de
dados organizados em tabela, mas sem estar explicitamente ligado à visualização de bases
de dados relacionais. Segundo o autor, este sistema está vocacionado para a análise de
clientes num ambiente empresarial e, por isso, além de incorporar várias formas de
104
visualizar dados multivariados18 inclui outras facilidades, como publicar o resultado da
análise dos dados em documentos preparados para divulgação na Web e partilhar os
resultados com outros sistemas para desencadear acções comerciais.
Este sistema incorpora várias formas de apresentar os dados, denominadas componentes
visuais (visual components), onde se incluem formas usuais de representação como gráficos
de barras, gráficos circulares e nuvens de pontos, conjuntamente com outras formas de
visualização. Uma delas, designada por Time Table, destina-se a visualizar a data de
ocorrência de eventos. Cada evento é mostrado por um ícone sobre uma grelha
bidimensional regular em que um dos eixos marca a evolução no tempo e o outro assinala
os diferentes tipos de eventos. A cor, a forma e a orientação dos ícones identificam
características dos eventos.
Existe também uma componente destinada à visualização de grafos. Uma vez que o
ADVISOR trata dados multivariados organizados em tabela, os grafos são descritos usando
tabelas, uma para os nós e outra para os arcos.
Tabelas de texto são visualizadas adoptando a técnica usada no sistema SeeSoft, já
mencionado a propósito de listas de texto (subsecção 2.1.5). As linhas de texto são
reduzidas a segmentos de recta com origem e comprimento semelhantes ao texto que
reproduzem.
As componentes ParaBox e Multiscape adaptam formas de visualização conhecidas. A
ParaBox combina as coordenadas paralelas de Inselberg com a codificação de quantidades
em áreas circulares e rectangulares. A Multiscape usa uma representação semelhante a um
gráfico de barras 3D onde é possível representar valores negativos, incluir legendas
interactivamente e substituir as barras por outras formas geométricas.
Os sistemas para geração de visualizações baseadas em ícones, já referidos no âmbito da
visualização de dados multivariados, podem também incluir-se nos sistemas de
visualização genéricos, porque, de um modo geral, permitem a visualização de diferentes
conjuntos de dados estabelecendo-se muitas vezes a ligação entre a informação a
representar e os elementos gráficos que a representam de forma interactiva. Destacaremos o
Iconographer [Gray90] pelo facto de ter uma arquitectura que permite a sua adaptação a
18
De acordo com a classificação de dados que adoptámos, os dados a que o autor se refere são
multivariados, apesar de nos artigos citados se usar o termo multidimensional.
105
diferentes conjuntos de dados e contemplar a especificação, quer da conjunção, quer da
disjunção de restrições nos domínios das variáveis. Integra seis componentes fundamentais.
A primeira é o Object Adapter, que converte os dados para o formato adequado para o
Iconographer. É necessário desenvolver um módulo que faça esta conversão para cada tipo
de informação a visualizar ficando confinado a este módulo a interface com a aplicação.
Posteriormente, o Object Filter permite restringir o volume de objectos representados
através de um grafo construído pelo utilizador num editor gráfico, como já foi referido na
subsecção 2.2.3. Uma componente fundamental é o Switchboard, onde se estabelece a
ligação entre a informação a visualizar e os atributos dos ícones que a irão representar. Esta
ligação é feita com um editor gráfico que, por um lado, mostra quais os atributos da
informação a visualizar e, por outro lado, mostra quais os atributos dos ícones em que
podem ser aplicados, por exemplo, componentes x e y da posição, cor, cor do bordo,
legenda. É o utilizador que estabelece as ligações e é possível associar a um atributo da
informação mais do que um atributo do ícone. Por omissão é definida uma aplicação entre o
intervalo de valores verificados para cada atributo da informação e os valores possíveis
para o atributo do ícone. Esta aplicação pode ser ajustada pelo utilizador. A componente
Icon Generator fornece um conjunto de ícones de entre os quais se selecciona qual deve ser
usado. A disposição final dos ícones na imagem é controlada pelo módulo Compositor. Há
também um conjunto de disposições definidas previamente que podem ser seleccionadas,
como, por exemplo, a colocação segundo uma grelha regular, ou de acordo com as posições
definidas pelo valor dos atributos. Finalmente, a componente Picture Adaptor trata da
geração da imagem. Esta componente depende do equipamento e software gráfico
utilizado, podendo ser integrados diferentes módulos para permitir a utilização de diferentes
plataformas.
Um outro sistema, o AutoIcon [Fairchild93], tem por objectivo criar um ambiente que
permita gerar a representação gráfica de forma automática baseando-se na informação da
cada elemento. Este sistema, já mencionado a propósito da utilização de representações
múltiplas, tem como modelo básico para a construção da visualização um vector de ícones,
cujos valores dos atributos gráficos são determinados pela informação de cada elemento. O
ícone escolhido para cada elemento depende do valor da função de grau de interesse obtido
para esse elemento. Tal como acontece no Iconographer, o AutoIcon trata também o
106
problema da adaptação dos dados ao sistema de visualização. Neste caso é construída uma
hierarquia de classes, designadas por surrogate object classes. Para cada novo tipo de
informação a tratar, ou se cria uma subclasse doutra já existente ou se constrói uma nova
classe para importar os dados. Esta classe irá determinar qual o vector de ícones que será
usado para a visualização de objectos importados pela classe. A representação gráfica usa
um espaço tridimensional e a função de grau de interesse, além de determinar qual o ícone
que deve ser usado para cada elemento, é também usada para ajustar a posição de cada
elemento, aproximando do observador os elementos com maior grau de interesse e
afastando os de menor grau de interesse.
Num sistema de visualização em que haja mais do que uma mapificação disponível o
utilizador debate-se quase sempre com a dificuldade em escolher a mais adequada para os
seus dados. Alguns autores têm-se debruçado sobre o tema da escolha automática de uma
representação gráfica. O trabalho realizado por Mackinlay é uma referência neste domínio
[Mackinlay86] [Mackinlay88]. Aplicando técnicas de Inteligência Artificial, desenvolveu
uma ferramenta (APT) para automatizar a apresentação gráfica, bidimensional, de
informação extraída de uma base de dados relacional. As representações gráficas são
construídas à custa de elementos gráficos, como pontos, linhas e áreas, que traduzem
informação através da sua posição, evolução no tempo, e propriedades retinianas19, como a
cor, forma, tamanho, textura e orientação. A escolha da representação adequada, para
determinado conjunto de dados, é baseada em critérios de expressividade (expressiveness) e
eficácia (effectiveness). O critério de expressividade selecciona as representações que
traduzem exactamente a informação, isto é, toda a informação a representar e só essa. O
critério de eficácia identifica qual das representações que expressam a informação é a mais
eficiente atendendo às capacidades de percepção da visão humana e às características do
equipamento de saída gráfica.
Outros autores têm apresentado trabalhos sobre a escolha automática de representações:
introduzindo taxonomias para a classificação da informação (SAGE) [Roth90] [Zhou96];
orientando a geração da apresentação gráfica atendendo à tarefa a que se destina (BOZ)
[Casner91]; incidindo na visualização de dados científicos (VISTA) [Senay94] [Senay90a],
19
J. Bertin definiu como propriedades retinianas, as características a que a retina é sensível
independentemente da posição do objecto [Mackinlay86].
107
na apresentação de dados multidimensionais (Auto Visual) [Beshers93], ou na visualização
de dados relativos a monitorização de redes de computadores [Russo01]. Em [Senay90b]
encontram-se compiladas regras a aplicar na construção de visualizações. Estas regras,
recolhidas em publicações de vários autores, estão agrupadas em termos de expressividade
e de eficácia.
Outro aspecto a considerar quando existe mais de uma mapificação disponível é a
possibilidade de visualizar simultaneamente diferentes mapificações da mesma informação
e, além disso, permitir que, ao interagir com uma das visualizações, os elementos
seleccionados sejam realçados também nas outras. Este aspecto é contemplado nas folhas
de cálculo para a visualização de informação. Estas folhas são caracterizadas em [Chi98]
por se apresentarem como uma tabela de células, em que cada uma delas visualiza os dados
que lhe estão associados, possuírem operadores que actuam sobre o conteúdo das células e
propagarem as alterações efectuadas numa célula por todas as células que partilhem os
mesmos dados. Em [Chi98] é apresentado um exemplo destas folhas de cálculo. Este
sistema usa a biblioteca gráfica vtk [Schroeder98] permitindo, através de uma linguagem de
comandos, que o utilizador construa visualizações próprias para os seus dados. O sistema
FINESSE usa também uma de folha de cálculo para visualização de informação, mas neste
caso dirigida para a visualização de informação financeira [Varshney96].
Outra forma de coordenação de múltiplas visualizações é ensaiada no sistema Visage
[Roth96] [Kolojejchick97]. O utilizador obtém uma visualização diferente arrastando um
objecto para outra janela, ou melhor, arrastando um elemento para outra frame. Um
elemento é uma entidade gráfica, que se pode seleccionar e que está associada a um
objecto, e uma frame é uma janela a que está associada um determinada operação ou
aplicação de visualização. A cor dos elementos mantém-se em todas as frames de modo a
facilitar a sua identificação.
No sistema ADVISOR, já referido nesta secção, também é possível usar
simultaneamente várias formas de representação, em janelas diferentes, para mostrar os
mesmos dados, realçando características diferentes. A interacção sobre os dados numa
janela, seja na selecção de um foco de interesse, seja na selecção ou exclusão de valores,
reflecte-se nas outras janelas, reforçando-se a ligação visual entre as várias representações
através da utilização do mesmo mapa de cores.
108
Finaliza-se destacando que nos sistemas de visualização referidos há nitidamente dois
grupos distintos: o dos sistemas “prontos a usar”, como o IVEE, e o dos sistemas que
fornecem um núcleo que é necessário adaptar aos dados em estudo, como o Telescope. Aos
sistemas do primeiro grupo basta fornecer os dados devidamente formatados, gerando-se
automaticamente a interface que permite ao utilizador visualizar e explorar os seus dados.
Os sistemas do segundo grupo requerem que o utilizador programe, quer desenvolvendo
código para ligar ao núcleo já construído, quer usando ambientes de programação visual
para escolher a visualização adequada aos seus dados. Naturalmente que este tipo de
sistemas se destina a utilizadores mais especializados, requer mais tempo para a obtenção
de visualizações, mas, regra geral, molda-se mais facilmente aos interesses do utilizador.
Normalmente, cada sistema de visualização fornece várias formas de representação,
verificando-se que a representação por ícones é das mais comuns. Havendo várias
mapificações, levanta-se o problema de seleccionar a mais adequada para a visualização
dos dados em estudo. A escolha automática do tipo de representação em função do tipo de
dados e/ou das tarefas a executar é tema de estudo de vários autores. Outro assunto tratado
é a utilização simultânea de diferentes formas de visualização para a mesma informação,
permitindo identificar em todas um elemento seleccionado numa delas.
2.3.2
Outros sistemas de visualização
Alguns sistemas de visualização são desenvolvidos para resolverem problemas concretos
como é o caso do Starlight [Risch97] [Risch96]. Este sistema foi desenvolvido originalmente para aplicações de serviços de informação e pretende suportar a análise de
informação multimedia incluindo texto, imagens e informação geográfica. Além de um
sistema de informação para guardar, pesquisar e gerir o acesso à informação, fornece um
conjunto de métodos de visualização 2D e 3D que permitem a integração dos diferentes
tipos de informação a representar.
Há uma primeira fase de pré-processamento para guardar a informação no formato
adequado. É sobre metadata extraída nesta fase que se faz a análise da informação e a
construção das visualizações adequadas.
No processo de visualização são usadas várias técnicas para permitir enquadrar os
elementos individuais no conjunto de toda a informação. A visualização é feita num espaço
109
tridimensional, no qual se pode navegar interactivamente, permitindo a aproximação às
estruturas que se pretende inspeccionar com mais detalhe. Cada documento é representado
por um ícone tridimensional e a sua disposição espacial, cor e forma veiculam informação
sobre o seu conteúdo. A um ícone pode juntar-se texto, quer de forma estática, quer usando
text streaming, uma técnica que consiste em mostrar sequencialmente, uma de cada vez, as
palavras de um texto. A velocidade a que o texto é mostrado pode ser ajustada pelo
utilizador.
A localização no espaço de cada documento é determinada de forma diferente consoante
o seu conteúdo. Para documentos com texto livre, a análise semântica dos documentos é
usada para gerar uma nuvem de pontos tridimensional, designada por similarity display,
limitada por uma caixa envolvente cúbica: documentos que estão fortemente relacionados
entre si estarão mais próximos comparativamente com outros com os quais tenham menos
semelhanças. Para informação organizada por atributos, os ícones que representam os
documentos são distribuídos sobre a superfície de uma esfera, datasphere, e agrupados de
acordo com o valor de um dos atributos. Estas estruturas gráficas, similarity plot e
datasphere, de que podem existir várias ocorrências, são envolvidas por uma superfície
semi-esférica, cuja zona plana é paralela à base dos similarity plots, e na qual são
visualizados elementos da base de dados, como documentos ou imagens, e também
informação auxiliar, como mapas (Fig. 2.62). É possível visualizar ligações entre os ícones
tridimensionais e os elementos representados nesta superfície.
Fig. 2.62 – Datasphere e similarity plot
[Risch97] (IEEE)
Fig. 2.63 – Link Net [Risch97] (IEEE)
Além das técnicas de visualização, há no Starlight mecanismos para pesquisa de
informação. Há dois tipos de operações de interrogação: de conteúdo, devolvendo o
110
conjunto de elementos que satisfazem a interrogação; e de associação, devolvendo um
esquema de ligações entre elementos relativamente a um atributo. Graficamente, uma
consulta de conteúdo realça os elementos que verificam a condição estabelecida. O
resultado duma consulta de associação é traduzido por uma representação 3D, designada
por Link Net, que incorpora características da árvore de cones e das coordenadas paralelas
de Inselberg (Fig. 2.63).
No sistema Information Visualizer [Card91] [RobertsonG93a] pretende-se testar um
novo paradigma para a interface de sistemas de pesquisa de informação, juntando aos
mecanismos de pesquisa ferramentas para a sua análise e procurando minimizar os custos
de acesso à informação. A abordagem seguida centrou-se em quatro pontos fundamentais:
utilizar agentes semiautónomos para desempenhar várias tarefas; manter níveis de
interacção razoáveis; aumentar o espaço de trabalho; e usar abstracções visuais da
informação para detectar padrões. São os últimos dois pontos que nos interessa realçar
neste contexto. Relativamente ao aumento de espaço, os autores fazem evoluir o conceito
de Rooms [Henderson86] para uma representação tridimensional permitindo a inclusão de
mais objectos simultaneamente no ecrã. O conceito de Room é uma extensão do conceito de
desktop para múltiplos espaços de trabalho (workspaces). Em cada espaço de trabalho
encontram-se os objectos que permitem a ligação a informação e a aplicações relacionadas
com determinada tarefa. O utilizador pode movimentar-se entre os vários espaços de
trabalho, mas para minimizar a mudança frequente entre eles, alguns objectos partilham
vários espaços. Para auxiliar o utilizador a orientar-se no universo, existe uma visão de
conjunto (overview) com imagens reduzidas dos vários rooms. O Information Visualizer
usa também uma visão de conjunto para aceder a cada um dos espaços de trabalho, mas a
utilização de Rooms tridimensionais requer uma navegação mais elaborada dentro de cada
espaço.
No que diz respeito a técnicas de visualização, o Information Visualizer explora a
utilização de visualizações 3D para diversos tipos de informação. Algumas das técnicas
usadas foram já referidas anteriormente, como a árvore de cones para as estruturas
hierárquicas e a parede em perspectiva para estruturas lineares. Outras formas de
visualização são ainda incluídas: superfícies para representação de grandezas contínuas
conhecidas em vários pontos, e que os autores denominam data sculpture; a representação
111
da estrutura tridimensional de um edifício para aceder a informação sobre as pessoas que
trabalham no edifício; uma visualização 2D, designada por Information Grid, para
representar informação relativa a documentos; e representações para informação com
dependência temporal - Spiral Calendar e Time Lattice.
Relativamente à representação Information Grid, esta tem por base uma interface para a
procura de informação numa base de dados de documentos, fornecendo também acesso a
aplicações para actuar sobre os documentos obtidos, como editores de texto [Rao92].
Fig. 2.64 – Spiral Calendar
[Mackinlay94] (ACM)
Fig. 2.65 – Time Lattice [Mackinlay94]
(ACM)
Quanto às técnicas para visualização de informação dependente do tempo incluídas no
Information Visualizer [Mackinlay94], existe uma para acesso a uma agenda pessoal e
outra para relacionar agendas de grupos de pessoas. A primeira, Spiral Calendar, distribui
ao longo de uma espiral uma sequência de imagens cada vez maiores e que correspondem a
ampliações de uma zona da imagem anterior. Para realçar a ligação entre a zona ampliada e
a zona que lhe deu origem é usada a projecção de uma pirâmide truncada transparente que
liga as duas zonas. A imagem inicial, que é a de menores dimensões, representa uma
sequência de anos, a imagem seguinte os meses de um ano, a seguir são representados os
dias de um mês, depois a agenda semanal e assim sucessivamente até se chegar aos
pormenores de uma marcação de reunião num dado dia e hora (Fig. 2.64). A visualização
para relacionar agendas de diferentes pessoas, usa um gráfico com três eixos, Time Lattice,
a que estão associados respectivamente, as pessoas, os dias do ano e as horas do dia. Cada
evento é representado por um cubo na posição determinada pelo terno (pessoa, dia, hora).
Para complementar a análise são também projectadas sombras sobre cada um dos planos
112
principais. Por exemplo, a projecção no plano definido pelos eixos pessoas e horas poderá
dar uma noção da distribuição de tarefas de uma pessoa ao longo de um dia (Fig. 2.65).
Sistemas de visualização e a Internet
Relativamente à visualização de informação distribuída acessível através da Internet há
diferentes aspectos a considerar. Por um lado, a visualização de dados que se encontram
disponíveis, por outro lado, a visualização do resultado da navegação na Internet, quer em
relação ao conteúdo da informação que se obtém, quer aos caminhos que foram
percorridos, e a visualização da estrutura de um sítio (site) ou das ligações entre vários
sítios. A maior parte dos trabalhos referidos utiliza a World Wide Web20, contudo os temas
abordados são comuns a outros sistemas hipermédia distribuídos, aliás um dos trabalhos
referidos utiliza o sistema Hyper-G. As visualizações encontradas baseiam-se,
essencialmente, em grafos e, quase sempre, é possível o uso de agrupamentos para reduzir
o volume de informação representado.
Servidor
Dados
Servidor
Cliente
Filtragem
Mapificação
Visualizações do
lado do cliente
Rendering
Cliente
Visualizações do
lado do servidor
Cliente
Servidor
Fig. 2.66 – Visualização de dados na Internet
Quanto à visualização de dados que se encontram disponíveis na Internet, Brodlie et el.
[Brodlie98] classificam as visualizações na Web de acordo com o local onde é processada a
visualização, isto é, em que máquina é executada cada uma das três componentes que
identificam neste processo: filtragem, mapificação e rendering. Assim, se todo o processo
20
Para simplificação de escrita a World Wide Web será designada apenas por Web.
113
for executado na máquina do utilizador (cliente) será uma visualização do lado do cliente
(client-side visualization). Se o processo de filtragem e mapificação for efectuado na
máquina do fornecedor de serviços, será uma visualização do lado do servidor (server-side
visualization)21 (Fig. 2.66). Cada uma destas categorias tem algumas variantes. No caso das
visualizações do lado do cliente, varia a localização do programa de visualização e da
biblioteca de rotinas que lhe serve de suporte: podem estar os dois no cliente, ou a
biblioteca existir no cliente e o programa de visualização ser carregado a partir do servidor,
ou os dois serem carregados a partir do servidor. Para as visualizações do lado do servidor
ou o processo de rendering é executado no cliente, ou são apenas importadas as imagens já
construídas.
Este assunto não será desenvolvido visto não ser um problema específico da
Visualização de Informação. No entanto, referiremos o trabalho descrito em [Jern97], onde
se dá um exemplo de visualização do lado do servidor, devido ao realce dado pelo autor à
possibilidade de utilização de técnicas utilizadas na Visualização de Informação como as
representações com ícones, incluindo o recurso a detalhes a pedido. Neste trabalho é
utilizado o formato VRML22 (Virtual Reality Modeling Language) para a descrição de
cenas 3D interactivas. Além da facilidade em obter exploradores de sistemas hipermédia23
(browsers) para este formato, o autor refere as suas potencialidades destacando o conceito
de âncora e a possibilidade de definir previamente posições para a câmara, permitindo a
navegação entre vários espaços tridimensionais.
A utilização de VRML como suporte para visualizações na Internet é também utilizada
no sistema Harmony [Andrews95]. Neste caso o problema abordado é a organização,
filtragem e apresentação de informação disponível em sistemas de informação hipermédia
ligados à Internet. Propõem um conjunto de visualizações para explorar a informação
gerida pelo sistema Hyper-G. Este sistema organiza a informação combinando a utilização
21
Em [Bender00] são usadas as expressões client-based e server-based para designar os mesmos cenários
de visualização.
22
O formato de ficheiro VRML (Virtual Reality Modeling Language) para a descrição de cenas 3D
interactivas foi criado pela Silicon Graphics em 1994 a partir do formato usado na biblioteca Open Inventor
[Jern97]. Em Dezembro de 1997 o VRML97 substituiu as versões anteriores, VRML 1.0 e VRML 2.0, e foi
considerado como norma para a descrição de cenas 3D multimédia na Internet (ISO/IEC 14772) [httpVRML].
23
Uma vez que a Web é o sistema hipermédia distribuído mais comum, a expressão explorador Web é
uma tradução também utilizada para a palavra browser.
114
de estruturas hierárquicas com hiperligações e inclui também mecanismos de pesquisa. A
forma como a informação está organizada permite maior versatilidade na visualização da
sua estrutura. As visualizações propostas incluem, por um lado a representação da estrutura
da informação, e por outro lado a visualização do conteúdo dos documentos, em particular
ficheiros no formato VRML. Para a visualização da estrutura da informação usam mapas
2D com as ligações entre um documento e aqueles para os quais tem ligações, e mapas 3D
onde representam cada documento por um ícone tridimensional que tenta reflectir o seu
conteúdo (Fig. 2.67). Esta forma de visualização, em que num plano são colocados objectos
tridimensionais, é designada por alguns autores como paisagem de informação (information
landscape) e foi já referida a propósito das estruturas hierárquicas.
Fig. 2.67 – Paisagem de informação com texturas no sistema Harmony [Andrew95] (IEEE)
Também com o objectivo de visualizar espaços de informação complexos, em particular
para aplicar na visualização da localização e relação entre documentos na Web, Hendley et
al. desenvolveram o sistema Narcissus [Hendley95]. Este sistema usa representações
tridimensionais em que a disposição dos objectos no espaço não é determinada de forma
estática. Cada objecto move-se de acordo com regras preestabelecidas: existem forças de
repulsão entre todos os objectos e forças de atracção entre objectos que estão relacionados
entre si. A disposição final é obtida ao fim de algumas iterações (Fig. 2.68). O facto de o
sistema ser dinâmico leva por vezes a que uma pequena alteração conduza a uma
reorganização do sistema e que isso altere significativamente o aspecto inicial. Os objectos
são representados por esferas, ou outras formas geométricas, e são desenhados arcos entre
aqueles que estão relacionados. Podem ser aplicadas texturas sobre as formas geométricas
115
que representam os objectos, ou utilizar cor para identificar os seus atributos. Para reduzir o
volume de informação pode haver agrupamento de objectos. Na visualização dos
agrupamentos é usada uma superfície transparente que envolve todos os objectos do
agrupamento, mas permitindo acesso a cada um dos seus componentes.
Fig. 2.68 – Evolução do posicionamento dos elementos no sistema Narcissus [Hendley95]
(IEEE)
Uma visualização da estrutura global da Web, mostrando as características dos sítios que
a compõem e as ligações entre eles, é proposta em [Bray96], onde se descreve um estudo
efectuado por um fornecedor de serviços de pesquisa na Web. É gerada uma visualização,
descrita no formato VRML, onde cada sítio é representado por um ícone 3D cujos atributos
traduzem: o número de páginas do sítio; o número de sítios que apontam para ele; o número
de sítios que são apontados por ele; e o domínio a que pertence, por exemplo, ligado à
educação, ao governo, a empresas comerciais. Os ícones são colocados numa superfície
plana e a determinação da sua posição é baseada no número de ligações entre os sítios que
representam.
Alguns trabalhos centram-se num universo mais reduzido, visualizando a organização de
um sítio da Web ou de parte dele. É o caso do sistema WebTOC [Nation97], desenvolvido
na Universidade de Maryland, que, a partir de uma página Web, segue todas as ligações
locais e gera uma estrutura hierárquica dos documentos acessíveis a partir dessa página.
Um documento, apesar de poder ser acedido por várias ligações, é incluído apenas uma vez
na estrutura. Para assegurar que é colocado na hierarquia usando o caminho mais curto até
ao documento raiz, é feita uma pesquisa em largura. Neste tipo de pesquisa, primeiro são
analisados todos os documentos acedidos pelas ligações do documento inicial, depois os
documentos acedidos pelas ligações destes documentos e assim sucessivamente. A
estrutura obtida é mostrada como um índice em que cada linha de texto é uma ligação para
um documento. Além da linha de texto, junta-se um segmento de recta colorido cujo
116
comprimento representa o tamanho do ficheiro que contém o documento, transformado
para uma escala logarítmica, e cuja cor indica o tipo de ficheiro (texto, imagem, audio). A
estrutura hierárquica pode ser compactada, condensando as linhas que representam os
descendentes de um documento numa única linha mais grossa, uma barra. A área da barra
traduz o tamanho total dos documentos. Esta barra tem uma sombra cujo tamanho indica o
número de documentos. Uma forma alternativa de visualizar a hierarquia consiste em
eliminar o texto e manter apenas os elementos gráficos.
Em [Prunning98] é também abordada a visualização de um sítio da Web. O sistema
desenvolvido, WWWPal, integra vários módulos. Um deles constrói, a partir do endereço de
um documento, um ficheiro de texto com informação sobre os documentos a que é possível
aceder a partir dele e ligações entre esses documentos. Além do endereço do documento,
são também indicadas a profundidade e condições de navegação. A primeira limita o
número de ligações percorridas a partir do documento inicial, evitando uma navegação
“infinita”. Tal como no WebTOC, a pesquisa é feita em largura. As segundas impõem
restrições, por exemplo, excluem a visita a determinadas directorias. A partir do ficheiro de
texto é gerado um grafo. O número de nós pode ser reduzido usando técnicas de
agrupamento. Nos casos em que o grafo se pode transformar numa hierarquia, é possível
mostrar a estrutura como uma lista em que a indentação reflecte a hierarquia. São ainda
incluídos módulos para obter informação sobre a estrutura construída, por exemplo, as
páginas de um determinado utilizador, ou o mapa do sítio, ou as ligações para documentos
que já não existem.
A obtenção de grandes volumes de informação obriga a que se criem mecanismos para
fazer a sua gestão. Na subsecção relativa ao texto já foram referidos trabalhos sobre
organização de informação obtida através da Internet como casos particulares da
visualização de colecções de documentos. Além da obtenção de documentos, há ainda a
considerar a visualização das listas de endereços URL obtidos como resultado de pesquisas
efectuadas através de motores de busca. Este problema é tratado em [Roberts02]
propondo-se a utilização de múltiplas janelas, cada uma delas apresentando uma forma de
visualização diferente, mas evidenciando-se em todas o(s) elemento(s) seleccionado(s) por
interacção numa delas. As formas de visualização utilizadas incluem, além da listagem de
todos os endereços encontrados, o desenho de ícones com características diferentes para
117
evidenciar diversos aspectos da informação. Os ícones utilizados foram já referidos na
subsecção 2.1.3.1. Também a visualização proposta em [Havre01] pode ser aplicada na
visualização de resultados de motores de busca, como já foi referido na subsecção 2.1.5.
Síntese
Em resumo, os sistemas de visualização referidos nesta secção foram desenvolvidos para
visualizar dados relacionados com determinados domínios de estudo ou para investigar
novas formas de interacção, mas em qualquer deles são exploradas novas formas de
visualização, algumas totalmente inovadoras outras combinando técnicas já conhecidas.
Nesta secção foram também abordados dois temas distintos relacionados com a
visualização e a Internet: a visualização de dados disponíveis na Internet e a visualização da
própria rede e da informação que é obtida por pesquisa através dela. O primeiro tema está
relacionado com a localização dos dados e do software disponível para a visualização, não
sendo portanto um problema específico da Visualização de Informação. Pelo contrário, o
segundo tema é um assunto desta área de estudo, uma vez que requer a criação de
visualizações adequadas para representar um grande volume de informação em que existem
numerosas ligações entre os seus elementos. Estas características justificam a
predominância de visualizações baseadas em grafos e a utilização de agrupamentos para
reduzir o volume de informação.
2.4
Sumário
Neste capítulo fez-se uma panorâmica dos trabalhos publicados no âmbito da
Visualização de Informação dando ênfase à ilustração de diferentes formas de
representação adoptadas, às técnicas de interacção utilizadas e à diversidade de sistemas de
visualização construídos.
A referência às diferentes formas de representação apresentadas nos trabalhos
publicados foram organizadas por tipos de dados. Na classificação adoptada para identificar
diferentes tipos de dados consideram-se três aspectos fundamentais: identificação da
dimensão dos dados, separando-se os dados lineares, 2D e 3D, multivariados e
multidimensionais; a existência de uma estrutura complexa, em que se destacaram as
hierarquias; e informação textual. Esta classificação distingue-se de outras citadas por
118
explicitar uma diferença clara entre dados multivariados e dados multidimensionais.
No que diz respeito à interacção focaram-se com mais realce as técnicas de ampliação e
filtragem e, além disso, salientaram-se dois aspectos profundamente relacionados com estas
técnicas: a utilização de múltiplas representações e o controlo da densidade de informação.
Nas técnicas de ampliação consideram-se, por um lado, as ampliações com contexto e,
por outro, as ampliações sem inclusão de contexto. Destacaram-se ainda trabalhos sobre a
determinação do factor de escala de ampliação, aspecto que é particularmente importante
em espaços multiescala onde múltiplas representações podem ser geridas em função da
escala de representação.
Relativamente à filtragem, os mecanismos mais citados são a utilização de funções de
grau de interesse e a limitação interactiva do domínio das variáveis, que levanta o problema
da combinação de mais do que um operador lógico, referindo-se soluções propostas por
vários autores.
Por último foram referidos vários sistemas de visualização, uns com um âmbito de
aplicação mais alargado, designados por sistemas genéricos, outros vocacionados para
determinado domínio de aplicação, destacando-se as formas de visualização e interacção
não citadas nas secções anteriores. No que concerne aos sistemas genéricos, evidenciou-se
a distinção entre sistemas “prontos a usar” e sistemas que requerem a inclusão de código
desenvolvido pelo utilizador.
No capítulo seguinte será discutido um modelo de referência para a Visualização de
Informação e apresentar-se-ão os objectivos do trabalho desenvolvido enquadrando-o nesta
área de estudo.
119
3. Enquadramento e Objectivos do Trabalho Desenvolvido
Analisando os trabalhos publicados na área de Visualização de Informação ressalta que
os assuntos mais focados têm sido a criação de visualizações para determinados tipos de
dados e o desenvolvimento de técnicas de interacção com os dados através das
visualizações e objectos de interface. Isto corresponde ao que em [Card99] é designado pela
fase exploratória de uma nova disciplina. Antes de ser possível construir sistemas genéricos
que possam ser usados para vários conjuntos de dados é necessário sistematizar quais as
características de um sistema de Visualização de Informação. Há que identificar: quais os
tipos de dados a visualizar; quais os tipos de mapificações a usar; quais as formas de
interacção a fornecer. É importante também ter em conta o tipo de utilizadores a que se
destina e as tarefas que deve executar. Em relação aos primeiros, em [Herman99]
considera-se que, ao contrário do que se passa com a Visualização Científica, a
Visualização de Informação destina-se a um conjunto de utilizadores mais vasto e
eventualmente menos especializado, quer em técnicas de visualização, quer em relação à
informação a analisar. Quanto ao tipo de tarefas a executar, de um modo geral há diferentes
situações a ter em conta como, por exemplo, a análise exploratória dos dados, a
apresentação final de resultados ou o acesso rotineiro para consulta. Cada uma das tarefas
tem exigências diferentes. Ao analisar dados interessa “descobrir” informação. Convém
poder visualizar os dados de modo a realçar diferentes aspectos, na totalidade ou em parte
e, de preferência, de uma forma rápida. Não é, normalmente, relevante a qualidade final da
imagem. O mesmo não se verifica quando o objectivo é obter imagens para uma
apresentação sobre o estudo dos dados. Neste caso interessa ter imagens finais apuradas.
Quanto ao acesso para consulta, interessa sobretudo ter uma forma preestabelecida e
simples de visualizar os dados que estão disponíveis.
Não será, contudo, razoável ter um sistema que consiga responder a todas as situações:
seria naturalmente muito exigente, quer em termos de recursos computacionais, quer no
esforço de aprendizagem. Como o tipo de informação que pode ser considerado no âmbito
da Visualização de Informação é vasto, a solução muitas vezes adoptada passa pela
121
identificação de várias subáreas e pelo desenvolvimento de técnicas próprias para cada uma
delas. Por exemplo, em [Herman99] identifica-se a Visualização de Grafos como uma
subárea da Visualização de Informação. Haverá, portanto, sistemas genéricos com
características diferentes relativamente ao número e diversidade de tipos de dados que
tratam, às mapificações que é possível utilizar, às formas de interacção disponíveis, ao tipo
de operações a aplicar aos dados, à qualidade da imagem gerada.
O trabalho agora apresentado foi orientado no sentido de desenvolver um modelo que
possa servir de base à construção de sistemas genéricos de Visualização de Informação, a
partir do qual se concretizou um protótipo, o IVPrototype (Information Visualization
Prototype). A peça fundamental deste modelo é a estrutura que permite fazer a ligação
entre os dados, a representação gráfica e a sua referência espacial. Esta estrutura será
explicada no capítulo seguinte. Neste capítulo serão abordados os aspectos fundamentais a
ter em conta num sistema deste tipo, apontando em cada passo as opções tomadas no
modelo concebido e aspectos da sua concretização no protótipo construído. Serão referidos
trabalhos de outros autores, alguns deles já descritos no capítulo anterior, onde se pretendia
fazer um estado da arte da Visualização de Informação, outros citados agora pela primeira
vez porque estão mais relacionados com aspectos que interessa realçar neste capítulo.
Começa-se pelo processo de visualização, focando-se em seguida os pontos considerados
mais relevantes neste processo: a identificação dos tipos de dados, a associação de
mapificações aos dados e a interacção com os dados. Posteriormente identifica-se o sistema
desenvolvido no conjunto dos sistemas genéricos já referidos. Finalmente resumem-se os
objectivos do trabalho desenvolvido e as características do protótipo construído.
3.1
Processo de visualização
Num processo de visualização podem identificar-se basicamente três fases: preparação
dos dados (pré-processamento), mapificação e rendering. Duma forma geral, a fase de
pré-processamento inclui operações de formatação dos dados e/ou normalização. Na fase de
mapificação faz-se a associação entre os dados e as representações gráficas e na fase de
rendering é gerada a imagem.
Podem identificar-se ainda outras fases. Por exemplo, em [Campo97] os autores
designam por componentes as várias fases do processo de visualização e, além das
122
componentes correspondentes às fases acima indicadas, consideram mais três componentes:
abstracção (abstraction) em que é feita uma filtragem semântica dos dados – é um processo
anterior à mapificação; interacção, que trata os aspectos de interacção com o utilizador; e
uma terceira componente, o estado de visualização (visualization state), que guarda
informação sobre as operações do utilizador e o estado corrente do processo de
visualização, a qual não é propriamente uma fase do processo, mas antes uma forma de o
controlar.
Relativamente à Visualização de Informação, em [Card99] é proposto um modelo de
referência. A existência e aceitação generalizada de um modelo de referência, isto é, de
uma descrição tanto quanto possível rigorosa das diferentes fases de um processo e da
respectiva interligação, é garantia de que se atingiu uma certa maturidade numa disciplina
[Cunha91]. Card et al. consideram que a Visualização de Informação, depois de atravessar
um período inicial de exploração de novas formas de visualização, está a entrar num
período de abstracção e de tentativa de caracterização do seu espaço de trabalho. O modelo
que propõem (Fig. 3.1) assenta na sequência de passos de qualquer processo de
visualização, ou seja, consideram o pré-processamento dos dados, a aplicação em estruturas
visuais (mapificação), a geração de imagens e a interacção com o utilizador.
Dados
não
Tratados
Estruturas
Dados
em
Tabela
Transformações
dos dados
Vistas
Visuais
Mapificação
Utilizador
Transformações
de visualização
Fig. 3.1 – Modelo de referência para a Visualização de Informação (adaptado de [Card99])
Os dados não tratados (Raw Data), que podem estar em diferentes formatos, são
transformados em tabelas de dados (Data Tables). Estas combinam o conceito matemático
de relação, definido por um conjunto de tuplos, com metadata que descreve as relações, por
exemplo os identificadores das linhas e colunas. As tabelas de dados são aplicadas em
estruturas visuais, isto é, representações gráficas definidas por uma estrutura espacial,
123
símbolos e propriedades gráficas. Estas estruturas são visualizadas de acordo com
parâmetros definidos por transformações de visualização (View Transformations). O
utilizador interage com o processo de visualização controlando os parâmetros das várias
transformações.
Neste modelo de referência salienta-se a forma como é encarada a fase de pré-processamento, implicando a transformação dos dados para uma estrutura em tabela. Isto quer dizer
que neste modelo é visualizável a informação que pode ser representada sob a forma de
uma tabela de dados. Apesar deste passo intermédio poder aparentemente restringir o tipo
de informação a visualizar, os autores referem a transformação em tabela de redes,
hierarquias e texto que, de entre os tipos de dados por eles considerados no âmbito da
Visualização de Informação e já referidos na secção 2.1, são aqueles que não têm uma
descrição imediata sob a forma de tabela. Consideremos, por exemplo, o caso da
visualização de texto, que dos três tipos referidos é o que exige um tratamento mais
complexo, porque não tem à partida uma estrutura explícita. Se pensarmos nos exemplos
referidos em [Wise95] ou em [Chalmers96] e já citados na subsecção 2.1.5 a propósito da
visualização de colecções de documentos, verificamos que a sua representação gráfica
depende da determinação de posições e, eventualmente, de valores associados a essas
posições, o que é sempre possível descrever por uma tabela, visto corresponder a uma
sequência de tuplos. Contudo, a determinação das posições e, por conseguinte, a construção
da tabela, estão já orientadas para a mapificação a usar. Tem-se, neste caso, uma abordagem análoga à descrita em [Brodlie93] para o processo de visualização de dados científicos
e que o autor designa por aproximação centrada no modelo (model-centered approach).
Isto é, as operações usadas na transformação dos dados têm em vista a obtenção de uma
estrutura que permita a aplicação de um dado modelo, não obstante a visualização desse
modelo poder tomar diferentes aspectos.
Assim, a transformação em tabela e a escolha de mapificação são processos que podem
estar profundamente interligados, sobretudo quando a informação a visualizar não é
descrita à partida por uma sequência de tuplos. Isto significa também que o problema da
mapificação, que é um dos problemas fulcrais da visualização, é, em parte, transferido para
um novo problema, a transformação em tabela.
No entanto, do mesmo modo que a evolução da Visualização Científica passou pela
124
identificação de um conjunto particular de dados e de técnicas de visualização a aplicar a
esses dados, é importante a caracterização do tipo de informação que deve ser tratada por
um sistema de Visualização de Informação. A assunção de que a informação a visualizar
deve poder ser escrita sob a forma duma tabela é uma forma de identificação do conjunto
de informação a visualizar por estes sistemas.
Pré-processamento
Selecção
Mapificação
Rendering
Interacção
Fig. 3.2 – Fases do processo de visualização
Como no trabalho desenvolvido se pretendeu dar ênfase às técnicas de filtragem, no
processo de visualização adoptado, já descrito em [Carmo98], além das fases usuais de
pré-processamento, mapificação, rendering e interacção, incluiu-se também explicitamente
uma fase de filtragem, designada por selecção, que corresponde ao processo de escolha do
conjunto de dados a visualizar (Fig. 3.2). Optou-se pelo termo selecção em vez de
filtragem, porque o processo de filtragem pode ocorrer em diferentes fases do processo de
visualização. A filtragem do volume de dados pré-processados, tendo como base critérios
estabelecidos pelo utilizador, é a mais relevante e corresponde à fase designada por
selecção. Após a escolha inicial do conjunto de dados que interessa visualizar, é possível
reduzir o volume de informação interactivamente, omitindo parte da informação,
restringido o domínio de variação das variáveis ou activando a utilização da função de grau
de interesse. Em qualquer destes casos a filtragem actua para eliminar informação.
Contudo, a filtragem pode também compreender a alteração ou criação de nova informação
quando, por exemplo, é possível criar novas variáveis como função de outras variáveis.
Outras componentes de filtragem podem ser identificadas. Uma primeira filtragem é
efectuada ao recolher o conjunto de dados a tratar. Esta filtragem é anterior ao pré-processamento dos dados e tem a ver com o tipo de estudo que se pretende fazer e com a
informação que se encontra disponível ou que é gerada para o efeito.
Na fase de mapificação pode ocorrer também filtragem. Assim, se o número de variáveis
125
a representar for muito elevado, poderá não haver forma de individualizar na representação
todas as variáveis. Trata-se de um processo de filtragem condicionado, em parte, pelas
limitações do software gráfico. Outro tipo de filtragem que pode ocorrer no processo de
mapificação está relacionado com a escolha de representação de acordo com a escala de
representação: se a escala for muito pequena, alguns elementos não terão uma
representação inteligível e não serão representados. Esta filtragem é imposta pelas
limitações da saída gráfica, tais como a resolução ou dimensão da área de representação.
Ainda no processo de mapificação, a filtragem pode ser condicionada por critérios de
natureza semântica. Aos elementos menos relevantes são atribuídas representações mais
simplificadas, o que implica a redução da informação representada em função do seu
significado.
Na fase de rendering pode também existir filtragem relacionada com o controlo de
densidade de informação. Por exemplo, em [Frank94], como já foi mencionado na
subsecção 2.2.4, é sugerido o controlo da densidade de informação através da “quantidade
de tinta”, isto é, a partir de certo valor para a razão entre número de pixels preenchidos e
número total de pixels não são desenhados mais elementos. Ocorre neste caso uma
filtragem automática determinada pela limitação da saída gráfica, obtendo-se em ecrãs com
diferentes resoluções resultados distintos.
No protótipo construído o controlo da densidade de informação na fase de rendering não
é automático, mas desencadeado pelo utilizador. Isto é, o utilizador pode seleccionar um
modo de desenho que lhe permite parar o processo de rendering quando considerar que a
informação mostrada já é suficientemente densa. Este processo de filtragem é condicionado
pelas limitações da saída gráfica, mas baseado em critérios de inteligibilidade avaliados
pelo utilizador. Se a informação for desenhada por ordem decrescente do seu grau de
interesse, será eliminada a informação menos relevante. Neste caso combina-se o controlo
de densidade de informação com critérios semânticos previamente estabelecidos.
A interface com o sistema permite ao utilizador interagir sobre as diferentes fases do
processo (Fig. 3.3):
- para limitar o volume final de informação representada parando a geração da imagem
na fase de rendering;
- para alterar a mapificação preestabelecida, quer atribuindo novas representações, quer
126
estabelecendo outros critérios de escolha da representação;
- para modificar os critérios da fase de selecção de informação o que pode passar pela
alteração dos parâmetros da função de grau de interesse ou pela escolha de uma janela de
dimensões
diferentes,
por
exemplo,
em
operações
de
ampliação/redução,
ou,
inclusivamente, seleccionar um novo ficheiro de dados;
- para aceder a um conjunto de dados distinto para novo pré-processamento.
A interacção com a fase de pré-processamento é a mais limitada, em alguns casos
mesmo impossível, por exemplo, se o conjunto de dados disponíveis é fixo e não há
possibilidade de escolher outros dados.
Pré-processamento
Selecção
Mapificação
Rendering
Interacção
Fig. 3.3 – A interacção no processo de visualização
3.2
Tipos de dados
Como já mencionado na subsecção 2.1, a organização de dados pode basear-se em
vários critérios. Boyle et al. têm em atenção a forma como os dados se apresentam
[Boyle93], em [Shneiderman98] dá-se ênfase ao problema que é tratado e em [Card99] à
estrutura visual que é usada. De qualquer modo há aspectos comuns nas diferentes
classificações, identificando-se basicamente os seguintes tipos: dados com estrutura
tabular24; dados com estrutura complexa como as árvores e redes; e o texto.
De acordo com o modelo de referência proposto em [Card99], tanto o texto como as
redes e hierarquias deverão ser transformados em tabelas na fase de pré-processamento.
O trabalho desenvolvido centrou-se na representação de dados com estrutura tabular.
Além de ser uma forma comum de apresentação dos dados, esta estrutura permite a escolha
24
Dados com estrutura tabular são aqueles podem ser descritos sob a forma de tabela. Os dados definidos
em espaços 1D, 2D e 3D e os dados multivariados e multidimensionais são incluídos neste grupo, como já foi
referido no capítulo 2.
127
de mapificação de uma forma mais genérica. Isto porque um dos problemas da
mapificação, que é a determinação da localização espacial, pode ser resolvido usando
atributos da tabela. Assim todos os dados que possam ser organizados com esta estrutura
podem ser visualizados, independentemente da sua estrutura inicial. A opção tomada,
referida em [Carmo99a], é anterior ao modelo de referência de Card et al., mas aponta
numa direcção comum, apesar de não ter sido encarada no sentido de que todos os dados
abstractos pudessem ser convertidos em tabela.
A informação a visualizar pode também ser caracterizada em função do processo de
mapificação, isto é, tendo em conta a necessidade, ou não, de conversão da informação em
elementos gráficos. Ter-se-á assim informação não geométrica, geométrica e mista. Este
tipo de classificação é independente do anterior e abrange outro tipo de informação, ainda
não referido, que é a informação de natureza geométrica, a qual é contemplada em
[Boyle93] dentro das estruturas especializadas. Esta informação é definida à custa de
elementos gráficos (polilinhas, pontos, áreas, etc.) e pode corresponder à reprodução de
objectos reais com dimensões e posições bem definidas. Existe, portanto, uma mapificação
definida previamente, que, no entanto, pode ser alterada, nomeadamente no diz respeito aos
atributos gráficos.
A informação não geométrica, como é o caso da informação abstracta, não tem uma
mapificação preestabelecida. É necessário fazer corresponder símbolos gráficos aos
elementos, atribuir-lhes uma localização no espaço e eventualmente criar ligações entre eles
para traduzir a estrutura da informação.
Há, todavia, informação que apesar de não ter uma descrição geométrica, tem já uma
referência espacial que pode ser explícita ou definida à custa de atributos da informação. A
informação com estrutura tabular é um exemplo deste tipo de informação quando existem
atributos numéricos ou atributos que têm como domínio um conjunto ordenado. Esta
situação é comum a outras áreas de estudo como a Informação Geográfica ou a
Visualização de Dados Científicos. No primeiro caso, tem-se informação abstracta
associada a localizações geográficas. No segundo caso, a referência espacial é descrita por
uma grelha que pode corresponder a localizações espaciais explicitamente indicadas ou ser
definida à custa duma aplicação de valores das variáveis independentes em localizações
espaciais, como já foi exemplificado no capítulo 2 relativamente aos dados sobre
128
temperaturas.
Note-se que nem sempre a obtenção de uma representação gráfica passa pela construção
de uma representação geométrica. É o caso da visualização em volume em que há uma
aplicação dos valores de variáveis em cor e opacidade, resultando a imagem final da soma
das contribuições dos elementos da grelha associados a cada pixel.
A informação mista conjuga os dois tipos de informação: geométrica e não geométrica.
Pode ser entendida como a combinação de informação geométrica com informação não
geométrica.
O modelo concebido permite incluir informação geométrica e não geométrica. Os dados
abstractos têm por vezes ligação com informação geométrica e, como se explicará adiante,
a inclusão desta informação não requer tratamento especial.
Relativamente ao tipo das variáveis, ou seja, ao tipo dos valores dos dados, podem
considerar-se os seguintes: quantitativo, quando os valores permitem a realização de
operações aritméticas, ordinal, quando os valores são elementos de um conjunto ordenado,
e nominal, quando os valores são membros de um conjunto não ordenado [Card99],
[Beshers94], [Mackinlay86]. Para Beshers et al. os dados quantitativos podem ainda
separar-se em contínuos e discretos. Alguns autores, mais ligados à área de Visualização
Científica, distinguem apenas o facto de haver ou não ordem entre os elementos, identificando dois tipos: nominal e ordinal [Gallop94], [Brodlie93], [RobertsonP91]. Os primeiros
referem-se, normalmente, a dados não numéricos e os segundos a dados numéricos.
No trabalho desenvolvido, apesar de o modelo não impor restrições ao tipo dos valores
das variáveis, consideraram-se basicamente variáveis numéricas e variáveis cujos valores
sejam cadeias de caracteres por serem os tipos de dados mais comuns. As primeiras são
variáveis quantitativas, e as segundas são tratadas como variáveis nominais.
3.3
Mapificação
A definição de uma mapificação é o ponto chave da visualização. É preciso converter os
dados numéricos ou textuais em elementos gráficos com uma referência espacial. Como já
foi referido, os elementos gráficos nem sempre são elementos geométricos, como acontece
na visualização em volume, mas atributos gráficos, como cor, opacidade ou textura. A
escolha da mapificação depende fundamentalmente do tipo de dados que se visualiza e é
129
naturalmente condicionada pelas ferramentas disponíveis para a sua representação.
Como explicado na secção anterior, se se considerar um âmbito mais alargado da
visualização, para além da visualização de dados abstractos, em termos de mapificação,
interessa separar os dados em geométricos, não geométricos e mistos. Em cada um dos
casos a mapificação tem características diferentes. Para os primeiros há já uma definição
geométrica e a mapificação poderá limitar-se à modificação ou selecção de atributos
gráficos. Relativamente aos dados não geométricos, é necessário definir uma forma de os
representar e o tratamento será diferente consoante se tenham dados com estrutura tabular,
com estrutura complexa ou texto. Os dados com estrutura tabular têm muitas vezes uma
referência espacial e, quando a não têm, é normalmente possível defini-la à custa de
algumas das variáveis/atributos.
Um assunto em debate é a utilização de representações 2D versus 3D. Em qualquer dos
casos o resultado final é sempre uma imagem bidimensional, no entanto o espaço onde se
define a representação tem dimensão diferente. Pode considerar-se que a característica
fundamental que distingue uma representação tridimensional de uma representação
bidimensional é a colocação dos elementos gráficos num espaço 3D, isto é, o espaço de
coordenadas do utilizador é um espaço tridimensional. Sendo assim, é necessário a
conversão deste espaço no espaço 2D do dispositivo gráfico. O conjunto de transformações
a aplicar, designadas em [Plastock91] por transformações de visualização, incluem a
selecção de um tipo de projecção e a indicação da posição do observador, ou câmara
[Foley95], relativamente à cena tridimensional e ao plano de projecção. Este tipo de
parametrização permite uma interacção diferente da que é utilizada com representações
bidimensionais, dando ao utilizador a ilusão de navegar no espaço tridimensional de modo
a observar a cena a partir de diferentes posições e segundo diversas direcções. Assim, é
possível tornar visíveis elementos que se encontravam escondidos por outros e, além disso,
ter uma melhor percepção da posição relativa dos elementos que compõem a cena. Outras
formas de interacção podem ser utilizadas para visualizar elementos que estão escondidos
por outros como, por exemplo, provocar a alteração das posições de elementos que se
encontram entre o observador e um foco seleccionado [Carpendale97]. Deste modo é
possível observar o foco de interesse mantendo o contexto através da distorção da posição
dos elementos. Outro aspecto ainda a considerar, que permite ao utilizador identificar
130
facilmente uma cena tridimensional, é o facto de se poderem utilizar elementos
tridimensionais tais como cones ou cubos entre outros.
Em [Card99] resumem-se os argumentos apresentados por defensores de soluções 3D e
2D. Os adeptos da utilização de espaços 3D defendem que estas representações aproximam
mais a realidade e que o desenvolvimento tecnológico permite de forma cada vez mais
perfeita e rápida este tipo de representações. Além disso, há aparentemente mais espaço
disponível no ecrã permitindo mostrar mais informação. Isto é, apesar da dimensão do ecrã
ser a mesma, ao utilizar-se um espaço com mais uma dimensão para distribuir os elementos
de informação, há a ilusão que o espaço aumenta. Na realidade são desenhados mais
elementos, mas alguns ficarão tapados por outros que se encontram mais próximos do
observador e, além disso, aqueles que se encontram mais afastados são desenhados com
dimensão mais reduzida. Ware [Ware97] reforça o ponto de vista de que há mais espaço
numa representação tridimensional, afirmando que é possível representar diagramas de
redes em 3D com uma dimensão cerca de duas vezes e meia superior àquelas que é possível
mostrar em 2D. Note-se, porém, que apesar de aumentar o volume de informação
representado, é necessário navegar no espaço tridimensional para tornar visível a
informação que fica oculta por outra.
Em [Ware02b] propõe-se uma variante da representação tridimensional, a representação
2½D, que consiste em usar objectos tridimensionais dispostos essencialmente num plano
2D, recorrendo quando necessário a uma ou mais técnicas para a percepção da
profundidade tais como a oclusão de elementos, o efeito de perspectiva ou a projecção de
sombras. O autor considera que a representação 2½D é mais efectiva do que uma
representação 3D, argumentando que a navegação no espaço tridimensional é mais lenta do
que outras formas de interacção como seja a ampliação combinada com a utilização de
múltiplas janelas. Assim, uma representação 2½D reduz o custo de navegação no espaço,
usando formas de interacção mais eficientes [Ware02].
Os defensores de representações 2D apontam que, por um lado, o ecrã é bidimensional,
donde a forma de representação mais adequada seria num espaço 2D, e, por outro lado,
estas representações, além de serem mais simples e mais fáceis de calcular, não conduzem
normalmente a visualizações em que haja oclusão de objectos. Shneiderman considera que
algumas tarefas requerem representações 3D, mas para a visualização de dados abstractos
131
sugere 2D [Shneiderman97]. Mackinlay confirma também que esta é a forma tradicional de
representar informação abstracta e defende que a inclusão de animação para visualizar uma
nova dimensão é um assunto mais importante que a discussão entre a utilização de
visualizações 2D ou 3D. A animação permite analisar a evolução de uma variável à custa
da percepção de alterações na informação que se encontra representada [Mackinlay97]. Por
seu lado, Wright apenas recomenda 2D quando o número de dimensões e/ou dados é
reduzido [Wright97].
Para avaliar o comportamento do utilizador perante mapificações 2D e 3D, Cockburn e
McKenzie [Cockburn01] fizeram um estudo comparativo entre versões 2D e 3D do sistema
de visualização de documentos Data Mountain [RobertsonG98], referido na subsecção
2.1.5. Note-se que nesta forma de visualização o espaço é tridimensional, mas a posição do
observador é fixa e a representação dos objectos tem como suporte um rectângulo, o que
torna simples a adaptação desta visualização a um espaço 2D. Em termos de imagem final,
a representação 2D perdeu o efeito de perspectiva, mas manteve a sobreposição de
elementos, o que, apesar de não ser comum em representações bidimensionais, pode
ocorrer em alguns casos como, por exemplo, ao desenhar ícones em posições determinadas
por valores dos atributos de informação. Com o desaparecimento do efeito de perspectiva, o
aspecto final da imagem relativa à representação bidimensional corresponde a uma
projecção paralela da representação tridimensional. O estudo comparou o tempo de
execução e o grau de satisfação dos utilizadores nas tarefas de arrumar e procurar
documentos. Em termos de tempo de execução, apesar de ser ligeiramente superior na
versão 3D, a diferença entre os dois ambientes não é significativa. Quanto à satisfação dos
utilizadores, aqueles que utilizaram a versão 3D mostraram-se mais agradados com a forma
de interagir do que os da versão 2D. Os autores deste estudo concluem que o agrado por
parte dos utilizadores relativamente a um ambiente 3D é mais subjectivo do que baseado
em benefícios evidentes. Neste exemplo é patente que o espaço onde está definida a
representação determina a utilização de formas diferentes de interacção.
Em [Tavanti01] é igualmente relatado um estudo comparativo entre visualizações 2D e
3D, focando a memorização da localização dos elementos numa hierarquia. Ao contrário do
estudo anterior, concluiu-se neste caso que na representação tridimensional da hierarquia os
utilizadores obtiveram melhores resultados nas duas tarefas de memorização estudadas:
132
identificação do nível da árvore a que pertence um elemento e da posição precisa do
elemento na hierarquia.
Nestes dois estudos foram avaliadas representações e tarefas diferentes e não é possível,
a partir deles, tirar conclusões significativas sobre as vantagens da adopção de um espaço
de trabalho relativamente ao outro.
A escolha entre 2D e 3D tem a ver naturalmente com as opções de mapificação que
forem feitas, isto é, qual é a estrutura visual a usar para representar a informação. Nos
trabalhos publicados na área de Visualização de Informação, verifica-se que a
representação mais comum para informação com estrutura tabular é obtida utilizando
ícones (2D ou 3D), de que a nuvem de pontos é a forma mais simples. Depois de
determinada uma localização espacial, esta representação é a mais directa e a mais
facilmente parametrizável. Verifica-se ainda que outras representações mais elaboradas e
com aspecto diferente, como, por exemplo, a árvore de cones [RobertsonG91] ou o
cocktailmap [Ahlberg96], são também conseguidas colocando em determinados pontos do
espaço elementos gráficos com dimensões dependentes da informação que se visualiza. Por
estes motivos no modelo desenvolvido considerou-se que a representação básica a usar
deveria assentar na utilização de ícones, adaptando-se este tipo de representação de modo a
permitir a selecção de uma entre múltiplas representações. Optou-se numa primeira
abordagem por uma representação bidimensional onde se colocam problemas próprios,
sobretudo ao nível de utilização de várias representações definidas em espaços de trabalho
diferentes, e onde é mais difícil representar maiores volumes de informação. Em termos de
desenvolvimento de um sistema genérico, a utilização de um espaço 2D tem como
vantagem a facilidade de interacção, não só em termos de componentes físicas do
equipamento, mas também porque não se põem problemas de oclusão. Além disso, se não
for usada a representação por omissão que é fornecida, é mais simples neste espaço a
definição de ícones pelo utilizador.
Um ponto importante é a definição de posições para cada elemento de informação. Este
aspecto será discutido no capítulo seguinte durante a descrição do modelo proposto.
Para averiguar a possibilidade de estender o modelo concebido a mais do que uma forma
de mapificação, incluiu-se ainda a geração de superfícies tridimensionais coloridas. Com
estas superfícies é possível representar uma ou duas variáveis distintas, traduzindo-se os
133
seus valores pelo relevo e cor. Esta representação é tridimensional e totalmente diferente da
anterior.
3.4
Interacção
A possibilidade de interagir com os dados é um dos elementos mais importantes para a
análise da informação disponível. Segundo Card et al. [Card97], um ponto chave da
visualização é a transformação dos dados em elementos gráficos feita de modo a
providenciar o acesso interactivo aos dados. As formas de interacção mais comuns
recorrem à criação de objectos de interface, como botões, para desencadear acções sobre os
dados, ou à actuação directa sobre a visualização obtida, por exemplo, seleccionando
objectos para obtenção de detalhes a pedido.
No trabalho desenvolvido pretendeu-se sobretudo ensaiar mecanismos para o controlo
do volume de informação e para efectuar ampliações com manutenção do contexto. Em
qualquer dos casos existe alteração do aspecto final da visualização. O utilizador actua
sobre objectos da interface para desencadear a interacção com as várias fases do processo
de visualização. Como já foi mencionado, a interacção deverá existir nas várias fases do
processo de visualização, destacando-se a sua importância na selecção da informação a
visualizar, no controlo do volume de informação representado e na alteração do aspecto da
visualização.
Relativamente ao primeiro aspecto, selecção da informação a visualizar, é possível:
seleccionar/omitir a representação de informação semanticamente relacionada, como será
explicado no capítulo seguinte; limitar o domínio de variação de variáveis, sendo possível
combinar interactivamente as restrições impostas a diferentes variáveis através de
conjunções e disjunções; e omitir a visualização de alguns elementos por critérios impostos
através de uma função de grau de interesse.
Quanto ao volume de informação visualizado, este é controlado das seguintes formas:
pela redução do volume de dados, do modo que foi indicado no parágrafo anterior; por
utilização de representações mais simplificadas para elementos menos relevantes,
seleccionadas recorrendo a uma função de grau de interesse; por ampliação, seleccionando
uma área mais reduzida; e pela suspensão do processo de geração da imagem segundo
avaliação do utilizador. Neste último caso a ordem pela qual é gerada a imagem é a que foi
134
definida pelo utilizador, permitindo assim desenhar primeiro os elementos considerados
mais relevantes.
O aspecto final da visualização é determinado pela mapificação escolhida e pode ser
afectado por qualquer uma das acções já descritas. Realça-se, no entanto, a existência de
variações na representação que são condicionadas pela utilização de uma função de grau de
interesse ou pela realização de ampliações, quer haja ou não manutenção do contexto. Esta
segunda forma de ampliação levanta, naturalmente, o problema da distorção, uma vez que a
ampliação de alguns elementos implica a redução de outros e também a sua redistribuição
no espaço. A forma de ampliação usada para manter o contexto, que será descrita no
capítulo seguinte, não provoca distorções na zona ampliada, deformando apenas a zona
envolvente. Em qualquer dos tipos de ampliação disponíveis é usado o mesmo factor de
escala para os dois eixos na zona ampliada. É possível também efectuar reduções e, em
particular, obter uma visão de conjunto de toda a informação o que corresponde à
representação mais reduzida.
3.5
Sistemas genéricos
Como já foi referido no capítulo 2, os sistemas genéricos dividem-se basicamente em
dois grupos: aqueles, como o IVEE [Ahlberg95], em que o utilizador não precisa de
programar, excepto, casualmente, numa fase de pré-processamento para formatação dos
dados; e aqueles em que é necessário desenvolver código, como nos sistemas VANISH
[Kazman96a] e Telescope [Campo97].
Nos sistemas do primeiro grupo a representação e a interface são construídas
automaticamente. O utilizador apenas precisa de formatar os seus dados de forma adequada
para serem processados pelo sistema. Este tipo de sistemas é fechado no sentido em que
fica limitado aos tipos de dados e funcionalidades que são suportadas à partida. Contudo,
são normalmente de mais fácil utilização, exigem menos tempo para a obtenção de
visualizações e podem atingir um grupo menos especializado de utilizadores.
No segundo grupo encontram-se os sistemas onde se define um núcleo central que
controla o processo de visualização, que nos casos mencionados é desenvolvido numa
linguagem orientada por objectos. O utilizador construirá subclasses para estender a
aplicabilidade do sistema. O grau de extensibilidade e o volume de código requerido é
135
diferente de sistema para sistema. De qualquer modo, estes sistemas exigem um maior grau
de conhecimentos por parte do utilizador, quer do próprio sistema, quer de técnicas de
visualização. Têm-se num extremo sistemas, como o Telescope, em que a todas as
componentes do processo de visualização corresponde uma classe abstracta e o utilizador
precisa de construir as subclasses necessárias para visualizar os seus dados. Num nível
intermédio há sistemas como o VANISH em que o utilizador precisa de criar classes para
tratar novos dados ou para utilizar um software gráfico diferente, mas o processo de
mapificação está totalmente construído e o utilizador pode escolher diferentes alternativas
através de uma linguagem de programação visual. No outro extremo estão sistemas que
oferecem um conjunto diversificado de módulos com várias funcionalidades, dos quais o
utilizador selecciona os que são adequados para a visualização dos seus dados, recorrendo a
uma linguagem de programação visual fornecida pelo sistema. Estes sistemas permitem, na
maior parte dos casos, a incorporação de módulos construídos pelo utilizador. O tipo de
módulos que é possível desenvolver caracteriza a abertura do sistema para novos dados e
funcionalidades. Existem sistemas com estas características que na sua origem se
destinavam à visualização de dados científicos, como o AVS [Upson89], o Open
Visualization Data Explorer25 ou o IRIS Explorer26.
Como já foi referido neste capítulo, considera-se que os sistemas de Visualização de
Informação se destinam a um grupo de utilizadores vasto e normalmente não especializado
em técnicas de visualização. Por este motivo no protótipo desenvolvido o utilizador apenas
precisa de formatar os dados, não se requerendo a programação de nenhuma componente.
Há uma mapificação por omissão que pode ser adaptada fornecendo um ficheiro de
representações alternativo.
3.6
Objectivos do trabalho desenvolvido
O trabalho desenvolvido teve como objectivo central conceber a estrutura de suporte à
construção de sistemas genéricos de Visualização de Informação, contemplando nomeadamente a gestão de múltiplas representações, a filtragem de informação, o controlo do
25
Em 1999 o Visualization Data Explorer da IBM passou a ser distribuído gratuitamente sob a designação
de Open Visualization Data Explorer [httpOpenDX].
26
O IRIS Explorer foi já referido na subsecção 2.1.3 [httpIRISExplorer].
136
volume de informação a representar e a visualização de detalhe inserido no contexto. Este
tipo de técnicas visa sobretudo efectuar uma análise exploratória dos dados mostrando-os
no todo ou em parte. Além de informação abstracta, considera-se também a visualização de
informação geométrica, quer em simultâneo, quer separadamente.
Foi desenvolvido um protótipo para concretizar o modelo concebido. Apresenta-se em
seguida um sumário das suas características, já enunciadas ao longo do capítulo, tendo em
atenção os tipos de dados tratados, as mapificações disponíveis e as formas de interacção
integradas.
Relativamente ao tipo de dados, são visualizados dados com estrutura tabular, mas são
também admitidos outros tipos de dados desde que possam ser organizados em tabela.
Além disso, é possível ainda juntar informação geométrica.
Em termos de mapificação, por omissão a representação usada é um ícone em cada
localização definida. É possível definir mais do que uma representação para cada elemento
de informação, usando um ficheiro de mapificações. Como os símbolos ou ícones são
descritos em listas, esta forma de mapificação será também designada por representação
através de listas ou por listas. Outra mapificação disponível consiste na utilização de
superfícies coloridas tridimensionais.
No que diz respeito à interacção, ela assenta essencialmente em objectos de interface e
permite reduzir o volume de informação, definir a ordem de desenho dos elementos,
efectuar ampliações ou reduções, activar a função de grau de interesse ou alterar a
mapificação. Salienta-se a redução do volume de informação através da combinação
interactiva de conjunções e/ou disjunções das restrições impostas ao domínio das variáveis.
Como em qualquer sistema genérico, garante-se a independência em relação aos dados a
visualizar, isto é, o sistema não está afecto a um conjunto particular de dados, mas permite
a visualização de dados com diferentes proveniências. Esta condição é atingida definindo
um formato de entrada dos dados. Deste modo junta-se aos dados meta-informação
(metadata) que, além de os descrever, permite organizá-los de forma a agrupar informação
semanticamente relacionada.
No capítulo 4 explica-se o modelo concebido para a construção de um sistema genérico,
destacando-se a introdução do conceito de grupo de informação como forma de estruturar a
informação e a sua visualização, a adopção do conceito de grelha como é usado em
137
Visualização Científica para a definição de referências espaciais e a utilização de funções
de grau de interesse. Outros aspectos a considerar são os critérios de selecção de uma entre
múltiplas representações, o modelo da pirâmide truncada para realizar operações mantendo
o contexto, a forma de combinar restrições de domínios de variáveis com conjunções e
disjunções e a ordem de geração da imagem.
No capítulo 5 descreve-se o protótipo desenvolvido tendo como base o modelo exposto
no capítulo 4.
138
4. Modelo Integrado para o Tratamento de Filtragem e de
Múltiplas Representações
A obtenção de uma representação gráfica para a informação é o problema básico da
visualização. No modelo concebido para servir de base ao desenvolvimento de sistemas
genéricos de Visualização de Informação, o grupo de informação é o conceito fulcral em
que assenta a organização da informação e da sua visualização. Um grupo de informação
combina valores numéricos e/ou textuais com uma ou mais representações gráficas e
respectiva referência espacial. A organização dos dados em grupos de informação permite,
de forma flexível, controlar a quantidade de informação a desenhar, bem como associar
múltiplas representações aos dados, sendo possível ter representações diferentes dentro do
mesmo grupo e entre grupos distintos. Tanto a escolha de representação como o controlo
da quantidade de informação podem incluir critérios semânticos expressos por uma função
de grau de interesse.
A caracterização de um sistema de visualização de informação passa pela indicação dos
tipos de dados que podem ser tratados, das mapificações possíveis para esses dados e dos
mecanismos de interacção disponíveis. Estes aspectos foram já enunciados no capítulo
anterior e serão desenvolvidos neste capítulo, incorporados nos tópicos que foram
considerados relevantes para a descrição do modelo desenvolvido. Assim, começar-se-á
por descrever a composição dos grupos de informação, explicando quais os tipos de dados
que é possível visualizar e as mapificações disponíveis. A seguir apresentam-se os critérios
de escolha entre múltiplas representações definidas no grupo de informação. Finalmente,
abordam-se os aspectos relativos à interacção, tratando-se, em subsecções distintas, a
ampliação e a filtragem.
4.1
Grupos de informação
Um aspecto fundamental na visualização é a determinação de uma representação gráfica
e da sua localização no espaço. No modelo desenvolvido o grupo de informação coordena
este processo agregando dados semanticamente relacionados que partilham ou podem ser
139
associados à mesma referência espacial.
A estrutura do grupo de informação conduz de forma simples à mapificação que
consiste no desenho de ícones em cada posição da referência espacial. É possível utilizar
ícones distintos, quer para os diferentes grupos de informação, quer dentro de cada grupo,
bem como incluir elementos gráficos cuja localização é independente da referência
espacial definida. No entanto, um sistema de visualização fica mais enriquecido se
estiverem disponíveis várias formas de mapificação. Por este motivo considerou-se
também outro tipo de mapificação, a visualização através de uma superfície tridimensional,
para avaliar a adaptação do conceito de grupo de informação a outras mapificações.
Usando os valores associados à referência espacial gera-se uma superfície em que a cor e o
relevo são definidos à custa desses valores.
Como já foi referido no capítulo anterior, são visualizados dados que podem ser
apresentados sob a forma de uma tabela. Incluem-se, portanto, dados que à partida estão
organizados sob a forma de tabela e dados que, embora tendo outra estrutura, possam ser
transformados de modo a apresentar esse aspecto. Uma tabela é uma sequência de tuplos
com n valores, em que n é maior ou igual a um. Cada coluna da tabela corresponde a uma
variável27. A um grupo de informação estão associadas uma ou mais variáveis.
Além de informação numérica ou textual, o grupo de informação pode controlar
também informação geométrica. É assim possível ter grupos apenas com informação não
geométrica, outros apenas com informação geométrica e ainda outros incluindo
simultaneamente informação geométrica e não geométrica. No último caso não é
obrigatório que a informação geométrica e não geométrica partilhem a mesma referência
espacial, isto é, não precisam de partilhar as mesmas posições, embora tenham de estar
definidos no mesmo espaço de coordenadas. Os grupos que contêm apenas informação
geométrica são designados por grupos de informação geométrica e aqueles que tratam
informação abstracta, incluindo ou não informação geométrica, são designados por grupos
de informação global.
Tanto a informação geométrica como as representações gráficas para a informação não
27
No âmbito das bases de dados relacionais, ou quando se trata de informação que qualifica outra, é
comum a utilização do termo atributo para identificar cada coluna. Como interessa usar o termo atributo para
identificar outras características do grupo preferiu-se a designação de variável.
140
geométrica são descritas por meio de listas, a lista de informação geométrica e a lista de
representações, respectivamente. Como se verá mais à frente, a lista de informação
geométrica é tratada de forma diferente consoante o tipo de grupo, isto é, se existe
simultaneamente informação geométrica e não geométrica ou simplesmente informação
geométrica.
Além das variáveis e das listas de representações e/ou de informação geométrica, o
grupo de informação inclui uma referência espacial, definida por uma grelha, e a
identificação das variáveis a usar como atributos na visualização.
Descrevem-se em seguida mais detalhadamente cada uma das componentes dos grupos
de informação e, a par disso, as mapificações disponíveis.
4.1.1
Variáveis
Uma variável é caracterizada por uma sequência de valores cuja ordem é relevante para
a ligação, quer com outras variáveis com que esteja relacionada, quer com uma referência
espacial. Normalmente os dados a analisar são valores numéricos ou textuais, por isso
centrar-nos-emos nestes tipos.
Um grupo de informação pode conter uma ou mais variáveis e uma variável pode estar
ligada a mais do que um grupo. Algumas variáveis são usadas para definir as posições das
grelhas que constituem as referências espaciais dos grupos de informação global. Estas
variáveis ficam associadas aos grupos através das grelhas, não sendo necessário que
pertençam explicitamente à lista de variáveis do grupo de informação.
4.1.2
Grelha
A referência espacial é definida através de uma grelha, tal como acontece na
visualização de dados científicos. Isto permite de uma forma simples e genérica descrever
uma referência espacial quer haja ou não posições no espaço intrinsecamente associadas
aos dados.
A grelha é definida por um conjunto de pontos no espaço (2D ou 3D) e pelas conexões
entre esses pontos. Estas conexões ligam pontos adjacentes determinando superfícies, ou
volumes, designados por células ou elementos. A forma como os pontos se distribuem no
espaço e o modo como são ligados definem diferentes tipos de grelhas. Seguiu-se a
classificação adoptada em [Speray90] e consideraram-se os seguintes tipos de grelhas:
141
cartesianas, regulares, estruturadas e não estruturadas.
Segundo este autor, nas grelhas cartesianas os pontos estão alinhados paralelamente aos
eixos coordenados e espaçados de uma unidade segundo os diferentes eixos, gerando
células quadradas ou cúbicas. Num espaço tridimensional, a posição de um ponto duma
grelha cartesiana é identificada pelos valores de três índices (i, j, k) com i, j e k a variarem,
respectivamente, entre 0 e nx-1, 0 e ny-1, 0 e nz-1, em que nx, ny e nz são o número de
pontos segundo os eixos dos xx, yy e zz, respectivamente.
As grelhas regulares têm os pontos alinhados paralelamente aos eixos do referencial e a
distância entre pontos adjacentes é constante em cada eixo, mas pode variar de eixo para
eixo gerando células rectangulares ou paralelepipédicas. Assim, para identificar um ponto
numa grelha deste tipo, num espaço tridimensional, além dos índices i, j, e k são também
necessárias as distâncias entre os pontos adjacentes relativamente a cada eixo. Neste caso
as posições são dadas por (i*dx, j*dy, k*dz) em que dx, dy e dz são as distâncias entre pontos
adjacentes segundo os eixos dos xx, dos yy e dos zz, respectivamente.
A fim de permitir maior flexibilidade na localização da grelha no espaço e a
combinação de mais de uma grelha, optou-se por não restringir a localização da origem da
grelha à origem do referencial, tanto nas grelhas cartesianas como nas regulares
(Fig. 4.1 (a) e (b)). A identificação de um ponto da grelha precisa assim de incluir a
referência à origem. Sendo (ox, oy, oz) a origem da grelha, aos índices i, j e k corresponde,
nas grelhas cartesianas, o ponto (i+ox, j+oy, k+oz) e, nas grelhas regulares, o ponto
(i*dx+ox, j*dy+oy, k*dz+oz).
Também designadas por curvilíneas, as grelhas estruturadas correspondem ao resultado
da aplicação de transformações não lineares a grelhas cartesianas. Não há regularidade na
localização dos pontos da grelha, existindo, contudo, regularidade no número de pontos
segundo cada eixo (Fig. 4.1 (c)). Sendo assim, a posição de um ponto será dada por
(X[i,j,k], Y[i,j,k], Z[i,j,k]) em que X, Y e Z contêm as coordenadas de todos os pontos
relativamente a cada eixo. As células criadas são quadriláteros ou hexaedros irregulares.
Nas grelhas não estruturadas os pontos têm localizações arbitrárias (Fig. 4.1(d)). Ao
contrário dos outros tipos de grelha já descritos, não existe qualquer conectividade
implícita, sendo necessário indicar para cada ponto quais são os pontos a que está ligado.
Para identificar a posição de um ponto basta apenas um índice a variar, por exemplo, entre
142
0 e n-1, sendo n o número total de pontos, e os vectores que guardam as coordenadas de
cada um dos pontos: (X[i], Y[i], Z[i]).
ny=7
ny=7
nx=5
nx=8
(a) Grelha cartesiana 2D
(b) Grelha regular 2D
ny=4
nx=5
(c) Grelha estruturada 2D
(d) Grelha não estruturada 2D
Fig. 4.1 – Exemplos de grelhas
A caracterização de qualquer um dos tipos de grelha tem subjacente a necessidade de
explicitar ou não as conexões e todos os pontos da grelha. Assim, em termos de conexões,
há grelhas com conexões implícitas, como as grelhas cartesianas, regulares e estruturadas,
em que basta conhecer o número de pontos segundo cada eixo, e grelhas em que é preciso
explicitar a forma como os pontos se encontram ligados, como no caso das grelhas não
estruturadas. Quanto às posições, para as grelhas estruturadas e não estruturadas é
necessário indicar explicitamente todas as posições, ao contrário do que se passa com as
143
grelhas cartesianas e regulares: para as primeiras, as posições são determinadas pelos
índices do ponto e pela posição da origem da grelha, para as segundas, as posições são
calculadas em função dos índices do ponto, da distância constante entre pontos adjacentes
segundo cada eixo e da localização da origem da grelha. Donde para determinar as
posições de uma grelha cartesiana basta indicar o número de pontos segundo cada eixo e a
origem da grelha. Para as grelhas regulares, além do número de pontos e da origem, é
necessário indicar também a distância entre dois pontos adjacentes em cada eixo. Para as
grelhas estruturadas e não estruturadas a indicação das coordenadas dos pontos da grelha é
feita à custa de variáveis, cada uma delas com os valores de uma das componentes: duas
variáveis para grelhas de espaços 2D e três variáveis para grelhas de espaços 3D.
Do ponto de vista da visualização, a determinação da localização dos elementos de
informação é crucial, mas o conhecimento das conexões entre os pontos da grelha só é
necessário para certas formas de mapificação, como, por exemplo, a geração de
superfícies. Este aspecto será abordado na descrição do protótipo.
As grelhas estruturadas e, sobretudo, as não estruturadas são utilizadas em situações em
que a referência espacial já está preestabelecida ou se escolheram variáveis com valores
numéricos para a definir. Quanto às grelhas regulares e cartesianas, podem considerar-se
duas aplicações distintas: quando há uma regularidade implícita nos dados, por exemplo,
valores relativos a informação recolhida todos os meses ao longo de vários anos; ou
quando não há qualquer indício sobre o modo como organizar a informação.
É suposto que, em cada grupo de informação, o número de valores das suas variáveis,
que contêm a informação a visualizar, seja igual ao número de pontos da grelha, uma vez
que apenas são visualizados valores sobre a grelha. A correspondência entre os valores das
variáveis que representam os dados e as posições da grelha é estabelecida pela ordem em
que são lidos os valores. Isto é, o i-ésimo elemento da variável está associado ao i-ésimo
elemento da grelha.
Nada impede que diferentes grupos partilhem a mesma grelha. Mais ainda, isso pode ter
algum interesse, uma vez que dividir a informação por diferentes grupos permite visualizála em conjunto ou separadamente.
144
4.1.3
Atributos do grupo de informação
Em cada grupo de informação podemos associar variáveis a características próprias das
mapificações condicionando o aspecto e/ou volume de informação representada. Estas
características, que designaremos por atributos, são, para representações por ícones, a
importância a priori, e, para superfícies tridimensionais, a cor e o relevo.
Para exprimir critérios semânticos adoptou-se a função de grau de interesse tal como é
definida em [Furnas86] e já referida na secção 2.2.1. Esta função permite quantificar o
interesse do utilizador em visualizar um elemento dado um foco de interesse. A expressão
da função para um elemento x, dado um foco y, é
DOI(x|y) = API(x) – D(x,y)
onde API(x) representa o valor da função importância a priori do elemento x e D(x,y) a
distância de x a y. Fixando um limiar para função DOI, os elementos cujo valor da função
seja inferior ao limiar não serão representados.
Apesar de se manterem como componentes fundamentais a importância a priori e a
distância ao foco de interesse, considerou-se também a omissão de uma das componentes,
ou melhor, a sua substituição por uma constante. Isto é, se não se especificar um foco de
interesse, a distância toma o valor 0, coincidindo assim a função de grau de interesse com a
importância a priori. Se não se definir a importância a priori, consideram-se todos os
elementos com a mesma importância que, por omissão, será 1.
Optou-se por, em cada grupo de informação, indicar a importância a priori através dos
valores de uma variável, que poderá pertencer ao conjunto de dados inicial ou ser criada
especificamente para esse efeito. Esta variável veicula meta-informação sobre os
elementos a visualizar. Corresponde à quantificação de informação subjectiva. Não se
considera, portanto, explicitamente uma função importância a priori. O atributo
importância a priori ou, simplesmente, atributo api, está associado a esta variável.
O atributo api tem implicações diferentes consoante se trate de grupos de informação
global ou grupos de informação geométrica. No primeiro caso, além de ser usado para
quantificar a importância da informação não geométrica conhecida em cada ponto da
grelha, concorre também para a identificação da representação a usar em cada ponto se
estiverem definidas múltiplas representações. No segundo caso, contribui para quantificar a
importância de cada representação geométrica incluída na listas de informação geométrica.
145
Os atributos cor e relevo podem estar associados à mesma variável ou a variáveis
distintas. Os seus valores determinarão a cor e relevo da superfície em cada ponto da
grelha.
4.1.4
Listas de representações e listas de informação geométrica
A forma básica de mapificação, para informação abstracta, consiste no desenho de um
ícone em cada ponto da grelha. Este ícone está descrito na lista de representações do grupo
de informação. Pelo facto de existir uma lista de ícones, além da designação
representação por ícones, usar-se-á também a denominação de representação por listas
para esta mapificação. A lista de representações contém um ou mais ícones associados a
diferentes factores de escala de representação28.
Cada uma das representações que constituem a lista inclui: um identificador, uma lista
das primitivas gráficas que definem o ícone a desenhar, o valor do menor factor de escala
de representação com o qual é gerada uma imagem inteligível e, opcionalmente, o valor do
maior factor de escala em que faz sentido usar esta representação.
A lista de representações deve estar ordenada por ordem crescente do factor de escala
mínimo de cada representação. A selecção da representação a usar em cada ponto da grelha
é condicionada por este factor de escala e, além disso, pode também incluir critérios
semânticos traduzidos pela função de grau de interesse. Este aspecto será abordado mais à
frente.
Apenas os grupos de informação global têm uma lista de representações, porque estes
grupos são os únicos que tratam informação abstracta. No entanto, qualquer grupo pode
incluir informação geométrica descrita por um conjunto de primitivas gráficas. Esta
informação é organizada numa sequência de representações que constituem a lista de
informação geométrica. A sua constituição é idêntica à das listas de representações, mas as
representações gráficas são geridas de forma diferente. Por um lado, os elementos gráficos
que as constituem incluem a localização onde devem ser desenhados, não dependendo,
portanto, da informação espacial veiculada pela grelha. Isto implica que os grupos de
28
Designa-se por factor de escala de representação ao menor dos factores de escala (em xx ou em yy)
que, na transformação janela-enquadramento, aplicam os lados da janela do espaço de coordenadas do
utilizador nos lados do enquadramento definido no espaço de coordenadas da estação gráfica. Quando não
houver perigo de confusão usar-se-á simplesmente a expressão factor de escala.
146
informação geométrica não carecem da definição de uma grelha. Por outro lado, são
desenhadas todas as representações que contenham o factor de escala corrente no intervalo
de factores de escala admitidos, ao contrário do que se passa com as listas de
representações em que apenas uma representação da lista é desenhada.
Considerou-se que o conteúdo da lista de informação geométrica dos grupos de
informação global funciona como um complemento para a outra informação do grupo, por
isso a representação dos elementos desta lista não depende da função de grau de interesse.
Apenas nos grupos de informação geométrica se tem em conta o valor desta função para
eliminar representações menos relevantes da lista de informação geométrica. Assim, nos
casos em que seja relevante condicionar a representação da informação geométrica de
acordo com o valor da função de grau de interesse, esta informação deverá ser incluída
num grupo de informação geométrica. Nestes grupos apenas são desenhadas as
representações para as quais o valor da função é superior ao limiar fixado e em que o factor
de escala corrente pertence ao intervalo de factores de escala admitidos. Para quantificar a
importância a priori de cada representação, os valores da variável ligada ao atributo api do
grupo são associados sequencialmente a cada uma das representações da lista.
A lista de informação geométrica permite incluir informação geométrica para visualizar
em conjunto com informação abstracta e, além disso, proporciona também a possibilidade
de complementar as representações gráficas, definidas nas listas de representações, com
elementos gráficos que não são repetidos em todos os pontos da grelha, como se mostrará
num dos exemplos que se apresentam a seguir.
Para ilustrar a mapificação com ícones apresentam-se dois exemplos: o primeiro,
relativo a alguns edifícios de utilidade pública na cidade de Lisboa cujas localizações são
conhecidas, incluindo ainda informação sobre a planta da cidade; o segundo, sobre troca de
mensagens entre processos distribuídos executados em paralelo.
Os dois conjuntos de dados têm características distintas. O primeiro é constituído por
informação mista: informação abstracta relativa aos edifícios, de que se conhece a
localização no espaço, complementada com informação de natureza geométrica sobre a
planta da cidade. No segundo, há apenas informação abstracta.
Um passo importante na construção da visualização consiste em identificar os grupos de
informação, isto é, determinar qual a informação que está semanticamente relacionada e
147
cujos elementos devem ser mostrados com o mesmo símbolo gráfico, reflectindo ou não na
sua aparência o valor dos elementos.
No primeiro exemplo há informação sobre diferentes tipos de edifícios (monumentos,
museus, igrejas, hotéis, estádios de futebol) relativamente aos quais se conhecem os
valores de algumas das suas características. Por exemplo, sobre um hotel conhece-se o
número de estrelas e o número de quartos. Sabe-se ainda qual a localização de cada um dos
edifícios no mapa da cidade e há informação sobre a localização de algumas ruas e do
contorno da cidade junto ao rio.
Os edifícios são organizados em grupos de informação global, cada um deles
congregando os dados relativos a um determinado tipo de edifício. Esta informação tem
referência espacial, isto é, são directamente conhecidas as localizações dos edifícios que
irão constituir as posições de uma grelha não estruturada. Contudo, as conexões não são
conhecidas, o que não constitui limitação na representação através de listas. A informação
geométrica disponível, as ruas e o contorno junto ao rio, reuniu-se num grupo de
informação geométrica. A informação foi separada por diferentes representações na lista de
informação geométrica deste grupo. Em cada representação agruparam-se troços de rua
com a mesma importância a priori.
Para representar os edifícios utilizaram-se representações simbólicas muito simples
compostas por uma letra, que identifica o tipo de edifício, inscrita em elipses (Fig. 4.2)29.
Este exemplo será retomado mais à frente a propósito da utilização de múltiplas
representações em cada grupo de informação.
29
As figuras foram obtidas utilizando o protótipo construído e mostram apenas a área de desenho,
omitindo a zona de interacção que será explicada no capítulo seguinte.
148
Fig. 4.2 – Representação com ícones
Os dados do segundo exemplo foram gerados por uma ferramenta para o depuramento
de programas distribuídos por troca de mensagens, MPVisualizer [Cláudio00]. A execução
destes programas envolve um conjunto de processos sequenciais que comunicam entre si
por troca de mensagens.
A informação não tem qualquer tipo de representação previamente definida. É
necessário, por conseguinte, estabelecer uma forma para visualizar os dados, o que inclui a
definição de uma referência espacial. Como é conhecida a ordem de envio e recepção de
todas as mensagens e entre que processos as mensagens são trocadas, basta considerar num
espaço 2D posições que respeitem esta ordem. O próprio MPVisualizer consegue gerar um
ficheiro de saída que reflecte esta ordem. A referência espacial é construída à custa desta
informação.
Comecemos por explicar qual a informação que se vai mostrar. Os dados incluem o
número total de processos envolvidos bem como informação relativa a processos e a
mensagens. Conhecem-se, para cada processo, o respectivo identificador e uma sequência
de posições correspondentes aos eventos de comunicação por este executados - envios,
recepções e consumos de mensagens - e, para cada mensagem, as posições dos respectivos
eventos de envio (send) e de consumo (consume).
Quanto aos tipos de eventos de recepção existem recepções bloqueantes e recepções não
149
bloqueantes que são os dois tipos de recepção usuais neste tipo de sistemas. Numa
recepção bloqueante a execução de um processo é suspensa caso não tenha ainda chegado
a mensagem a consumir. Cada um destes dois tipos de eventos de recepção apresenta por
sua vez duas variantes que se distinguem pelo facto de o processo, ao executar a recepção,
especificar ou não o identificador do processo emissor da mensagem. Distinguem-se,
assim, quatro tipos diferentes de eventos de recepção: recepção bloqueante em que se
especificou o identificador do processo emissor (blocking receive), recepção não
bloqueante em que se especificou o identificador do processo emissor (non-blocking
receive), recepção bloqueante em que não se especificou o identificador do processo
emissor (blocking receive from any) e recepção não bloqueante em que não se especificou
o identificador do processo emissor (non-blocking receive from any) [Cláudio00].
Naturalmente, numa execução nem sempre ocorrem todos os tipos de eventos.
Um evento de consumo está sempre associado a um evento de recepção que lhe é
imediatamente anterior no mesmo processo. O recíproco não é verdadeiro, isto é, um
evento de recepção nem sempre é seguido de um evento de consumo: um processo pode
pretender receber uma mensagem que nunca lhe chegue a ser enviada. Quando um
processo executa uma recepção bloqueante fica à espera de uma mensagem para consumir;
se esta nunca chegar, o processo não poderá prosseguir a sua execução. Esta situação será
fácil de identificar na representação gráfica, uma vez que o processo fica suspenso. No
entanto, se a recepção for não bloqueante, o facto de não ter havido consumo de mensagem
será mais difícil de identificar já que o processo continuará a sua execução.
Os dados reflectem uma relação de ordem temporal relativa entre os eventos. Primeiro,
dentro do mesmo processo os eventos estão ordenados pela sua ordem de ocorrência e
segundo, cada evento de consumo de mensagem é posterior ao respectivo evento de envio.
Os dados foram organizados em diferentes grupos de informação de modo a distinguir
os processos, as mensagens e os diferentes tipos de eventos. Tem-se assim um grupo para
os processos, outro para as mensagens e um para cada um dos tipos de eventos.
A representação adoptada segue a forma mais usual de apresentar este tipo de
informação: os diagramas tempo-espaço [Lamport78]. Nesta representação o tempo cresce
segundo um eixo horizontal, da esquerda para a direita, cada processo é representado por
uma linha horizontal em cujo início está o respectivo identificador e sobre a qual surgem as
150
representações dos eventos de comunicação. O envio de mensagens é identificado com a
letra ‘S’, o consumo com a letra ‘C’, a recepção bloqueante com a letra ‘b’, a recepção não
bloqueante pela letra ‘n’ e, as respectivas variantes em que não se especifica o
identificador do processo emissor, pelas letras ‘B’ e ‘N’. O percurso de uma mensagem é
representado por uma linha entre o evento de envio e o de consumo (Fig. 4.3).
Fig. 4.3 – Representação com ícones
Resumindo, a cada tipo de evento corresponde uma letra que é colocada em todos os
pontos da grelha do seu grupo de informação. Cada mensagem é mostrada por um
segmento de recta que liga pontos que pertencem às grelhas dos eventos. A representação
de um processo inclui um segmento, cujo fim é realçado por dois segmentos em x, e um
inteiro que identifica o processo.
A organização da informação em diferentes grupos de informação teve em conta as
características que em cada tipo de grupo melhor se adaptavam à informação a representar.
Assim, como para cada tipo de evento se repete o mesmo elemento gráfico em diferentes
posições, é usado para cada um deles um grupo de informação global em que a grelha
guarda a informação sobre as posições e a lista de representações é formada por uma única
representação: uma letra que identifica o tipo de evento. Os processos podem ser tratados
por um grupo de informação global. Além da lista de representações, que tem também uma
151
única representação constituída pelo identificador do processo a colocar no ponto da grelha
que corresponde ao início do processo, tem ainda uma lista de informação geométrica que
dá origem ao desenho dos segmentos de recta. Outra solução para tratar os processos,
utilizada em [Carmo02], consiste em tratar os processo por um grupo de informação
geométrica. Neste caso tem-se apenas uma lista de informação geométrica com quatro
representações, uma para cada processo. Todas as representações incluem um carácter cujo
valor depende da variável que guarda os identificadores dos processos. Para as mensagens
utilizou-se um grupo de informação geométrica, uma vez que apenas é usada uma lista de
informação geométrica para explicitar os segmentos que as representam.
Este exemplo mostra que as listas de informação geométrica permitem estender a
representação por ícones, definida na lista de representações, complementando-a com
elementos gráficos que ligam vários pontos comuns a diferentes elementos de informação.
4.1.5
Geração de superfícies
Uma das características relevantes de um sistema de visualização é o conjunto de
mapificações disponíveis. Para testar a capacidade de resposta dos grupos de informação a
outras formas de mapificação considerou-se a visualização através de superfícies coloridas
tridimensionais.
Este tipo de mapificação é comum nos sistemas de Visualização de Dados Científicos,
mas o aspecto que interessa realçar é a sua utilização para a visualização de informação
abstracta, porque é essa característica que nos leva a incluir este tipo de mapificação num
sistema de Visualização de Informação. Por vezes, dados que resultam da medição de
grandezas físicas, normalmente tratados no âmbito da Visualização de Dados Científicos,
não têm nenhum objecto físico que os represente nem uma referência espacial explícita, o
que permite que possam ser também classificados como dados abstractos. É o que
acontece, por exemplo, com dados sobre temperaturas recolhidas numa estação
meteorológica ao longo do tempo.
Não há, portanto, uma fronteira nítida entre as duas áreas de estudo e, por isso, é
também natural que se recorra, em alguns casos, às mesmas técnicas de visualização. Um
exemplo é a visualização designada por ThemeScapes [Wise95] usada para a representação
152
de texto, já referida na subsecção 2.1.5, onde é utilizada uma superfície tridimensional cujo
relevo evidencia a preponderância de um assunto no conjunto de documentos em estudo.
Os grupos de informação incluem, além dos dados, uma referência espacial definida por
uma grelha, dispondo assim da informação necessária para gerar a construção de uma
superfície tridimensional. Deste modo, se um grupo de informação tiver definida uma
grelha com conexões, é possível a partir dos valores de uma ou de duas variáveis e da
selecção de uma superfície plana pertencente à grelha construir uma superfície cujo relevo
e cor dependem dos valores das variáveis.
Em grelhas bidimensionais, a superfície plana coincide com a própria grelha e, em
grelhas tridimensionais, corresponde à intersecção da grelha com um plano de corte. Esta
superfície é formada por uma sucessão de polígonos, que, no primeiro caso, são as células
da grelha, e, no segundo caso, são os polígonos obtidos por intersecção das células da
grelha com o plano de corte. O processamento destes polígonos poderá levar à sua
subdivisão.
Os valores das variáveis associadas aos atributos cor e relevo, determinarão qual o
aspecto da superfície. Quando os dois atributos estão associados a variáveis distintas, é
possível visualizar simultaneamente as duas variáveis e comparar o seu comportamento. Se
estiverem associados à mesma variável, as duas codificações podem complementar-se. Por
exemplo, em zonas com a mesma cor, o relevo poderá evidenciar variações nos valores.
Além de visualizar a superfície considera-se também a possibilidade de desenhar sobre
a superfície a grelha ou o resultado da intersecção da grelha com o plano de corte,
consoante se trate, respectivamente, de grelhas 2D ou 3D.
A determinação dos polígonos que constituem a superfície recorre à interpolação de
valores verificados sobre pontos da grelha, isto é, se os vértices dos polígonos não
coincidem com pontos da grelha, são-lhes associados valores calculados por interpolação
linear dos verificados nos pontos adjacentes da grelha. É o que se passa, por exemplo, em
grelhas 3D quando as superfícies são obtidas por intersecção de planos de corte não
coincidentes com planos da grelha. Pelo facto de se usarem interpolações dos valores das
variáveis, este tipo de mapificação está normalmente ligado à visualização de variáveis
com domínio de variação contínuo.
153
Fig. 4.4 – Superfície sem grelha e escala de cores
Fig. 4.5 – Superfície com grelha
As figuras anteriores ilustram a visualização de dados através de superfícies
tridimensionais coloridas. Os dados foram cedidos pelo Instituto de Meteorologia e são
relativos a medições de temperaturas sobre uma superfície isobárica de 500hPascal, ou
seja, aquilo que em meteorologia se designa por “meia atmosfera”. As medidas foram
154
efectuadas entre os meridianos –45º e 45º e os paralelos 80º e 20º em determinado instante.
Os valores são expressos em graus Kelvin. A grelha subjacente aos dados é uma grelha
regular com origem em (-45, 20). São visualizados apenas valores relativos a uma variável,
a temperatura, que é usada simultaneamente para colorir a superfície e gerar o relevo. A
Fig. 4.4 mostra a superfície e a janela com a escala de cores. Na Fig. 4.5 a grelha está
desenhada sobre a superfície.
4.2
Múltiplas representações
A possibilidade de definir mais do que uma representação para um elemento de
informação permite adequar melhor a representação à escala que está a ser usada, variando
não só a dimensão do desenho, mas também modificando o seu conteúdo. A mudança pode
ocorrer tanto por alteração da quantidade de detalhe, como por adopção de novas
simbologias, por exemplo, para escalas maiores poderá ter-se a representação de um
objecto com a sua forma e tamanho exactos, enquanto que para escalas mais pequenas
ter-se-á apenas um símbolo. Por outro lado, é conveniente simplificar a representação de
informação menos relevante para não sobrecarregar a imagem com pormenores não
essenciais e libertar espaço para detalhar informação mais importante.
É possível definir múltiplas representações, quer nas listas de representações, quer nas
listas de informação geométrica e para cada uma delas estão definidas regras para a
selecção da representação adequada.
4.2.1
Múltiplas representações nas listas de representações
Nas listas de representações a selecção da representação que deve ser usada está
condicionada essencialmente pelo factor de escala. Como já foi referido, cada
representação tem associado o factor de escala mínimo que produz um desenho com
dimensão ainda inteligível. A lista de representações encontra-se ordenada por ordem
crescente deste factor de escala. Isto significa que, em primeiro lugar se encontram as
representações mais simples e depois as mais detalhadas necessitando estas de mais área
para serem desenhadas. Há, assim, uma hierarquia de representações baseada na escala
mínima em que podem ser desenhadas. Quando o factor de escala corrente é menor que a
escala mínima da primeira representação da lista, não há nenhuma representação elegível e
o elemento não deve ser representado. Ao contrário, todas as representações cuja escala
155
mínima seja inferior à escala corrente podem ser usadas. Definiu-se que a representação a
seleccionar é a mais detalhada que é possível representar de forma clara. Isto é, a
representação com a maior escala mínima que é menor ou igual à escala corrente.
Note-se que não se analisa o factor de escala máximo de cada representação. Supõe-se
que na sequência de representações a seguinte substitui a anterior quando o seu factor de
escala mínimo é menor ou igual ao factor e escala corrente.
Neste contexto o termo escala é usado com o mesmo significado que em cartografia.
Normalmente a escala é representada por uma fracção da forma 1:m em que m representa o
número de unidades medidas no terreno que irão corresponder a uma unidade no mapa.
Dadas duas escalas 1:m e 1:n a primeira é considerada menor se m>n , isto é, 1/m<1/n
[Aronoff91]. Se pensarmos em termos de factor de escala da transformação janela-enquadramento, supondo a dimensão do enquadramento fixa, se escolhermos uma janela mais
pequena teremos, por um lado, menos unidades da janela aplicadas numa unidade do
enquadramento, o que corresponde a uma escala maior, e teremos, por outro lado, um
factor de escala maior para aplicar a janela no enquadramento Será, pois, equivalente dizer
que se tem um factor de escala maior ou uma escala maior. As duas expressões serão
usadas sem distinção.
O factor de escala da transformação janela-enquadramento é o quociente
(dimensão do lado do enquadramento)/(dimensão do lado da janela)
Se não se obrigar que a janela e o enquadramento tenham a mesma proporção, os
factores de escala segundo xx e segundo yy da transformação janela-enquadramento são
diferentes. Neste caso deve ser usado o menor destes factores de escala para comparar com
o factor de escala mínimo associado a cada uma das representações para garantir a
inteligibilidade da representação.
Além dos problemas de perceptibilidade da informação há também a considerar
situações em que se pretende realçar informação à custa de critérios baseados no seu
conteúdo, ou seja, critérios semânticos. Por outras palavras, interessa dar relevância a
alguma informação em detrimento de outra. Neste caso a representação a usar deve
depender também do interesse atribuído a cada elemento, o qual será quantificado à custa
da função de grau de interesse. Esta função, além de fornecer um critério para a redução do
volume de informação, pode assim induzir a escolha de representações diferentes
156
consoante o grau de interesse. Considerou-se que a elementos com menos interesse devem
associar-se representações com menos detalhe as quais podem ser escolhidas de entre as
representações utilizáveis para escalas menores. Desta forma, é possível simplificar a
representação dos elementos com menos interesse, reduzindo a informação não relevante.
Além disso, não é necessário atribuir uma representação própria para caracterizar o grau de
interesse da informação.
Esta abordagem é particularmente interessante quando são representadas simultaneamente várias variáveis e/ou a densidade de informação é muito elevada. No primeiro caso
porque não é necessário escolher uma representação distinta para expressar o grau de
interesse. No segundo caso, porque os elementos com menos interesse serão mostrados
com representações mais simplificadas, reduzindo a quantidade de informação
representada. A inclusão de critérios semânticos através da utilização do conceito de grau
de interesse para qualificar e/ou filtrar a informação vai conduzir a uma visualização que
aumenta a razão
quantidade de informação relevante
quantidade de informação representada
que designaremos por razão de informação relevante.
Os elementos de informação considerados mais relevantes pelo utilizador, isto é,
aqueles a que correspondem valores mais elevados da função de grau de interesse,
mantêm-se porque para eles são usadas representações adequadas à escala corrente. Por
outro lado, reduz-se a quantidade de informação representada, porque os elementos menos
relevantes têm representações mais simplificadas e os não relevantes são eliminados.
Embora distinto, este quociente lembra a razão de tinta dos dados (data-ink ratio)
definida em [Tufte83] como o quociente entre a quantidade de tinta dos dados, isto é, a
tinta usada num gráfico para expressar a informação sobre os dados, e a quantidade total de
tinta. Tufte defende que se deve maximizar esta razão, eliminando elementos acessórios à
representação dos dados, como a profusão de legendas ou de marcas de escalas sobre
eixos, para que a atenção se possa concentrar no que é realmente importante.
No processo de redução de informação não relevante há efectivamente uma diminuição
da “quantidade de tinta”, mas à custa da eliminação de alguma informação que é
considerada irrelevante, o que quer dizer que se diminui a “tinta dos dados” e não
157
elementos acessórios à interpretação do desenho. Isto significa que o aumento da razão de
informação relevante provoca, na realidade, uma diminuição da razão de tinta dos dados.
Este resultado comprova-se considerando a, b e c quantidades positivas, tais que a<c e b<c
, em que a representa a tinta da informação eliminada, b a tinta dos dados e c a totalidade
da tinta. Como
b/c > (b-a)/(c-a)
verifica-se que a razão de tinta dos dados diminui ao retirar informação.
Do mesmo modo pode verificar-se que a eliminação de informação não relevante
provoca o aumento da razão de informação relevante. Sejam a, b e c quantidades positivas,
tais que a<c, em que a representa a informação não relevante eliminada, b a informação
relevante e c a totalidade da informação. Como
b/c < b /(c-a)
tem-se que a razão de informação relevante aumenta ao retirar informação não
relevante.
Apesar da razão de tinta dos dados e a razão de informação relevante serem medidas do
depuramento no desenho final, não o fazem nos mesmos moldes. Enquanto que a razão de
informação relevante se concentra apenas nos dados, comparando o volume da informação
considerada relevante com a totalidade da informação desenhada, a razão de tinta dos
dados mede o que no desenho representa efectivamente os dados. A razão de tinta dos
dados está mais dirigida para a comparação de alterações nas mapificações uma vez que
evidencia a inclusão de informação que ajuda a interpretar os dados.
O critério de escolha de representação usando funções de grau de interesse [Carmo97]
[Carmo98] tem em atenção o número de representações disponíveis, a sua escala de
representação mínima e a escala corrente. Não devem ser usadas representações que não
verifiquem os critérios de escala em relação à menor escala, pois isso conduziria a
representações ininteligíveis. Contudo, para elementos com menor importância pode escolher-se uma representação com menos detalhe do que seria normal para o factor de escala
corrente.
Será necessário definir uma aplicação que, tendo em atenção o factor de escala, aplique
o resultado da função de grau de interesse numa representação da lista de representações.
Aos elementos com valor mais elevado da função grau de interesse corresponderá a
158
representação adequada ao factor de escala corrente. Aos outros elementos com menor
importância corresponderão representações normalmente associadas a escalas inferiores.
Se a escala corrente for a mais pequena, todos os elementos terão a mesma representação.
Alguns elementos poderão ser omitidos fazendo variar o limiar da função de grau de
interesse.
Sejam n as representações, identificadas de 1 a n, sendo a representação 1 a mais
simplificada e crescendo o grau de pormenor até à representação n, à qual corresponde o
factor de escala mais elevado. Considere-se o intervalo de variação da função de grau de
interesse: [minDOI, maxDOI]. Pode dividir-se este intervalo em n subintervalos atribuindo
a cada subintervalo uma das n representações possíveis. Isto será verdade se a escala
corrente corresponder à representação mais pormenorizada, n. Se a escala corrente
corresponder a uma representação k<n, então ao subintervalo com os maiores valores da
função de grau de interesse corresponderá a representação k e para os outros irá
decrescendo o identificador da representação até que este seja o valor 1. Aos restantes
subintervalos corresponderá também a representação com identificador 1. No caso extremo
de a escala corrente corresponder à representação 1, teremos todos os elementos com a
mesma representação, como se viu acima.
Para aplicar o resultado da função de grau de interesse no conjunto de representações,
optou-se por dividir o contradomínio da função de grau de interesse em subintervalos de
igual amplitude. Dado um valor da função de grau de interesse, DOI, com DOI<maxDOI,
obtém-se o subintervalo a que pertence através da expressão:
subint = (DOI-minDOI) div (ampl/n) + 1
em que
ampl = maxDOI-minDOI
e
div é a divisão inteira.
O afastamento deste subintervalo em relação ao subintervalo com valores mais elevados
determinará o número de unidades a subtrair ao identificador da representação corrente. Se
o valor obtido pela subtracção for inferior a 1, é escolhida a representação 1.
159
Seja
unid_subt=subint-n
(quantidade negativa ou zero porque subint varia
entre 1 e n)
a representação a usar será:
repr. corrente + unid_subt
se o resultado for maior ou igual a 1
1
caso contrário
Aos elementos com DOI=maxDOI corresponderá a representação associada à escala
corrente.
Recorrendo aos dados sobre edifícios públicos na cidade de Lisboa, consideram-se
quatro representações simbólicas distintas. Para todos os grupos de informação criados a
representação mais simples é composta apenas por uma letra que indica o tipo do edifício.
Os restantes três símbolos juntam de uma a três elipses à volta da letra. Na Fig. 4.6 junto a
cada uma das representações associadas a hotéis estão indicados o seu identificador e o
factor de escala mínimo que lhe está associado.
Identificador
Escala mínima
H
H
H
H
1
2
3
4
0.000005 0.000010 0.000015
0.000020
Fig. 4.6 – Múltiplas representações: identificador e escala mínima
Se estiver seleccionado um foco de interesse, podemos considerar os valores da função
de grau de interesse a variar no intervalo [-1, 1]. Considera-se este intervalo porque para
conjugar os valores da importância a priori com a distância ao foco, que habitualmente são
grandezas expressas em unidades diferentes, os seus valores são normalizados em [0,1]. O
valor -1 corresponde à importância mínima e distância máxima e o valor 1 à importância
máxima e distância mínima.
O contradomínio da função de grau de interesse será dividido em quatro subintervalos:
[-1,-0.5[, [-0.5,0[, [0,0.5[ e [0.5,1[. Se a escala corrente for por exemplo 0.000040, então a
representação 4 é a adequada à escala corrente e será utilizada para os elementos cujo valor
160
da função de grau de interesse pertença ao intervalo [0.5,1[. A representação 3
corresponderá ao intervalo [0,0.5[, a representação 2 ao intervalo [-0.5,0[ e a representação
1 ao intervalo [-1,-0.5[. Contudo, se a escala corrente for 0.000017, a representação
adequada à escala corrente será neste caso a 3. Assim o intervalo [0.5,1[ fica associado à
representação 3, o intervalo [0,0.5[ à representação 2 e os dois restantes intervalos, [-0.5,0[
e [-1,-0.5[ à representação 1.
Algumas variantes podem ser introduzidas na selecção da representação de acordo com
o grau de interesse. Relativamente à aplicação do resultado da função de grau de interesse
no identificador de uma representação, em vez de se considerar todo o contradomínio da
função de grau de interesse ([minDOI, maxDOI]) para dividir pelo número de
representações, poderá pensar-se apenas no intervalo correspondente aos valores que se
vão representar, isto é, os valores acima do limiar fixado para a função. Desta forma
obtém-se um melhor aproveitamento da gama de representações disponíveis porque não se
reservam representações para valores da função de grau de interesse relativos a elementos
que vão ser eliminados. Foi esta a solução adoptada em [Martins02] na concretização deste
modelo.
No que diz respeito ao número de subintervalos em que é dividido o contradomínio da
função de grau de interesse, a solução mais simples consiste em considerar sempre o
número total de representações disponíveis. Mas outras soluções poderão mostrar-se mais
adequadas. Por exemplo, para haver uma divisão mais uniforme dos elementos pelas
representações disponíveis, será preferível considerar apenas o número de representações
entre a menor escala e a escala corrente, que poderá eventualmente corresponder à
representação mais detalhada englobando-se neste caso todas as representações. No
entanto, se a escala corrente corresponder a uma representação k<n, então o intervalo de
variação da função de grau de interesse será dividido em k subintervalos.
Outra solução consiste em dividir o contradomínio num número de subintervalos
constante e independente do número de representações. Deste modo é mais fácil controlar
a amplitude do intervalo com maiores valores da função de grau de interesse que
corresponde à informação considerada mais relevante pelo utilizador e que será visualizada
com a representação adequada à escala. Se o número de intervalos for superior ao número
de representações que podem ser usadas, haverá mais do que um intervalo associado à
161
representação mais simplificada. Se, pelo contrário, o número de intervalos for inferior,
então não serão utilizadas todas as representações disponíveis.
Outra adaptação possível relaciona-se com a existência de representações definidas para
uma grande diversidade de escalas. Neste caso, para escalas maiores haverá representações
mais detalhadas, eventualmente correspondendo à reprodução de objectos reais, e para
escalas menores ter-se-ão representações simbólicas mais simples. Poderá acontecer que a
utilização simultânea de todas as representações definidas conduza à geração de uma
imagem pouco coerente. Se se pretender evitar a mistura dos dois tipos de representação,
uma solução possível consiste em explicitar qual o factor de escala mínimo que serve de
fronteira entre eles. Se a escala corrente for superior ou igual a esse valor, apenas são
consideradas as representações com factor de escala mínimo superior ou igual ao fixado.
Se a escala corrente for inferior ao factor de escala mínimo fixado, utilizam-se apenas as
representações com factor de escala mínimo inferior a esse valor. O número de
representações a considerar depende, em qualquer dos casos, de se optar por considerar o
número total de representações ou o número de representações até à escala corrente.
As variações no contradomínio da função de grau de interesse podem conduzir à
selecção de representações diferentes. Consideremos a Fig. 4.8 e a Fig. 4.9 relativas aos
dados sobre edifícios públicos na cidade de Lisboa. As escalas mínimas escolhidas para
cada uma das representações conduziram a que a escala corrente fosse superior à escala
mínima da representação mais detalhada. Deste modo, usando a função de grau de
interesse para seleccionar a representação, em cada ponto da grelha será escolhida uma das
quatro representações disponíveis em cada grupo de informação de acordo com o resultado
da função nesse ponto. Na Fig. 4.8 é usada a função de grau de interesse, mas sem
seleccionar um foco de interesse, o que significa que apenas foi tida em conta a
importância a priori. Na Fig. 4.9 está seleccionado um foco de interesse. Neste caso o
valor da função é afectado pela distância do ponto da grelha ao foco, donde o valor da
função é o mesmo sobre o foco, mas diminui nos restantes pontos.
Quando se selecciona um foco de interesse, podemos considerar como contradomínio da
função de grau de interesse o intervalo [-1,1], como já vimos a propósito da associação de
representações a subintervalos do contradomínio da função de grau de interesse. No
entanto, se o foco de interesse não estiver activo, a função de grau de interesse coincide
162
com a importância a priori e, atendendo a que o seu valor é normalizado em [0,1], o
resultado da função varia neste intervalo. Donde o contradomínio da função de grau de
interesse depende de haver ou não escolha de um foco de interesse. Isto implica que se
parte de um intervalo diferente para subdividir pelo número de representações, originando
a ligação das representações a subintervalos distintos. No exemplo em estudo há quatro
representações distintas. Por isso o contradomínio da função é subdividido em 4
subintervalos. Se o foco estiver seleccionado obtêm-se os subintervalos [-1,-0.5[, [-0.5,0[,
[0,0.5[ e [0.5,1[. Se o foco não estiver activo, os subintervalos considerados são [0, 0.25[,
[0.25,0.5[, [0.5,0.75[ e [0.75,1[. A Fig. 4.7 mostra a ligação entre as representações
associadas a hotéis e os subintervalos do contradomínio da função de grau de interesse.
H
H
H
H
Foco activo
[-1,-0.5[
[-0.5,0[
[0,0.5[
[0.5,1[
Foco não activo
[0,0.25[
[0.25,0.5[
[0.5,0.75[
[0.75,1[
Fig. 4.7 – Ligação de representações a subintervalos do contradomínio da função de grau
de interesse
Assim a activação e a desactivação do foco de interesse provocam a actualização do
extremo inferior do intervalo em que se baseia a determinação da representação a usar em
cada ponto da grelha. Por isso se compararmos a Fig. 4.8 e a Fig. 4.9 verifica-se que com a
activação do foco, apesar do valor da função de grau de interesse diminuir para os pontos
mais afastados do foco, isso não conduz obrigatoriamente à selecção de uma representação
mais simplificada para esses pontos, como acontece com o elemento assinalado com a seta.
Há um reajustamento na selecção da representação tendo em conta o contradomínio da
função e o seu valor em cada ponto da grelha.
163
Fig. 4.8 – Representação determinada
pela escala e pela função de grau de
interesse sem foco activo
4.2.2
Fig. 4.9 – Representação determinada
pela escala e pela função de grau de
interesse com foco activo
Múltiplas representações nas listas de informação geométrica
As listas de informação geométrica permitem também a definição de múltiplas
representações [Carmo99a]. O critério base de selecção é o factor de escala mínimo tal
como acontece nas listas de representações. A imposição de uma escala mínima permite
usar uma representação apenas quando ela é inteligível. Contudo, neste caso é possível
também usar um factor de escala máximo. Isto porque, enquanto nas listas de
representações se desenha apenas uma das representações, nas listas de informação
geométrica são desenhadas todas as representações que contenham no seu intervalo de
escalas ([escala mínima, escala máxima]) a escala corrente. A não existência de uma escala
máxima conduziria a um aumento do número de elementos desenhados para escalas
maiores, mas impediria a substituição de representações. Isto é, apenas seria permitido
considerar a informação da lista de informação geométrica como um desenho único a que
poderiam ser acrescentados mais detalhes, se a escala de representação aumentasse. No
entanto, convém por vezes ter diferentes tipos de representação de acordo com a escala,
por exemplo, para escalas maiores, substituir uma representação de um conjunto de
objectos vizinhos pela representação individual de cada um deles. Será o caso de um bairro
164
que numa escala é representado pelo contorno dos seus limites e para escalas maiores é
substituído pela representação dos contornos de cada uma das casas que o constituem.
A possibilidade de substituir representações permite ainda utilizar representações que
em escala menores ocupem proporcionalmente mais área correspondendo a uma
“ampliação local” ou adoptar simbologias diferentes consoante a escala.
Como já foi referido na subsecção 4.1.4, a inclusão de restrições, usando uma função de
grau de interesse, para as representações de uma lista de informação geométrica é apenas
possível nos grupos de informação geométrica. Neste caso, além da verificação dos
factores de escala, são apenas desenhadas as representações para as quais o resultado da
função de grau de interesse é superior ao limiar fixado. Deste modo é possível subdividir
uma representação em várias com o mesmo intervalo de escalas, mas estabelecendo
diferente importância para cada uma das componentes.
4.2.3
Múltiplas representações e diferentes espaços de representação
A combinação de diferentes representações num grupo de informação pode trazer
alguns problemas de coerência. Considere-se o caso de representações que tentam
reproduzir a forma e a dimensão de um objecto real. A partir de determinado factor de
escala ficarão tão pequenas que serão ininteligíveis. São então substituídas por
representações simbólicas mais simplificadas, que poderão ser até maiores em termos de
definição no espaço de coordenadas do utilizador, uma vez que se destinam a ser usadas
para escalas mais pequenas onde a representação à dimensão real poderia já não ser visível.
Se a escolha da representação depender apenas da escala, os dois tipos de representação
não são usados em simultâneo e não haverá conflito entre eles. Contudo, se a função de
grau de interesse estiver activa, a objectos menos relevantes serão associadas
representações correspondentes a escalas menores e que poderão ser maiores do que
aquelas atribuídas a objectos mais importantes.
Para resolver este problema, as dimensões das representações simbólicas não deverão
estar sujeitas à mesma transformação janela-enquadramento. É conveniente, portanto,
definir os símbolos num sistema de coordenadas próprio, que se designará por espaço de
coordenadas dos símbolos, distinguindo-o do espaço de coordenadas do utilizador. A
transformação do espaço dos símbolos para o espaço da estação gráfica (tsimb-estgráf) partilha
o mesmo enquadramento que a transformação do espaço do utilizador para o espaço da
165
estação gráfica (tutil-estgráf). O factor de escala mínimo da transformação janela-enquadramento que está associado a todas as representações tem de ser relativo à mesma
transformação. Para este efeito é usada a transformação tutil-estgráf, como será referido mais à
frente.
A janela da transformação tsimb-estgráf mantém-se inalterada durante a visualização, uma
vez que apenas a janela do espaço de coordenadas do utilizador é redefinida nas operações
de ampliação/redução, panorâmicas ou visualizações de conjunto. Assim, supondo que a
dimensão do enquadramento se mantém, verifica-se que cada símbolo definido neste
espaço tem sempre o mesmo aspecto final, qualquer que seja a janela definida no espaço de
coordenadas do utilizador. Para haver variação de dimensão, será necessário definir outros
símbolos e associá-los a diferentes intervalos do factor de escala da transformação tutil-estgráf.
Consequentemente é difícil simular uma variação contínua do tamanho dos símbolos, visto
haver apenas uma substituição de símbolos, ao contrário do que se passa em relação às
representações definidas no espaço do utilizador, em que a dimensão é afectada pela escala
da transformação janela-enquadramento.
A variação discreta da dimensão dos símbolos tem interesse no controlo da densidade
de informação. Por exemplo, quando a densidade de informação é muito elevada, se a
ampliação de uma área de interesse for acompanhada pelo aumento da dimensão dos
elementos gráficos, isso poderá impedir a clarificação da imagem inicial. Será mais
vantajoso diminuir o volume de informação por redução da área visualizada, mantendo os
ícones associados aos elementos de informação com a mesma dimensão.
A possibilidade de definir dois espaços de coordenadas permite também, de forma
simples, combinar representações definidas pelo utilizador com a representação fixada por
omissão. Esta representação é descrita num ficheiro de valores por omissão onde se inclui
a indicação da janela do espaço simbólico onde está definida. Como faz sentido existir
apenas uma transformação do espaço dos símbolos para a estação gráfica, se o utilizador
definir também um sistema de coordenadas simbólico, será necessário reajustar um dos
espaços de coordenadas. Assim o espaço de coordenadas simbólicas definido no ficheiro
de valores por omissão deverá ser convertido no espaço simbólico definido pelo utilizador.
Este processo envolve a conversão dos parâmetros das primitivas gráficas para o novo
espaço, mantendo-se a sua proporção em relação à janela uma vez que se trata de aplicação
166
idêntica à transformação janela-enquadramento. Assim, a representação por omissão
continuará a ter o mesmo aspecto.
Atendendo a que se considera que o espaço onde estão definidos os elementos de
informação é o espaço de coordenadas do utilizador, faz sentido que as posições dos
elementos gráficos que os representam sejam expressas nesse espaço de coordenadas. Por
exemplo, os elementos gráficos que constituem as listas de representações são desenhados
nos pontos da grelha e esta está definida no espaço de coordenadas do utilizador. Isto
implica que numa representação os parâmetros das primitivas gráficas relativos às posições
ficam ligados a pontos expressos em coordenadas do espaço do utilizador. Contudo,
relativamente às dimensões não há limitação na escolha do espaço de coordenadas em que
se indicam os valores. Donde numa representação poderem coexistir componentes com
parâmetros definidos em diferentes espaços de coordenadas e, por isso, ser necessário
juntar na descrição da representação o espaço em que cada um deles é expresso.
A transformação tsimb-estgráf resume-se, normalmente, apenas a uma transformação de
escala, visto que as posições dos elementos de informação estão definidas no espaço do
utilizador e a sua transformação no enquadramento é determinada pela transformação das
coordenadas do utilizador nas coordenadas da estação gráfica (tutil-estgráf). Atendendo a que,
a cada representação está associado um limite inferior ou um intervalo de escalas da
transformação janela-enquadramento para o qual ela é adequada, e ainda a que as
dimensões das representações simbólicas devem ser fixadas tendo em atenção as
dimensões mínimas admissíveis das outras representações, convém usar um espaço de
coordenadas comum para comparar as dimensões das diferentes representações. Em termos
de factores de escala a transformação do espaço de coordenadas do utilizador no espaço da
estação gráfica pode ser decomposta no produto das transformações de escala do espaço do
utilizador para o dos símbolos e deste para o espaço da estação gráfica:
futil-estgráf = futil-simb fsimb-estgráf
Assim, para definir as representações pode usar-se como ponto de partida o espaço de
coordenadas do utilizador para definir os símbolos e escolher os factores de escala
adequados para o seu desenho e transformá-los, posteriormente, para um espaço de
coordenadas próprio. Naturalmente que nada impede que este espaço coincida em termos
de coordenadas com o espaço do utilizador, sendo todavia tratado separadamente.
167
Uma vez que a representação por omissão é definida independentemente de qualquer
sistema de coordenadas do utilizador, é conveniente utilizar um factor de escala mínimo
que lhe permita ser desenhada sempre. É o que acontece se se considerar o valor zero, visto
este valor ser sempre inferior a qualquer factor de escala da transformação
janela-enquadramento.
Quando se afirma que a representação por omissão é definida independentemente de
qualquer sistema de coordenadas do utilizador, isto significa que para a descrever não é
preciso qualquer informação prévia sobre o espaço de coordenadas do utilizador. Fica
subentendido que ao ser adoptada por um grupo de informação, será desenhada nas
localizações definidas pela sua grelha.
Concluindo, existem dois espaços de coordenadas distintos, o espaço do utilizador e o
espaço dos símbolos, que são aplicados de forma diferente no enquadramento. A
coexistência destes dois espaços contribui para: a integração de diferentes tipos de
representação, permitindo que sejam desenhados em simultâneo; o controlo da densidade
de informação por variação discreta da dimensão dos elementos gráficos; e a combinação
de representações definidas por omissão com representações expressas pelo utilizador.
4.2.4
Comparação com outros modelos
O método proposto para escolha de uma representação entre várias disponíveis inclui,
no caso de a função de grau de interesse estar activa, um processo de filtragem. Por isso a
comparação com outros modelos em que são utilizadas múltiplas representações tem
também em conta a realização ou não de filtragem simultaneamente com a escolha de
representação. Esta comparação terá por base a verificação das seguintes características:
inclusão de critérios semânticos definidos pelo utilizador e limitações impostas pelas
saídas gráficas.
Na secção 2.2.2 referiram-se vários trabalhos que abordam a utilização de múltiplas
representações. Em alguns deles é utilizada a mesma representação com diferentes graus
de resolução, noutros encontram-se representações de tipos diferentes.
Como exemplos do primeiro caso incluem-se os trabalhos de Ballard [Ballard81] e
Williams [Williams83] que têm em comum o facto da representação ser construída de
forma idêntica para todos os graus de resolução. Em qualquer dos casos a escolha da
168
representação não inclui nenhum processo de filtragem e depende da resolução da saída
gráfica, não suportando critérios estabelecidos pelo utilizador.
Tal como em [Ballard81] e [William83], verifica-se que noutros trabalhos a escolha de
representação é condicionada pela área disponível para a produzir. Assim acontece em
[Woodruff98b],
[Frank94],
[Sarkar93],
[Perlin93],
[Keahey98],
[Bederson00a],
[Stonebraker93] ou [Bederson94], apesar do critério de escolha não ser o mesmo em todos
eles. Nos dois últimos, a escolha da representação depende da indicação dos limites
máximos e mínimos entre os quais podem variar as dimensões da caixa envolvente da
representação após a transformação janela-enquadramento. No artigo de Bederson et al.
[Bederson94] refere-se a realização de ampliações semânticas em que a escolha da
representação pode depender da dimensão ou de outra característica. No entanto, não são
explicitadas variações de representação para além das decorrentes da alteração da
dimensão da janela. Em [Perlin93], [Keahey98] e [Bederson00a] a representação a usar
depende do factor de escala da transformação de ampliação aplicada. Relativamente à
biblioteca Jazz [Bederson00a] é referida a utilização da função de grau de interesse que
condiciona o factor de escala da transformação de ampliação. Por seu lado, em [Sarkar93]
considera-se a dimensão do enquadramento fixa e selecciona-se a representação em função
da dimensão da janela seleccionada. Relativamente à multi-scale tree [Frank94], mais
ligada a representações cartográficas, é a escala de representação que condiciona a escolha.
Este modelo incorpora também um método automático de filtragem baseado na quantidade
de “tinta” utilizada no desenho. No sistema VIDA [Woodruff98b] a representação é
escolhida em função da densidade de informação local, isto é, tendo em atenção a zona do
enquadramento onde o objecto é desenhado. A densidade de informação determina
também um processo de filtragem que é condicionado pelas limitações das saídas gráficas,
apesar de envolver a acção do utilizador na redução do número de objectos a representar e
na selecção da representação [Woodruff98a].
A selecção de representação no modelo continuous zoom de Bartram et al. [Bartram95],
além de ter em atenção o espaço que lhe é destinado, junta critérios semânticos baseados
numa função de grau de interesse. O resultado da função contribui apenas para reajustar a
dimensão da representação, não sendo utilizado para eliminar informação.
169
Tanto nas vistas olho de peixe de grafos [Sarkar92] como no AutoIcon [Fairchaild93] a
escolha de representação assenta apenas na utilização de uma função de grau de interesse.
No primeiro trabalho esta função é também usada para filtragem de informação.
Na Esfera Mágica de Cignoni et al. [Cignoni94] é utilizada mais do que uma forma de
representação, mas, neste caso, a escolha da representação depende da localização do
elemento de informação relativamente a uma esfera, posicionada pelo utilizador e que
indica o seu foco de interesse. Não é, portanto, condicionada por variação da dimensão da
janela, nem são aplicados critérios semânticos relativamente ao conteúdo da informação.
Por este motivo não se inclui a Esfera Mágica no Quadro 4.1.
O Quadro 4.1 resume as características dos modelos de visualização analisados bem
como as do modelo proposto. Entendem-se como critérios do utilizador as restrições
baseadas em critérios semânticos que, nos modelos apresentados, são veiculadas por
funções de grau de interesse. São incluídas nas limitações das saídas gráficas as escolhas
que são condicionadas pela dimensão final do desenho. Quanto à filtragem, apenas se
assinalam os modelos que explicitamente incluam alguma forma de filtragem distinta da
que ocorre como resultado da selecção de uma representação mais simplificada.
O modelo proposto tem em atenção a escala de representação para a escolha da
representação adequada, e, no caso de estar activa a função de grau de interesse, inclui
também informação semântica nessa escolha. O continuous zoom [Bartram95] associa
estas duas facetas na selecção de representação. No entanto, neste modelo, a função de
grau de interesse, além de não actuar como filtro, também não concorre para a selecção
entre representações diferentes, antes ajusta a dimensão da representação já escolhida.
Relativamente à biblioteca Jazz [Bederson00a] a escolha de representação depende do
factor de escala. É também possível usar uma função de grau de interesse para condicionar
o factor de escala. Assim, apesar de não haver uma referência explícita no artigo, é
legítimo supor que a escolha da representação pode também depender da função de grau de
interesse. Tal como em [Bartram95], a função de grau de interesse não é usada
explicitamente como filtro.
Ao contrário do que acontece em alguns dos trabalhos citados, que recorrem à indicação
da variação possível da dimensão da caixa envolvente de cada representação, optou-se por
indicar explicitamente a variação do factor de escala de representação, ou melhor do seu
170
valor mínimo, uma vez que o valor máximo é limitado pelo valor mínimo da representação
seguinte na lista. Esta solução, em termos de informação sobre o aspecto final, é
equivalente, visto que, sendo conhecida a dimensão inicial da caixa envolvente e os limites
para a sua variação, é possível determinar previamente qual a variação da escala de
representação. Torna-se, no entanto, mais eficiente atendendo a que é necessário repetir em
cada ponto da grelha (ou grelhas) o processo de selecção de uma das representações.
Escolha de representação
Filtragem
Strip tree [Ballard81]
[Williams83]
Critérios do Limitações Critérios do Limitações
utilizador das saídas
utilizador das saídas
SIM
-
-
-
SIM
SIM
-
SIM
-
-
-
SIM
-
[Sarkar93]
-
-
-
SIM
Pad [Perlin93]
-
-
-
SIM
Pad++ [Bederson94]
-
-
-
SIM
Tioga [Stonebraker93]
-
-
-
SIM
Multi-scale tree [Frank94]
-
SIM
-
SIM
Continuous zoom [Bartram95]
-
-
SIM
SIM
[Keahey98]
-
-
-
SIM
VIDA [Woodruff98a,b]
-
SIM
-
SIM
Jazz [Bederson00a]
-
-
SIM
SIM
SIM
-
SIM
SIM
Vistas olho de peixe de grafos
[Sarkar92]
AutoIcon [Fairchild93]
Modelo proposto
Quadro 4.1 – Escolha de representação em diferentes modelos de visualização
171
4.3
Interacção
A possibilidade de interagir com os dados é essencial para a análise da informação. Há a
considerar, por um lado, a possibilidade de escolha entre diferentes formas de mapificação,
e, por outro, a utilização de mecanismos que permitam focar a atenção em subconjuntos da
informação.
Relativamente ao primeiro aspecto, foram já descritos ao longo deste capítulo os tipos
de mapificação considerados.
Quanto à análise de um subconjunto da informação, deu-se ênfase aos mecanismos de
ampliação e filtragem, o que está na linha do trabalho de Shneiderman, que resume como
passos essenciais no processo de exploração de informação: a obtenção de uma vista de
conjunto inicial, a aplicação de ampliações e filtragem e, posteriormente, a possibilidade
de obtenção de detalhes a pedido [Shneiderman98].
Os processos de ampliação e filtragem têm, naturalmente, de ser adaptados à forma de
mapificação usada, especialmente quando os tipos de mapificação considerados recorrem a
espaços de dimensão diferente: a representação com ícones é definida num espaço 2D e a
representação por superfícies, num espaço 3D.
A representação por ícones mereceu mais atenção por ser a forma mais comum de
representação de informação abstracta, sendo válida tanto para dados discretos como
contínuos. Assim, destacaremos apenas os mecanismos de ampliação e filtragem
considerados para a representação por ícones. No capítulo seguinte, na descrição da
interface do protótipo desenvolvido, assinalar-se-ão os aspectos que distinguem a
interacção para cada uma das formas de mapificação concretizadas, incluindo a referência
aos mecanismos de ampliação e filtragem disponíveis para a representação por superfícies.
4.3.1 Ampliação
A limitação de espaço do ecrã condiciona a quantidade de informação que pode ser
visualizada em cada instante. A utilização de técnicas de ampliação para visualizações
2D30 permite revelar informação imperceptível ou omitida numa imagem de conjunto.
Como já foi mencionado na secção 2.2.1, relativa a ampliação, há a considerar, por um
lado, o tipo de ampliação que é feito, isto é, ampliação gráfica ou ampliação semântica, e,
172
por outro lado, a ligação da zona ampliada com a restante informação.
Na ampliação gráfica há apenas uma mudança de dimensão dos elementos desenhados,
mas na ampliação semântica, além da mudança de dimensão, pode haver variação do nível
de detalhe e do tipo de representação. A definição de múltiplas representações permite a
realização deste tipo de ampliação no modelo proposto. As representações são
seleccionadas de acordo com a escala de representação corrente que determina o grau de
detalhe que é mostrado. A selecção da representação pode também depender do grau de
interesse do utilizador em visualizar determinada informação, conduzindo a representações
mais simplificadas relativamente às estabelecidas pela escala corrente para elementos
menos relevantes.
Ao ampliar-se uma zona restrita convém não perder a visão de conjunto. Isso pode ser
obtido de diversas formas: obtendo sequencialmente, com panorâmicas, imagens de zonas
envolventes; utilizando duas janelas, uma para a ampliação, outra para uma visão de
conjunto; ou desenhando a zona ampliada inserida no contexto global.
A utilização de duas janelas, além de implicar a gestão do espaço para ambas, requer
que o utilizador enquadre a zona ampliada no local de onde foi extraída [Sarkar92].
Optou-se por desenvolver um modelo de ampliação que inclua a zona ampliada no
contexto — o modelo da pirâmide truncada — que se descreve a seguir.
4.3.1.1
Modelo de ampliação da pirâmide truncada
O modelo de ampliação da pirâmide truncada tem por objectivo realizar a ampliação de
uma zona rectangular, a área de interesse, de lados paralelos aos eixos xx e yy, sem
deformação e sem perder a visão do seu enquadramento na restante informação [Cunha95].
A área inicial, incluindo o contexto e a zona de interesse, será designada por área de
representação. No caso de uma única zona de interesse, a área de representação coincide
com a janela do utilizador. Mas se forem definidas múltiplas zonas de interesse, é
necessário identificar a área onde cada uma está inserida, por isso se introduziu este
conceito. Este modelo pode ser encarado como uma generalização da parede em
perspectiva [Mackinlay91] para informação bidimensional, tal como acontece com o
modelo apresentado em [RobertsonG93b], document lens, para a visualização de páginas
30
Em 3D a ampliação é obtida à custa da aproximação do observador ao objecto de interesse.
173
de documentos dispostas segundo uma grelha regular bidimensional. A pirâmide truncada
utiliza contudo um processo de concretização diferente, garantindo a representação de toda
a zona ampliada dentro da área de desenho e permitindo que a dimensão da zona de
interesse seja escolhida interactivamente pelo utilizador.
A ampliação é feita passando a representação do espaço bidimensional para o espaço
tridimensional. Considera-se a zona a ampliar, isto é, a zona de interesse, como o topo
duma pirâmide truncada que se elevou a partir da área de representação, ficando o resto da
cena projectada sobre os lados da pirâmide (Fig. 4.10) através de uma projecção paralela
de projectantes perpendiculares ao plano da janela. Esta pirâmide é depois projectada em
perspectiva no plano 2D inicial, obtendo-se o efeito de ampliação pretendido (Fig. 4.11).
O factor de ampliação é limitado de forma a reservar espaço para a representação do
contexto. Quer em relação à largura, quer em relação à altura, o valor da razão mínima
entre a dimensão reservada para o contexto e a dimensão total da janela é fixado por uma
constante. Este procedimento, além de garantir espaço para a representação do contexto,
contribui também para assegurar que o tronco de pirâmide fique totalmente contido numa
pirâmide cujo vértice é o centro de projecção e cuja base é a área de representação
(Fig. 4.12), uma vez que a zona a ampliar não irá exceder a dimensão da área de
representação.
y
y
x
x
z
Fig. 4.10 – Passagem da cena em 2D para o espaço 3D
174
y
Plano de
projecção
x
topo da
pirâmide
CP
z
Fig. 4.11 – Projecção da pirâmide truncada no plano de projecção
CP
z
h
zona ampliada
x
Fig. 4.12 – A altura (h) da pirâmide é seleccionada de forma a garantir a ampliação
pretendida
175
A posição do centro de projecção e a altura do topo da pirâmide truncada, onde é
aplicada a zona a ampliar, condicionam o resultado final. Fixando a altura do centro de
projecção, isto é, a sua componente segundo zz, bastará determinar a altura do tronco de
pirâmide para obter o factor de ampliação desejado.
Quanto às componentes em xx e em yy do centro de projecção, elas devem ser
determinadas de modo a manter a posição relativa da zona de interesse dentro da área de
representação e a garantir uma redução proporcional do contexto em redor da zona
ampliada. Isto corresponde a manter a proporção das distâncias da zona de interesse aos
lados da área de representação.
Ao realizar a ampliação, a posição de cada elemento é obtida determinando a sua
posição na pirâmide e depois projectando-a no espaço 2D inicial.
z
zc
A
h
A’
B
B’
x
Fig. 4.13 – h é altura do topo da pirâmide truncada
Determinação da altura da pirâmide truncada
A altura da pirâmide truncada é calculada a partir da posição do centro de projecção, de
modo a obter o factor de ampliação desejado. Na Fig. 4.13 o comprimento do segmento
[AB] no topo da pirâmide é transformado pelo factor de escala da ampliação, f, no
comprimento do segmento [A’B’] verificando-se a igualdade
f = A’B’ / AB
176
(1)
Atendendo à semelhança de triângulos, a altura, h, da pirâmide truncada verifica
f = zc / (zc-h)
(2)
onde zc é a coordenada z do centro de projecção. Obtendo-se
h = zc- zc / f
(3)
Determinação do centro de projecção da pirâmide truncada
A componente segundo zz do centro de projecção é uma constante positiva fixada
previamente. As componentes segundo xx e yy são calculadas de modo a manter a
proporção das distâncias da zona de interesse aos lados da área de representação.
Considere-se a ampliação do rectângulo interior do esquema da Fig. 4.14 (zona de
interesse) que é transformado no rectângulo interior da Fig. 4.15.
ys
xe
xd
dx
f.lx
lx
(xa,ya)
yi
(x’a,y’a)
dy
(xo,yo)
(xo,yo)
Fig. 4.14 – O rectângulo interior
corresponde à zona a ampliar
Fig. 4.15 – O rectângulo interior
corresponde à zona ampliada
Sejam
f
o factor de ampliação
lx e ly
as dimensões da zona ampliar segundo os eixos dos xx e dos yy,
respectivamente
wx e wy
as dimensões da área de representação em xx e yy, respectivamente
xe, xd, yi e ys a distância da zona a ampliar aos lados, respectivamente, esquerdo,
direito, inferior e superior da área de representação
(xo, yo)
as coordenadas do extremo inferior esquerdo da área de representação
177
(xa, ya)
as coordenadas do extremo inferior esquerdo da zona a ampliar, isto é,
(xo+xe, yo+yi)
(x’a, y’a)
as coordenadas do extremo inferior esquerdo da zona ampliada, isto é,
(xo+dx, yo+ dy)
A zona de interesse depois de ampliada tem as dimensões f.lx e f.ly segundo os eixos xx
e yy, respectivamente. Para que haja uma redução proporcional do contexto é necessário
manter a proporção na distância da zona de interesse a cada um dos lados da área de
representação. Assim as distâncias dx e dy do extremo inferior esquerdo da zona ampliada
aos bordos esquerdo e inferior, respectivamente, da área de representação têm de verificar
dx / (wx-f.lx) = xe / (xe+xd)
(4)
dy / (wy-f.ly) = yi / (yi+ys)
(5)
Atendendo que
xe+xd = wx-lx
(6)
yi+ys = wy-ly
(7)
dx = xe (wx-f.lx) / (wx-lx)
(8)
dy = yi (wy-f.ly) / (wy-ly)
(9)
obtém-se
z
zc
h
0
x’a
xa
xc
x
Fig. 4.16 – Rebatimento no plano XOZ da projecção de (xa, ya, h) em (x’a, y’a, 0)
As coordenadas (x’a, y’a) do extremo inferior esquerdo da zona ampliada correspondem
à projecção no plano z = 0 do vértice do topo da pirâmide de coordenadas (xa, ya, h), em
que h é a altura do tronco da pirâmide (Fig. 4.16). As coordenadas do centro de projecção
obtêm-se por intersecção da recta que passa nos pontos (x’a, y’a, 0) e (xa, ya, h) com o plano
178
z = zc, onde zc é a altura fixada para o centro de projecção. As equações da projectante que
passa nestes dois pontos podem escrever-se na forma
z = h (x - x’a) / (xa - x’a)
(10)
z = h (y - y’a) / (ya - y’a)
(11)
e intersectando com o plano z = zc obtêm-se as coordenadas do centro de projecção
segundo xx e yy, respectivamente
xc = zc (xa - x’a) / h + x
(12)
yc = zc (ya - y’a) / h + y’a
(13)
Convém escrever as expressões anteriores de forma a não dependerem do ponto
transformado. A partir da expressão (2), dividindo ambos os membros da fracção por zc,
obtém-se
f = 1 / (1-h/zc)
que é equivalente a
zc/h = f / (f-1)
Substituindo na expressão (12) zc/h pelo seu valor na expressão anterior tem-se
xc = f (xa - x’a) / (f-1) + x’a
(14)
Tendo em atenção que
e
xa = xo + xe
(15)
x’a = xo + dx
(16)
que é equivalente a
x’a = xo + xe (wx-f.lx) / (wx-lx)
(17)
pode escrever-se a expressão (14) da forma
xc = xe.f/(f-1) +(1-f/(f-1)) (xe(wx-f.lx)/(wx-lx)) +x0
Usando a igualdade da expressão (6) tem-se
xc = xe.f/(f-1) – xe/(f-1) [1+ (1-f)lx/(xe+xd)] +x0
xc = xe + xe.lx(xe+xd) +x0
obtendo-se finalmente
xc = xa + xe . lx / (wx-lx)
(18)
De modo análogo, partindo da expressão (12) obtém-se
yc = ya + yi . ly / (wy-ly)
(19)
Como se verifica pelas expressões obtidas, as componentes do centro de projecção
179
segundo os eixos dos xx e yy não dependem do factor de escala nem da altura fixada para o
centro de projecção.
O deslocamento da zona de interesse implica a alteração das coordenadas xc e yc do
centro de projecção, visto que estas dependem das distâncias desta zona aos lados da área
de representação, representadas nas expressões (18) e (19) pelas distâncias ao lado
esquerdo e ao lado inferior, respectivamente. Esta alteração garante uma variação contínua
do aspecto do contexto entre as situações extremas: zona a ampliar centrada e zona a
ampliar encostada aos bordos da área de representação.
A pirâmide truncada e o modelo document lens
Como já foi referido, o modelo da pirâmide truncada tem uma abordagem próxima do
modelo document lens [RobertsonG93b]. Ambos usam um espaço tridimensional onde a
ampliação é tratada como uma aproximação da zona de interesse ao utilizador, havendo,
contudo, diferenças no processo de concretização usado em cada um dos modelos. No
modelo document lens cada uma das zonas é aplicada no espaço tridimensional à custa de
rotações ou translações e transformações de escala. Por exemplo, para transformar a zona à
esquerda da zona de interesse, é aplicada uma rotação em torno do lado esquerdo da área
de representação e depois uma transformação de escala segundo o eixo dos xx para que ela
toque a zona central depois de elevada. A intersecção de zonas laterais contíguas é obtida
por aplicação de algoritmos de recorte.
No modelo document lens a zona de interesse tem dimensão fixa e pode ser deslocada
segundo xx e yy, modificando o conteúdo da zona de interesse, e segundo zz, provocando
aproximação ou afastamento em relação ao observador. Um dos problemas notados nesta
técnica é o facto da movimentação segundo zz poder provocar a saída do topo da pirâmide
para fora do ângulo de visão do observador, isto é, ultrapassar os limites da pirâmide com
base no plano de projecção e vértice na posição do observador.
Outro problema apontado em [RobertsonG93b] prende-se com o tempo gasto na
geração da imagem final, que é condicionado pelo tipo e volume de informação a
visualizar. Este modelo é exemplificado com a visualização de páginas de um documento,
dispostas segundo uma matriz rectangular. A visualização de texto 3D projectado sobre os
180
lados da pirâmide é um processo moroso.
Como vimos, na pirâmide truncada a determinação da localização dos elementos e da
posição do centro de projecção, isto é, o ápex da pirâmide, faz-se de forma diferente. A
limitação do factor de ampliação e o cálculo da localização do centro de projecção, de
modo a manter a proporção da zona de contexto, impedem que o topo da pirâmide, e por
consequência, a zona a ampliar, fique fora do enquadramento. Além disso, é o utilizador
que define a dimensão da zona de interesse.
No entanto, na pirâmide truncada mantém-se o problema da visualização de elementos
projectados sobre os lados da pirâmide: os elementos iniciais são transformados por uma
projecção oblíqua, que os aplica sobre os lados da pirâmide e lhes altera a posição e a
forma.
Para tratar este problema consideraram-se duas soluções alternativas no processo de
transformação da pirâmide truncada. A primeira garante que os elementos gráficos são
completamente projectados sobre os lados da pirâmide, ou seja, corresponde à abordagem
do modelo document lens. Há variação na forma e na posição dos elementos. A segunda
solução consiste em projectar apenas a localização, reduzindo a dimensão, mas mantendo a
orientação da figura. Neste caso, simula-se o distanciamento e consequente redução de
dimensão verificados num espaço tridimensional, correspondendo a uma projecção dos
pontos da grelha sobre a pirâmide, mas mantendo a orientação dos elementos gráficos
relativamente ao observador. Esta abordagem é naturalmente mais eficiente em termos de
desempenho e resulta numa imagem menos distorcida.
A primeira solução requer que as primitivas gráficas sejam descritas como uma
sequência de linhas, cujos extremos são transformados pelo processo descrito. Em
[RobertsonG93b] é abordada a utilização de texturas, mas com resultados pouco
satisfatórios. No caso da pirâmide truncada a utilização de texturas não se coaduna com a
sequência de transformações usadas.
Na segunda solução, para cada elemento gráfico apenas o ponto que determina a sua
localização é transformado pelo processo de projecções da pirâmide truncada, sendo a
figura redimensionada. Nesta aproximação podem considerar-se duas variantes atendendo
ao factor de escala a usar nas faces laterais da pirâmide: constante ou variável. A variação
contínua do factor de escala, diminuindo da zona de interesse para a periferia, aproxima o
181
efeito duma projecção em perspectiva. Esta solução requer que para cada ponto da grelha
se determine qual o factor de escala a usar. Uma solução mais eficiente consiste em utilizar
uma escala constante em cada face da pirâmide, já que o objectivo é desenhar o contexto
numa área mais reduzida sendo necessário, por isso, reduzir a dimensão das figuras que se
encontram sobre as faces laterais da pirâmide. Este aspecto será abordado em seguida na
discussão do factor de escala. Há assim a considerar três modos de desenho na pirâmide
truncada: com deformação; sem deformação e factor de escala constante; sem deformação
e factor de escala variável.
Factores de escala
A determinação do factor de escala em cada face da pirâmide é necessária para decidir
qual a representação a usar e ainda para ajustar a dimensão dos elementos gráficos.
A construção da pirâmide determina 5 zonas diferentes: o topo da pirâmide e 4 faces
laterais. No topo é usado o factor de ampliação escolhido pelo utilizador e igual para os
dois eixos. Relativamente às outras faces, apesar de se verificar uma redução de espaço
apenas segundo um dos eixos principais, optou-se por considerar, em cada ponto da grelha,
o mesmo factor de escala segundo os dois eixos para minimizar as deformações dos
elementos representados relativamente à imagem inicial. Para obter o factor de escala de
representação relativo a um ponto da grelha, o factor de ampliação ou redução relativo a
esse ponto é multiplicado pelo menor dos factores de escala da transformação
janela-enquadramento.
A determinação do factor de escala varia consoante o modo de desenho seleccionado
para a pirâmide. Comecemos pela opção mais simples e também mais rápida: desenho sem
deformação e com factor de escala constante. Neste caso, como interessa essencialmente
reduzir os elementos fora da zona de interesse e manter o contexto, a redução é uniforme
em cada uma das faces laterais contrariamente ao que se passa numa projecção em
perspectiva, onde os elementos mais próximos do centro de projecção são representados
proporcionalmente maiores do que aqueles que se encontram afastados. Para cada uma das
faces laterais da pirâmide o factor de redução é a razão entre os valores final e inicial da
distância da zona de interesse ao bordo da área de representação. A forma como é
determinado o centro de projecção implica que os factores de redução nas faces superior e
inferior sejam iguais, o mesmo acontecendo para as faces esquerda e direita.
182
Nos dois outros modos de desenho, com deformação e sem deformação e factor de
escala variável, é necessário determinar qual o factor de escala a usar em cada ponto da
grelha. Depois de determinar a que face da pirâmide pertence o ponto, se for uma face
lateral, calcula-se a razão entre a distância do ponto da grelha, depois de transformado, ao
lado da área de representação que delimita essa face, e a distância do ponto da grelha, antes
de transformado, ao mesmo lado.
(a)
imagem inicial
(c) sem deformação e escala variável
(b) sem deformação e escala constante
(d) com deformação
Fig. 4.17 – Modos de desenho da pirâmide truncada
Na Fig. 4.17 mostram-se exemplos dos diferentes modos de desenho da pirâmide
truncada. Foram utilizadas listas de representações idênticas em todos os grupos de
183
informação global contendo quatro representações compostas por elipses: a mais elementar
é constituída só por uma elipse e em cada representação seguinte acrescenta-se uma elipse
exteriormente às anteriores. A função de grau de interesse não está activa, pelo que a
escolha da representação depende apenas do factor de escala. Na Fig. 4.17(a) mostra-se a
imagem inicial sem ampliação. Na Fig. 4.17(b) tem-se a ampliação sem deformação e
factor de escala constante. Em cada uma das faces laterais é usado o mesmo símbolo,
apesar de não ser necessariamente igual em todas as faces, uma vez que o factor de escala é
constante em cada face, mas não obrigatoriamente igual em todas, sendo o da face
esquerda igual ao da face direita e o da face inferior igual ao da face superior, como já foi
referido atrás. Na Fig. 4.17(c) é desenhada a ampliação sem deformação, mas com escala
variável. Verifica-se que em cada face, além do tamanho, pode haver variação na
representação usada. Na Fig. 4.17(d) é utilizada a ampliação com deformação. Neste caso
os elementos gráficos são desenhados como uma sequência de linhas cujos extremos
sofrem as transformações de projecção da pirâmide truncada. Há assim a deformação
correspondente à projecção sobre os lados da pirâmide.
Em [Sarkar92] e em [Leung94] são descritos métodos para determinar o factor de escala
em transformações de ampliação. Qualquer um deles conduziria na pirâmide truncada a
uma redução contínua de escala para os elementos nas faces laterais da pirâmide e exigiria
o cálculo do factor de escala em cada ponto a transformar.
A solução adoptada em [Sarkar92] para o cálculo do factor de ampliação ou redução
consiste na transformação de dois pontos da figura, calculando-se posteriormente a razão
entre os comprimentos dos segmentos definidos pelos pontos transformados e pelos pontos
iniciais. No exemplo apresentado no artigo são usados quadrados.
Como já foi referido na subsecção 2.2.1, Leung e Apperley [Leung94] calculam o factor
de ampliação ou redução à custa duma função. Estes autores identificam duas funções para
a caracterização das técnicas de ampliação em que há distorção na colocação dos
elementos: a função de transformação (transformation function), que aplica as posições dos
elementos na imagem inicial nas suas posições na imagem ampliada; e a função de
magnificação (magnification function), que é a derivada da função de transformação e que
corresponde ao factor de ampliação ou redução em cada ponto. Utilizam a função de
magnificação para classificar as técnicas de ampliação em dois grupos: contínuas e
184
contínuas por troços (piecewise continuous). Deduzindo estas funções para a pirâmide
truncada, obtêm-se para cada face funções diferentes31. Atendendo a que, para cada
elemento transformado se utiliza o mesmo factor de escala segundo os dois eixos e que nas
faces esquerda e direita esse factor é determinado pela transformações das posições
segundo xx, nas faces superior e inferior, pela transformação das posições segundo yy e
que no topo o factor de escala é escolhido pelo utilizador, interessa considerar a função de
transformação definida, em cada um dos eixos, por três troços cuja derivada corresponda à
transformação de magnificação nesse eixo. Assim, segundo xx têm-se os troços relativos
aos lados esquerdo, topo e direito da pirâmide. Segundo yy há os troços correspondentes
aos lados inferior, topo e superior da pirâmide. Nos modos de desenho da pirâmide
truncada há a considerar duas situações, consoante há ou não variação de escala nas faces
laterais. No primeiro caso, em cada um dos troços a função de transformação é contínua e
verifica-se que há continuidade nos pontos que limitam cada um dos troços. Donde a
função de transformação é contínua. Quanto à função de magnificação, no topo da
pirâmide coincide com o factor de ampliação seleccionado, como seria de esperar. Nas
faces laterais, as derivadas das funções de transformação tomam um aspecto mais
complexo e dependem da posição do ponto, o que traduz a variação de escala ao longo das
faces laterais. São também contínuas em cada um dos troços, mas à semelhança do que se
verifica com as funções deduzidas para o modelo da parede em perspectiva em [Leung94],
não há continuidade nos pontos que limitam os troços. Assim, a função de magnificação é
contínua por troços.
Na opção de desenho com factor de escala constante em cada face lateral, a função de
transformação é a mesma, mas, nas faces laterais, os factores de escala são fixados
independentemente da transformação sofrida por cada ponto e não correspondem por isso à
derivada da função de transformação. A função que devolve o factor de escala
efectivamente usado em cada ponto é uma função contínua por troços.
31
No anexo A são deduzidas as expressões destas funções relativamente ao topo e ao lado esquerdo da
pirâmide truncada.
185
Múltiplas zonas de interesse
É possível expandir o modelo de ampliação da pirâmide truncada de modo a contemplar
múltiplas zonas de interesse. Para esse efeito será necessário definir diferentes áreas de
representação. Considere-se o seguinte exemplo com duas zonas de interesse em que as
áreas definidas pelos prolongamentos dos lados não intersectam a outra zona de interesse
(Fig. 4.18). As faixas horizontal e vertical entre as duas zonas de interesse podem ser
divididas igualmente pelas áreas de representação associadas a cada uma delas (Fig. 4.19).
Obtêm-se assim quatro zonas: duas áreas de representação onde se aplica a ampliação da
pirâmide truncada e outras duas onde o desenho se mantém inalterado (Fig. 4.20).
Fig. 4.18
Fig. 4.19
Outra solução seria efectuar a divisão ao meio da faixa mais larga e, segundo a outra
direcção delimitar a área de representação com os lados da janela (Fig. 4.21). Deste modo
obter-se-iam apenas duas áreas de representação; contudo, pelo facto da janela inicial ser
dividida em apenas duas áreas de representação provocar-se-ia maior distorção entre as
posições relativas dos elementos das duas zonas. Por outro lado esta solução não garante
que a ampliação obtida seja maior, uma vez que o factor de ampliação a usar é igual
segundo os dois eixos e depende do menor dos quocientes entre a dimensão de cada um
dos lados da área de representação e o lado correspondente da zona de interesse.
186
Fig. 4.20
Fig. 4.21
No entanto, esta será a solução a adoptar quando houver sobreposição das zonas de
interesse pelas áreas definidas pelos prolongamentos dos lados da outra zona de interesse
(Fig. 4.22) e (Fig. 4.23): o prolongamento do lado inferior da zona de interesse 1 intersecta
a zona 2 e, por sua vez, o prolongamento do lado superior desta zona intersecta a zona 1.
1
1
2
Fig. 4.22
2
Fig. 4.23
É possível igualmente fazer a extensão a mais de duas zonas. Nos casos em que numa
das direcções não há intersecção das áreas definidas pelos prolongamentos dos lados com
outras zonas de interesse, podem dividir-se ao meio as faixas entre as zonas de interesse
contíguas (Fig. 4.24). No entanto, quando há intersecção, significa que não há uma faixa ao
longo de toda a janela que separe zonas de interesse contíguas, sendo necessário delimitar
a área de representação que contém cada zona de interesse (Fig. 4.25). Para evitar
distinguir previamente se não existem intersecções segundo uma das direcções,
187
consideremos o seguinte algoritmo para determinar qual a área de representação associada
a cada uma das zonas de interesse.
1
2
4
3
Fig. 4.24
Fig. 4.25
Para cada zona de interesse começa por se determinar um dos limites da área de
representação. Não se irá estabelecer nenhum critério para seleccionar qual o limite que
deve ser procurado em primeiro lugar, considerando-se como regra começar pelo lado
direito. Assim procura-se à direita, dentro da área definida pelo prolongamento dos lados
superior e inferior, qual a zona de interesse vizinha que está mais próxima. Na Fig. 4.25
procurando a zona mais próxima à direita da zona 1, encontra-se a zona 2. O limite da área
de representação ficará a meia distância entre as duas zonas de interesse. Se não se
encontrar uma zona de interesse nestas condições, o limite da área de representação será o
lado da janela. Depois de obtida a localização do limite direito, é necessário determinar a
sua extensão, mas primeiro, e procedendo da mesma forma, obtém-se a localização do
limite esquerdo. Para limitar a extensão dos lados esquerdo e direito da área de
representação determinam-se as posições dos seus lados superior e inferior. Verifica-se
qual a zona de interesse mais próxima que está acima da zona em estudo dentro da área
limitada pelo lados já determinados. Se for encontrada uma zona de interesse o lado
superior passará a meia distância entre as duas. Caso contrário, estará sobre o lado da
janela. É o que se passa relativamente ao lado superior da área de representação da zona 1
(Fig. 4.25). De forma análoga obtém-se o lado inferior. Assim, na Fig. 4.25 ao procurar a
zona de interesse mais próxima do lado inferir da zona 1, encontra-se a zona 4. O processo
repete-se para cada uma das restantes zonas de interesse, mas como as áreas de
representação não se podem intersectar é necessário ter em atenção não só os limites das
188
restantes zonas de interesse, mas também o limite das áreas de representação já
construídas. Por exemplo, para determinar o lado direito da área de representação de uma
dada zona é necessário verificar à direita da zona em estudo e dentro da área definida pelo
prolongamento dos lados superior e inferior:
- qual é a zona de interesse mais próxima entre aquelas ainda sem área de representação
definida;
- qual é a área de representação mais próxima.
Se não houver intersecção nem com zonas de interesse nem com áreas de representação,
o limite direito será o lado da janela. Caso contrário, determina-se qual dos seguintes
segmentos está mais próximo da zona de interesse em estudo: o segmento a meia distância
entre a zona em estudo e a zona de interesse mais próxima, caso exista; e o segmento sobre
o lado esquerdo da área de representação mais próxima, caso exista.
Para determinar os outros lados da área de representação o processo é análogo ao
descrito para a determinação da primeira área de interesse, juntando o teste das áreas de
representação já construídas ao determinar o limite direito.
Pelo facto de se começar a determinar a área de representação por um lado paralelo ao
eixo dos yy, se não houver, segundo esta direcção, intersecção entre as áreas definidas
pelos prolongamentos dos lados das várias zonas de interesse, obtém-se como resultado
uma divisão idêntica à da Fig. 4.24. Neste caso apenas os lados da janela são intersectados
pelo prolongamento segundo o eixo dos yy dos lados da zona de interesse.
2
2
3
3
1
1
4
4
Fig. 4.26
Fig. 4.27
O aspecto final da divisão em áreas de representação dependerá da ordem pela qual
forem tratadas as zonas de interesse. Por exemplo, na Fig. 4.26 a construção das áreas de
189
representação começou na zona 1 seguindo-se as zonas 2, 3 e 4. Ao construir a área de
representação associada à zona de interesse 4 esta fica limitada à esquerda pelo lado da
área de representação relativa à zona 2 que já estava construída. Enquanto que na Fig. 4.27
o processo iniciou-se na zona 4, continuando com as zonas 1, 2 e 3. Neste caso o lado
esquerdo da área de representação da zona 4 corresponde ao segmento a igual distância
entre as zonas 1 e 4. Ao construir a área correspondente à zona 2 esta ficará limitada
inferiormente pelo lado da área de representação relativa à zona 4.
A janela inicial fica dividida em vários rectângulos podendo alguns deles não incluir
zonas de interesse. Os elementos que pertencerem a estes rectângulos não sofrerão
deformações.
Em qualquer dos casos a ampliação deve respeitar o limite fixado para razão entre a
zona ampliada e a zona de contexto.
A eficácia da utilização de múltiplos focos de interesse depende, naturalmente, da
dimensão da área de desenho, que está estreitamente relacionada com a dimensão e
resolução do ecrã.
4.3.1.2
A pirâmide truncada e outros modelos de ampliação
A pirâmide truncada permite fazer a ampliação de uma zona de interesse inserida no
contexto global recorrendo apenas a uma janela. Na secção 2.2.1 foram referidos vários
modelos de ampliação com estas características. Temos por um lado ampliações obtidas
através da utilização de filtros [Bier93] ou por sobreposição de níveis transparentes
[Lieberman94], [Lieberman97] e, por outro lado, ampliações que provocam a alteração da
disposição dos elementos no plano, como acontece na pirâmide truncada. Neste último
grupo podem ainda distinguir-se dois subgrupos tendo como critério a existência ou não de
distorções na área ampliada.
Dentro das ampliações com distorções na zona ampliada inclui-se a descrita em
[Sarkar92] [Sarkar94], que é uma aplicação da técnica de vistas olho de peixe de Furnas
[Furnas86]. A posição de todos os elementos que não estejam sobre o foco é alterada
provocando deformação nas posições relativas dos elementos.
Relativamente às ampliações sem distorções na área ampliada, como a pirâmide
truncada, podem ser analisadas tendo em conta três aspectos: zona de interesse com
190
dimensão variável, existência de múltiplas zonas de interesse e grau de deformação da
zona de contexto. As ampliações deste tipo assentam basicamente em duas técnicas
distintas: alongamentos dos lados da zona de interesse e transformação do espaço 2D em
3D.
Recapitulemos as características fundamentais do conceito de alongamento para depois
analisar os diferentes trabalhos relativamente aos pontos que foram enunciados. O conceito
de alongamento tem como abordagem mais simples o alongamento ortogonal como em
[Sarkar93] e [Rao94]. Neste caso o plano é dividido por um reticulado de linhas ortogonais
cujo afastamento provoca a criação de faixas verticais umas com ampliação em xx e outras
com redução, e faixas horizontais umas com ampliação em yy e outras com redução. Como
resultado, é possível obter múltiplas zonas de interesse correspondentes à intersecção de
faixas horizontais e verticais com ampliação. Nas restantes zonas serão aplicados
diferentes factores de escala nos dois eixos: em alguns casos haverá redução segundo xx e
ampliação segundo yy, noutros acontecerá o contrário e noutros ainda haverá redução
segundo os dois eixos, eventualmente com factores de escala diferentes. O trabalho de
Spence e Apperley [Spence82], bifocal display, pode considerar-se um caso particular do
alongamento ortogonal restringido ao alongamento na horizontal e usando três faixas
verticais com ampliação na faixa central.
Em [Sarkar93] estende-se o conceito de alongamento para zonas de ampliação
poligonais não rectangulares e, mais ainda, sem dividir o plano com o prolongamento dos
lados do polígono (alongamento poligonal). Esta última característica é também usada por
[Schaffer93] e [Bartram95] para a visualização de nós de grafos organizados numa
estrutura hierárquica, aproveitando o espaço livre entre os nós para ampliar alguns deles.
À excepção do bifocal display, em qualquer um dos trabalhos se refere a utilização de
múltiplos focos de interesse. Relativamente à escolha da dimensão da área de interesse,
apenas em [Rao94], onde esta técnica é usada para a representação de tabelas, se exige que
as zonas de interesse definidas não podem intersectar células e por isso a sua dimensão tem
de conter conjuntos de células completas.
Em qualquer das aplicações do alongamento ortogonal, na zona ampliada não há
deformação nem na posição relativa dos elementos nem no seu aspecto, o mesmo não se
garantindo na zona de contexto. No entanto, no que concerne à posição dos elementos na
191
zona de contexto, em [Sarkar93] e em [Rao94], apesar de se alterar a distância, mantém-se
o mesmo alinhamento na vertical e na horizontal. Já em [Schaffer93] e [Bartram95] isso só
acontece se for exigida a não sobreposição em xx e em yy dos prolongamentos dos lados
dos quadrados que representam os nós do grafo, mantendo-se, contudo, as posições
relativas em xx e em yy para nós irmãos na hierarquia.
Quanto aos trabalhos baseados na transformação do plano 2D no espaço tridimensional,
além da pirâmide truncada e do modelo document lens, há a referir o modelo 3D pliable
surface [Carpendale95], que utiliza uma função de Gauss para fazer a transformação para o
espaço 3D, e a parede em perspectiva [Mackinlay91], que tem características análogas ao
document lens, mas é aplicada a informação linear.
Na parede em perspectiva é definida apenas uma zona de interesse com largura variável.
A zona de contexto sofre distorções na forma, mantendo-se o alinhamento dos elementos
apenas segundo o eixo dos yy.
No modelo 3D pliable surface a zona de interesse tem dimensão e forma variável, é
possível definir múltiplas zonas de interesse e, na zona de contexto, a posição e a forma
dos elementos são modificadas.
No modelo document lens a dimensão da zona de interesse é fixa, não é referida a
utilização de múltiplas zonas de interesse e há deformação dos elementos na zona de
contexto, quer no aspecto, quer no alinhamento das suas posições.
Por fim, na pirâmide truncada a zona de interesse tem dimensão variável. Na zona de
contexto não se mantém o alinhamento dos elementos, como acontece nos outros modelos
baseados em transformações do espaço 2D em 3D. Para exemplificar consideremos em 2D
um segmento paralelo ao eixo dos yy com início num ponto à esquerda da zona de
interesse e que termine na fronteira superior da área de representação. Após efectuar as
transformações da pirâmide truncada, o ponto sobre a fronteira superior fica inalterado,
mas a parte do segmento que está sobre a face esquerda é “empurrada” para o bordo, uma
vez que há redução do espaço associado ao contexto. Donde, o segmento sofre uma
inflexão na linha de fronteira entre a face esquerda e a face superior. Relativamente à
forma, podem considerar-se dois modos de desenho, um com deformação e o outro sem
deformação. Foi apresentada uma solução para definir múltiplas zonas de interesse. Neste
caso as áreas que não contenham zonas de interesse, mantêm-se inalteradas, mas a posição
192
relativa dos elementos contidos em áreas distintas pode sofrer alterações.
O Quadro 4.2 resume as características dos modelos de ampliação sem distorção
considerando os aspectos que foram analisados. Relativamente ao grau de deformação da
zona de contexto distinguiu-se a deformação na forma e na posição. Considerou-se a
existência de deformação na posição quando não são mantidas as posições relativas dos
elementos quer na vertical quer na horizontal.
Múltiplas
zonas de
interesse
Alongamento ortogonal [Sarkar93]
Zona de
interesse
com
dimensão
variável
Sim
Sim
Sim
-
Alongamento poligonal [Sarkar93]
Sim
Sim
Sim
Sim
Table lens [Rao94]
(a)
Sim
(b)
-
-
-
(b)
(c)
Hierarchical clustering [Schaffer93]
Sim
Sim
-
-
Continuous zoom [Bartram95]
Sim
Sim
-
-
Parede
Sim
-
Sim
(d)
Sim
Sim
Sim
Sim
-
-
Sim
Sim
Bifocal display [Spence82]
em
perspectiva
Deformação na zona
de contexto
Forma
Posição
[Mackinlay91]
3D pliable surface [Carpendale95]
Document lens [RobertsonG93b]
Pirâmide
sem deformação
Sim
Sim
-
Sim
truncada
com deformação
Sim
Sim
Sim
Sim
Quadro 4.2 – Modelos de ampliação sem deformação na zona de interesse
(a) A zona de interesse tem de incluir uma ou mais células sem as cortar.
(b) É usado outro tipo de representação.
(c) Há reorganização na posição dos elementos, mas preservando a ordenação espacial.
(d) Mantém-se o alinhamento apenas na vertical.
193
4.3.2
Filtragem
A filtragem deve actuar no sentido de limitar o número de elementos que são
representados. Por um lado para reduzir a densidade de informação representada, por outro
lado para permitir ao utilizador focar a sua atenção na informação que é relevante.
São vários os mecanismos de filtragem contemplados no modelo: utilização de uma
função de grau de interesse para limitar o número de elementos desenhados, contribuindo
também para a selecção de representações simplificadas para elementos menos relevantes;
supressão de classes de informação; limitação do domínio das variáveis, incluindo a
combinação interactiva dos critérios estabelecidos através conjunções e disjunções; e
controlo da ordem de geração da imagem.
Em seguida descrevem-se estes mecanismos.
4.3.2.1
A função de grau de interesse no processo de filtragem
A utilização da função de grau de interesse foi já referida na secção 4.1.3 e
salientar-se-á aqui a sua contribuição para o processo de filtragem.
A forma mais evidente de actuação da função de grau de interesse consiste na
eliminação dos elementos para os quais o valor da função é inferior a um limiar fixado. A
quantidade de informação representada depende da variação deste valor, bem como de
alterações dos valores da função de grau de interesse resultantes de ajustamentos dos seus
parâmetros, ou seja, modificação da posição do foco de interesse ou a sua desactivação e
alteração das variáveis associadas à importância a priori dos elementos de informação ou
das representações da lista de informação geométrica, consoante se trate, respectivamente,
de um grupo de informação global ou de um grupo de informação geométrica.
Quando a função de grau de interesse está activa contribui também, na representação
por ícones, para a selecção da representação a usar da forma descrita na subsecção 4.2.1.
Deste modo, a elementos menos relevantes são atribuídas representações mais
simplificadas, reduzindo alguma informação sem a suprimir completamente.
Como se explicará na subsecção 4.3.2.4, as funções de grau de interesse são também
utilizadas para determinar a ordem de geração da imagem.
194
4.3.2.2
Supressão de grupos de informação
Como os grupos de informação agregam informação semanticamente relacionada, a
possibilidade de suprimir a representação de grupos de informação permite omitir
informação que num dado instante não é relevante para o utilizador. Neste caso há uma
eliminação da totalidade do grupo ao contrário do que se passa com a restrição de
domínios, que se discutirá a seguir, em que apenas alguns elementos do grupo são
suprimidos. Designaremos por grupos activos aqueles que estão seleccionados para serem
visualizados.
Não se considerou a omissão de variáveis, apesar de eventualmente isso poder ter algum
sentido no caso de haver representações que dependam do valor de uma ou mais variáveis.
Se uma variável fosse eliminada, utilizar-se-ia um valor constante no parâmetro
dependente dessa variável. A omissão de uma variável e a restrição do seu domínio são
situações distintas: a primeira não deve eliminar a representação de elementos do grupo,
enquanto que a segunda suprime os que não verificam as condições impostas.
4.3.2.3
Limitação do domínio das variáveis
Nos grupos de informação global a eliminação de alguns dos seus elementos pode
basear-se nos valores a que estão associados. Ao restringir os domínios das variáveis, todos
os elementos a que estejam associados valores excluídos do domínio são eliminados.
Numa variável com valores numéricos especificam-se os valores máximo e mínimo do
intervalo dos valores a observar. Em variáveis com valores textuais, seleccionam-se quais
os valores que interessa visualizar.
Como já foi referido na subsecção 2.2.3, a limitação de forma interactiva do domínio de
variação de mais do que uma variável coloca o problema da combinação dos critérios
estabelecidos para cada uma delas. Alguns autores propõem a utilização de gráficos
baseados em grafos ou fluxo de dados onde as conjunções são representadas por
sequências e as disjunções pela existência de caminhos alternativos [Gray90] [Young93].
Outros autores utilizam a selecção explícita do operador lógico a usar para combinar as
restrições [Fishkin95] [Kilger93] e, no caso de combinações mais complexas, a expressão é
escrita numa linha de comando [Ogle95] [Spenke96]. Em alguns casos as combinações de
restrições efectuadas são reutilizadas para criar combinações mais complexas [Kilger93]
195
[Goldstein94] [Spenke96]. Em [Goldstein94] a conjunção de restrições é obtida por
restrições sequenciais nos domínios dos atributos, criando-se subconjuntos de objectos que
verificam a conjunção das várias restrições impostas. Estes subconjuntos podem ser
combinados, obtendo-se como resultado os objectos que verificam a disjunção das
condições que deram origem a cada um dos subconjuntos.
Para abordar o problema da combinação de diferentes operadores lógicos podemos
limitar-nos ao tratamento de conjunções, disjunções e negações, já que em lógica bimodal
os outros operadores podem transformar-se em sequências de conjunções e disjunções
ligando as condições elementares ou as suas negações. No caso de ser possível exprimir a
negação de uma condição elementar, o problema centra-se nas operações de conjunção e
disjunção.
Se se pretender efectuar a combinação de critérios de filtragem de forma interactiva sem
seleccionar explicitamente o operador a usar, isto é, se se trabalhar com operadores lógicos
fixados à partida, é necessário distinguir quando é usado cada um dos operadores.
Para cada grupo de informação global são conhecidos sobre os pontos da grelha os
valores das variáveis que pertencem à sua lista de variáveis. Restringindo os domínios das
variáveis, em cada grupo de informação apenas são representados os elementos
correspondentes aos pontos da grelha em que os valores das suas variáveis verificam todas
as restrições impostas, isto é, aqueles que verificam a conjunção das condições. Assim a
operação fixada para a combinação de restrições dentro do mesmo grupo é a conjunção.
A imagem final é o resultado da soma das contribuições de todos os grupos activos, o
que significa que a operação fixada para a combinação dos resultados de todos os grupos é
a disjunção.
Apenas no caso de elementos pertencentes ao mesmo grupo de informação faz sentido
pensar em conjunções e disjunções de condições impostas sobre os seus valores. Isto
porque cada condição define um subconjunto de elementos do grupo e faz sentido pensar
em uniões e intersecções desses subconjuntos originadas, respectivamente, por disjunções
e conjunções de condições. Quando se trata de grupos de informação distintos é natural
que não existam elementos em comum e por isso a intersecção de subconjuntos dos vários
grupos será vazia. Donde, para grupos distintos apenas faz sentido a união de resultados e
por isso a operação lógica a usar será a disjunção.
196
A forma adoptada para disjunção de restrições no mesmo grupo consiste na criação de
um ou mais grupos de informação à custa do grupo inicial. Estes grupos são designados
por grupos derivados, correspondendo efectivamente à criação de uma cópia do grupo de
informação inicial com algumas modificações. Os grupos derivados usam a mesma grelha
e a mesma lista de representações do grupo inicial e o seu identificador deve ser definido
automaticamente a partir do identificador deste grupo. As diferenças surgem na lista de
informação geométrica e na lista de variáveis.
Num grupo de informação global são desenhadas todas as representações da lista de
informação geométrica que verifiquem os critérios de escala. A criação de grupos
derivados tem por objectivo permitir a união de subconjuntos de elementos do mesmo
grupo que verificam condições diferentes, o que significa juntar mais elementos aos que
foram desenhados. Como o conteúdo da lista de informação geométrica é desenhado no
grupo inicial, não faz sentido repetir esta lista nos grupos derivados. Assim estes grupos
têm sempre uma lista de informação geométrica vazia.
Relativamente às variáveis deve ser criada uma nova lista de variáveis em cada grupo
derivado. Estas variáveis têm os mesmos identificadores e estão associadas aos mesmos
conjuntos de valores das variáveis do grupo inicial, mas permitem a definição de diferentes
restrições de domínio.
O utilizador deve poder criar interactivamente a partir de qualquer grupo de informação
global o número de grupos derivados que achar adequado para impor as restrições que
pretende. Do mesmo modo, deve haver possibilidade de apagar interactivamente os grupos
quando deixam de ser necessários, isto é, quando não interessa utilizar as condições que
impõem.
O facto de ser usada a mesma lista de representações pelo grupo inicial e pelos grupos
derivados torna indistinguíveis os elementos que são seleccionados em cada um dos
grupos, o que conduz a que o resultado final corresponda à aplicação de diferentes
restrições aos elementos do mesmo grupo.
Relativamente aos grupos de informação geométrica, não se contemplou a restrição de
domínios de variáveis. Apenas se diferenciou o tratamento da lista de informação
geométrica destes grupos, relativamente aos grupos de informação global, permitindo a
eliminação de representações através da função de grau de interesse. No entanto, estes
197
grupos podem ter variáveis associadas, as quais podem condicionar os valores dos
parâmetros das primitivas que compõem as representações. Uma destas variáveis pode ser
usada para quantificar o grau de importância de cada uma das representações. Por isso,
uma vez que é possível associar valores de variáveis a representações da lista de
informação geométrica, seria possível também considerar a imposição de restrições de
domínio a estas variáveis.
Para ilustrar a combinação de conjunções e disjunções de restrições consideremos como
exemplo a informação já referida relativa a edifícios de utilização pública na cidade de
Lisboa. Se se quiser pesquisar quais são os hotéis de três e quatro estrelas, basta restringir o
domínio de variação da variável respectiva aos valores 3 e 4 (Fig. 4.28). Contudo, se se
pretender a pesquisa complementar, isto é, os hotéis com uma, duas e cinco estrelas, é
necessário criar um grupo derivado. Assim os hotéis que verificam
(1≤estrelas ∧ estrelas≤2) ∨ estrelas≥5
obtêm-se fazendo a restrição do domínio da variável estrelas aos valores entre 1 e 2 no
grupo inicial e seleccionando os hotéis de 5 estrelas num grupo derivado (Fig. 4.29).
Fig. 4.28 – Limitação de domínio da variável estrelas no grupo de informação hoteis
198
Fig. 4.29 – Criação de um grupo derivado para permitir a disjunção de condições sobre a
mesma variável
4.3.2.4
Ordem de geração da imagem
Normalmente a imagem é gerada desenhando sequencialmente os elementos de cada
grupo de informação. Contudo, se se dispuser de uma quantidade elevada de dados, a
representação de todos os grupos activos pode conduzir a uma grande densidade de
informação.
Como já foi mencionado, o controlo da densidade de informação recorre essencialmente
a mecanismos de filtragem, existindo, no entanto, trabalhos dedicados a este assunto que
propõem formas de controlo automáticas ou conduzidas pelo utilizador. Em [Frank94]
propõe-se o controlo da densidade de informação através da determinação do número de
pixels que são usados para a representação. Para uma aplicação particular, este método
requer a construção de uma biblioteca gráfica própria que ao determinar os pixels que vão
ser usados guarde essa informação. No método proposto em [Woodruff98a] é o utilizador
que controla o número de objectos a visualizar recorrendo a funções de densidade, como
seja a soma do número de elementos visíveis. Estabelecendo os limites superior e inferior
para essa função, obtém-se automaticamente o redimensionamento da janela do utilizador
199
de forma a garantir um certo número de objectos visíveis dentro do intervalo solicitado.
Paralelamente, é possível ainda eliminar elementos ou escolher outras formas de
representação para reduzir a densidade de informação. Em [Ellis02] propõe-se que o
controlo da densidade se faça por selecção aleatória de um subconjunto dos dados.
No modelo desenvolvido, uma das opções tomadas para permitir ao utilizador controlar
o volume de informação a representar é a possibilidade de gerar a imagem passo a passo.
Neste caso cabe ao utilizador decidir em cada momento se deve juntar mais informação à
imagem, sendo conveniente representar primeiro a informação mais relevante. A solução
adoptada consiste em dividir o contradomínio da função de grau de interesse num número
prefixado de intervalos de igual amplitude designados por níveis de interesse [Carmo99b].
Os elementos de cada grupo de informação são divididos em subconjuntos de acordo com
o nível de interesse a que pertence o valor da sua função de grau de interesse. Cada nível
de interesse congrega elementos de vários grupos num mesmo conjunto. Seleccionando o
modo de desenho nível a nível, são desenhados em primeiro lugar os elementos
correspondentes ao nível de interesse mais elevado de todos os grupos de informação, a
seguir os do segundo nível de interesse e assim sucessivamente. No caso de grupos de
informação geométrica, consideram-se como elementos cada uma das representações da
sua lista de informação geométrica.
O desenho nível a nível pode também ser utilizado para desenhar os grupos um a um
por ordem de importância dos grupos. Para isso será necessário atribuir uma importância a
priori a cada grupo, calcular a função de grau de interesse sem foco e definir um número
adequado de níveis de interesse. Atribuir uma importância a priori a um grupo consiste em
atribuir importância a priori igual a todos os elementos do grupo, isto é, a variável
associada a este atributo tem o mesmo valor para todos os elementos. Calculando a função
de grau de interesse sem a definição de um foco, o seu valor coincide com a importância a
priori. Assim, a função de grau de interesse tem o mesmo valor para todos os elementos do
grupo. Para que cada grupo pertença a um nível distinto será necessário que existam tantos
níveis de interesse quantos os grupos.
Recorrendo aos dados sobre edifícios públicos da cidade de Lisboa, as figuras seguintes
(Fig. 4.30 a Fig. 4.33) mostram a construção da imagem no modo nível a nível usando 4
níveis. Uma vez que o foco está seleccionado, pelos motivos já apontados no exemplo da
200
subsecção 4.2.1, considera-se como contradomínio da função de grau de interesse o
intervalo [-1,1]. Têm-se então 4 níveis de interesse cada um deles agrupando os elementos
correspondentes a cada um dos seguintes subintervalos de valores da função de grau de
interesse: [-1,-0.5[, [-0.5,0[, [0,0.5[ e [0.5,1[. Na primeira figura (Fig. 4.30) estão
desenhados os elementos de todos os grupos de informação que pertencem ao nível mais
elevado [0.5,1[. Na Fig. 4.31 juntam-se a estes elementos os que pertencem ao nível
associado ao intervalo [0,0.5[. A Fig. 4.32 inclui mais um nível de interesse que a anterior
e que corresponde aos elementos com valor da função de grau de interesse no intervalo
[-0.5,0[. Finalmente, na Fig. 4.33 estão todos os níveis de interesse representados.
Fig. 4.30 – Elementos do nível com maior grau de interesse
201
Fig. 4.31 – Elementos dos dois primeiros níveis de interesse
Fig. 4.32 – Elementos dos três primeiros níveis de interesse
202
Fig. 4.33 – Imagem completa
4.4
Sumário
Neste capítulo descreveu-se o modelo proposto para servir de base ao desenvolvimento
de sistemas de visualização genéricos.
Salienta-se a apresentação do conceito de grupo de informação como estrutura básica
para a organização da informação e da sua visualização, permitindo a gestão de múltiplas
representações, quer para informação abstracta, quer para informação geométrica.
Distinguem-se dois tipos de grupos: os grupos de informação global, que podem congregar
informação abstracta e informação geométrica, e os grupos de informação geométrica, que
gerem apenas informação geométrica.
Nos grupos de informação global a organização espacial dos dados é explicitada por
uma grelha. Nos grupos de informação geométrica, as representações que lhe estão
associadas incluem a localização no espaço.
Apesar de outras formas de mapificação poderem ser incluídas, a mapificação básica
203
adoptada é a representação por ícones. Duas listas guardam as representações disponíveis:
a lista de representações e a lista de informação geométrica. As duas listas têm
composições idênticas, mas são tratadas de maneira diferente. A lista de representações
contém representações que são usadas em alternativa: em cada ponto da grelha é
desenhada uma das representações da lista, sendo a selecção baseada no factor de escala de
representação corrente e no grau de interesse do elemento de informação a visualizar. As
representações da lista de informação geométrica são independentes da grelha e são
desenhadas todas as que forem compatíveis com a escala de representação corrente. No
caso de grupos de informação geométrica, o desenho das representações da lista de
informação geométrica depende também da função de grau de interesse.
Ao seleccionar uma representação da lista de representações tendo em conta o grau de
interesse, a elementos menos relevantes são associadas representações mais simplificadas
correspondentes a escalas menores que a escala de representação corrente. Representações
associadas a escalas diferentes podem ter características diferentes, isto é, umas
correspondem a reproduções de objectos reais e outras à composição de símbolos. Para
permitir a representação simultânea dos dois tipos de representações sem haver
incompatibilidade nas dimensões, consideraram-se dois espaços de coordenadas distintos,
o espaço de coordenadas do utilizador e o espaço de coordenadas dos símbolos, sujeitos a
transformações janela-enquadramento diferentes.
A função de grau de interesse foi adoptada para traduzir informação semântica sobre os
dados, contribuindo para a selecção da representação e para o controlo do volume de
informação a desenhar.
No que diz respeito à interacção destacam-se o modelo de ampliação da pirâmide
truncada e os mecanismos de filtragem. A pirâmide truncada permite a realização de
ampliações com manutenção de contexto, tendo sido apresentadas diferentes variantes de
desenho. Como mecanismos de filtragem, além da utilização de funções de grau de
interesse que contribuem para reduzir o volume de informação, seleccionar representações
mais simplificadas e, opcionalmente, organizar a ordem de geração da imagem, propõe-se
também a supressão de grupos de informação e a aplicação de restrições aos domínios das
variáveis. Para permitir a combinação interactiva das restrições aplicadas aos domínios das
variáveis, introduziu-se o conceito de grupo de informação derivado.
204
Para ensaiar os conceitos propostos neste capítulo, desenvolveu-se um protótipo que
será descrito no capítulo seguinte.
205
5. Descrição do Protótipo
O modelo descrito no capítulo anterior serviu de base à construção de um protótipo que
se designou por IVPrototype (Information Visualization Prototype). O protótipo foi
desenvolvido na linguagem C++, em ambiente Linux, recorrendo às bibliotecas gráficas X
e OpenGL e à biblioteca Motif para a construção da interface. Aproveitando as
características oferecidas por uma linguagem orientada por objectos, definiram-se classes
abstractas correspondentes aos conceitos básicos do protótipo. Assim acontece com os
grupos de informação, as grelhas, as variáveis, a função distância, a função grau de
interesse, as interfaces de variáveis e grupos de informação, as primitivas gráficas e outros
elementos menos relevantes.
Esta abordagem permite, por um lado, testar os conceitos com um conjunto restrito de
subclasses que se pode expandir facilmente, e, por outro, ensaiar, de forma transparente,
diferentes especializações das classes construídas.
Para ser possível a visualização de vários conjuntos de dados e para os organizar em
grupos de informação definiu-se um formato para os descrever. Do mesmo modo, criou-se
um formato para descrever a informação geométrica e permitir a definição de ícones
assegurando a sua ligação a grupos de informação. Estes formatos, que correspondem,
respectivamente, aos formatos dos ficheiros de dados e de mapificações, são descritos nos
anexos C e D. Além dos ficheiros de dados e de mapificações, que variam de acordo com
os dados em estudo, considerou-se um outro ficheiro que guarda os valores a atribuir por
omissão a algumas estruturas, como por exemplo, a lista de representações por omissão.
Este ficheiro será descrito no anexo E. Ao longo deste capítulo serão feitas referências à
utilização destes ficheiros.
A utilização do protótipo não requer que o utilizador desenvolva código. É necessário
apenas fornecer os dados organizados em grupos de informação no formato definido. Se
não for criado um ficheiro de mapificações, será usada para a visualização por ícones a
representação definida no ficheiro de valores por omissão. Após a leitura do ficheiro de
207
dados, é criada no ecrã a zona da interface dependente dos grupos de informação definidos
no ficheiro e é gerada uma visualização para os dados, que por omissão é a visualização por
ícones. Posteriormente o utilizador actua interactivamente de modo a explorar os seus
dados.
O funcionamento do protótipo assenta em três componentes fundamentais que controlam
a ligação entre os dados, o utilizador e a visualização no equipamento gráfico: o gestor de
dados, o gestor de interacção e o gestor de transformações. Uma vez que estas componentes
dependem dos grupos de informação e dos elementos que os compõem, referir-se-ão em
primeiro lugar as opções tomadas relativamente à concretização dos conceitos que integram
o modelo. Assim, começar–se-á por focar a concretização da função de grau de interesse,
dos grupos de informação e das suas componentes. Posteriormente serão apresentados o
gestor de dados, o gestor de interacção e o gestor de transformações. Finalmente
descrever-se-á a interface com o utilizador, explicitando-se as formas de filtragem e
ampliação incluídas.
5.1
Função de grau de interesse
Como já foi mencionado na subsecção 4.1.3 adoptou-se a função de grau de interesse
descrita em [Furnas86] para exprimir critérios semânticos. A importância a priori é descrita
pelos valores da variável associada ao atributo api. Se nenhuma variável for associada a
este atributo, entende-se que a importância a priori não está definida e consideram-se todos
os elementos com a mesma importância que, por omissão, será o valor 1. Se não se
especificar um foco de interesse, a distância toma o valor constante 0, coincidindo, assim, a
função de grau de interesse com a importância a priori.
Uma vez que a importância a priori e a distância ao foco são normalmente expressas em
unidades diferentes, os seus valores são convertidos no intervalo [0,1]. Em relação à função
distância, uma vez que apenas interessa considerar os elementos que estão visíveis na área
de desenho e que, na versão actual do protótipo, a única função distância concretizada
corresponde à distância euclidiana, a maior distância que se pode verificar é dada pelo
máximo das distâncias entre o foco e os vértices da janela. Assim a distância é calculada
por um quociente em que este valor surge em denominador e cujo numerador é a distância
do elemento ao foco. Para a importância a priori faz-se a normalização considerando os
208
valores máximo e mínimo da variável associada ao atributo api. Deste modo, o valor da
função de grau de interesse varia no intervalo [-1,1]: -1 corresponde à importância mínima
e distância máxima e 1 à importância máxima e distância mínima. O limiar para a função
de grau de interesse deverá pois ser escolhido neste intervalo.
O utilizador, interactivamente, selecciona a activação ou desactivação da função de grau
de interesse. Quando esta está activa, tem possibilidade de activar ou desactivar o foco de
interesse, de mudar a sua posição e de actualizar o valor do limiar.
Por omissão, a função de grau de interesse encontra-se desactivada, tal como o foco, que
é inicializado no ponto (0,0), e o valor do limiar é –1. Consequentemente, ao activar a
função de grau de interesse toda a informação é visualizada.
A criação de novas funções de grau de interesse poderá conduzir a situações em que se
possa prescindir da normalização do resultado das funções que a compõem. A necessidade
de normalização dos resultados das funções importância a priori e distância surge apenas
nos casos em que as unidades em que cada um dos resultados é expresso são incompatíveis.
Se os resultados forem todos expressos nas mesmas unidades, é mais claro e intuitivo para
o utilizador escolher o limiar da função num intervalo em que os valores têm um
significado próprio.
A dispensa de normalização dos resultados tem, contudo, de ter em atenção a
visualização conjunta de vários grupos de informação. Uma vez que o limiar escolhido é
aplicado a todos os grupos, o seu valor deve fazer sentido para todos eles.
Para permitir maior flexibilidade na definição de novas funções de grau de interesse,
criou-se uma classe abstracta, fc_doi, onde a função é definida no método f_doi, a ser
concretizado em cada subclasse (Fig. 5.1). A única subclasse desenvolvida na versão actual
do protótipo é a classe Furnas_doi que corresponde à função definida em [Furnas86].
Do mesmo modo, para a função distância também se definiu uma classe abstracta com o
método distância, que será concretizado nas suas subclasses. Apenas se construiu a classe
distância_eucl, que concretiza a função distância euclidiana, mas será possível definir
outras funções cuja métrica seja mais adequada a determinados conjuntos de dados.
No caso de serem definidas outras funções de grau de interesse, será conveniente
associar a cada grupo a função mais adequada para expressar o interesse do elementos
daquele grupo. Por exemplo, definir uma função com pesos diferentes para a distância e
209
para a importância a priori, ou definir esta última à custa de mais do que uma variável. Por
este motivo, a cada grupo de informação está associada uma função de grau de interesse
que, por omissão, é um objecto da classe Furnas_doi, mas que pode ser substituído por um
objecto de outra subclasse de fc_doi.
<<abstract>>
<<abstract>>
Furnas_doi
distância_euclid
fc_doi
fc_distância
Fig. 5.1 – Hierarquia de classes para as funções grau de interesse e distância
Atendendo a que todos os grupos desenhados simultaneamente partilham o mesmo
espaço de coordenadas, existe uma estrutura, o gestor de interacção, que será descrito mais
à frente, que contém um objecto duma subclasse de fc_distância que, por omissão, é
utilizado pelas funções de grau de interesse associadas aos diferentes grupos.
Note-se que a distância é calculada de forma diferente nos dois tipos de grupos de
informação, existindo em cada um deles um método que, dado um elemento, calcula a sua
distância ao foco a partir da função distância seleccionada. No caso dos grupos de
informação global, este método aplica simplesmente a função distância seleccionada para
determinar a distância entre um ponto da grelha e o foco, mas nos grupos de informação
geométrica o cálculo da distância depende: da função distância seleccionada; da forma
como é combinada a contribuição da distância de cada um dos elementos gráficos ao foco;
e do modo como cada primitiva gráfica faz o cálculo da distância com base na função
distância seleccionada.
Na versão actual do protótipo, optou-se por definir um método, quer no grupo de
informação geométrica, quer em cada uma das primitivas gráficas, que devolve a distância
ao foco. Em cada um desses métodos foi concretizado um critério para determinar a
distância à custa da função distância seleccionada. Nos grupos de informação geométrica
estabeleceu-se que a distância de uma das suas representações ao foco é a menor das
distâncias entre o foco e cada um dos elementos gráficos que a constituem. Contudo, outras
soluções poderiam ter sido adoptadas como, por exemplo, determinar a média das
210
distâncias em vez da menor das distâncias. Para haver uma maior flexibilidade na escolha
do critério para determinar a distância, pode pensar-se, num desenvolvimento futuro, em
definir uma classe abstracta da qual descendem classes que concretizem diferentes critérios
de cálculo da distância de uma representação a um foco de interesse. O método do grupo de
informação geométrica que faz o cálculo da distância teria uma referência que seria ligada a
um objecto da classe a que correspondesse o critério considerado adequado.
Solução análoga poderia ser considerada relativamente às primitivas gráficas. Isto é,
considerar diferentes critérios para o cálculo da distância e concretizar cada um deles com
uma classe distinta. Em cada primitiva gráfica seria usada uma referência para uma
instância da classe que se considerasse adequada. Relativamente às primitivas gráficas
utilizadas no protótipo, que serão descritas na subsecção 5.2.5, a distância ao foco é
calculada tendo em atenção os parâmetros da primitiva que correspondem a posições. A
polilinha é a única primitiva gráfica utilizada que tem mais do que um parâmetro de
posição. Neste caso, como critério para calcular a distância ao foco, optou-se por
determinar a menor das distâncias entre o foco e os pontos que a constituem. Também neste
caso se poderia ter pensado em determinar a média das distâncias. Mesmo para as
primitivas que têm apenas um parâmetro de localização pode existir mais do que um
critério para calcular a distância ao foco. Considere-se o exemplo da figura abaixo onde são
usadas elipses. Se a distância ao foco for calculada a partir do ponto de intersecção dos dois
eixos da elipse, a elipse E1 é a mais próxima do foco. No entanto, se a distância ao foco for
calculada à custa das distâncias aos extremos dos eixos da elipse e se for escolhida a menor
delas, então a elipse E2 é a mais próxima do foco.
E1
Foco
E2
Fig. 5.2 – Distância ao foco
Atendendo a que a distância contribui para determinar o grau de interesse de um objecto,
o valor desta função poderá variar consoante o critério escolhido.
211
5.2
Grupos de informação
Como vimos na secção 4.1, consideram-se dois tipos de grupos de informação: grupos
de informação global e grupos de informação geométrica. Os primeiros congregam
informação abstracta e, eventualmente, informação geométrica, os segundos incluem
apenas informação geométrica.
Em termos de concretização existem dois tipos de classes distintas: a classe
gr_inform_global e a classe gr_inform_geom. As instâncias destas classes correspondem,
respectivamente, a grupos de informação global e a grupos de informação geométrica.
Ambas são subclasses da classe abstracta gr_inform_base (Fig. 5.3) que define o
comportamento genérico de um grupo de informação e que contém os campos de
informação comuns aos dois tipos de grupos, como o identificador, a lista de variáveis, a
lista de informação geométrica, o atributo api, a função de grau de interesse e a ligação ao
objecto que determina o aspecto da interface. Os campos ainda não referidos serão
explicados mais à frente. A estes campos a classe gr_inform_global junta a grelha, a lista
de representações, a lista de grupos derivados, os atributos relacionados com a geração de
superfícies, bem como o vector que controla a separação dos elementos do grupo em níveis
de interesse. Quanto à classe gr_inform_geom, apenas é necessário juntar um campo para
gerir a divisão dos seus elementos por níveis de interesse.
<<abstract>
gr_inform_base
gr_inform_global
gr_inform_geom
Fig. 5.3 – Hierarquia de classes para grupos de informação
5.2.1
Variáveis
Um dos campos comuns aos dois tipos de grupos de informação é a lista de variáveis
associadas ao grupo. Além dos valores, a uma variável está também associada outra
informação, como o identificador, o número de valores, as restrições no domínio de
variação impostas pelo utilizador, a indicação da visibilidade ou não da variável na
212
interface, a ligação ao objecto que determina o aspecto da interface e, no caso de variáveis
numéricas, os valores máximo e mínimo verificados.
Um grupo de informação pode conter uma ou mais variáveis e uma variável pode estar
ligada a mais do que um grupo. Para não haver replicação de valores, existe uma lista de
variáveis a que acedem todos os grupos de informação. Cada grupo tem uma lista de
variáveis que são cópia parcial das variáveis existentes, isto é, partilham o mesmo
identificador e os mesmos valores, mas permitem a definição de diferentes restrições de
domínio e do estado de visibilidade na interface.
Para tratar de forma transparente variáveis de diferentes tipos, criou-se uma classe
abstracta, variável_base (Fig. 5.4), da qual descendem as classes associadas a cada um dos
tipos de dados. Consideraram-se variáveis com valores reais (tipo float) e variáveis com
valores textuais (tipo string) a que correspondem as classes variável_float e
variável_string, respectivamente. Além destas, o tratamento das referências espaciais
exigiu a criação de uma outra subclasse de variavel_base, a classe variável_conex_implic,
para permitir o acesso aos pontos de uma grelha de forma uniforme, independentemente do
seu tipo, como se explicará na secção seguinte. Da classe variável_conex_implic
descendem classes que tratam o acesso a cada uma das coordenadas que definem uma
posição.
<<abstract>>
variavel_base
variavel_float
variavel_string
variável_x_gr_conex_implic
<<abstract>>
variavel_conex_implic
variável_y_gr_conex_implic
variável_z_gr_conex_implic
Fig. 5.4 – Hierarquia de classes para variáveis
5.2.2
Interface dos grupos de informação e das variáveis
Como se explicará mais à frente ao descrever a interface, a zona de diálogo relativa aos
grupos de informação e às variáveis que os constituem adapta-se à informação fornecida
pelo ficheiro de dados, tendo ainda diferentes aspectos para os dois tipos de grupos de
213
informação e para os dois tipos de variáveis. Para ajustar o aspecto da interface, tanto os
grupos de informação como as variáveis têm um campo que faz a ligação a um objecto que
é responsável por gerar a sua interface, como já foi referido nas subsecções anteriores.
Deste modo é possível definir interfaces diferentes para cada tipo de grupo de informação e
para cada tipo de variável. Além disso, permite-se que o desenvolvimento do código da
interface fique separado do restante código. Para este efeito criaram-se as classes abstractas
interface_gr_inform_base e interface_variável_base. A primeira define os métodos
necessários para a geração das interfaces dos grupos de informação. As suas subclasses,
interface_gr_inform_global e interface_gr_inform_geom (Fig. 5.5), concretizam esses
métodos para os grupos de informação global e os grupos de informação geométrica,
respectivamente, gerando interfaces diferentes para cada tipo de grupo.
<<abstract>>
interface_gr_inform_base
interface_gr_inform_global
interface_gr_inform_geom
Fig. 5.5 – Hierarquia de classes relativa à interface gráfica para os grupos de informação
<<abstract>>
interface_var_base
interface_var_string
interface_var_float
Fig. 5.6 – Hierarquia de classes relativa à interface gráfica para as variáveis
A classe gr_inform_base tem um campo, designado por interface, do tipo apontador para
interface_gr_inform_base. Em cada grupo de informação, este campo está ligado a uma
instância da subclasse de interface_gr_inform_base adequada.
A execução do método de criação da interface desencadeia, para todos os grupos activos,
através do seu campo interface, a invocação dos métodos correspondentes a cada tipo de
grupo, gerando um aspecto diferente para cada um deles.
214
Uma solução análoga foi utilizada para as variáveis. A classe variavel_base tem um
campo do tipo apontador para interface_variavel_base. Cada concretização de variável está
ligada à subclasse de interface_variavel_base conveniente (Fig. 5.6). Assim para variáveis
do tipo float há ligação a um objecto da classe interface_var_float e para variáveis do tipo
string, a um objecto da classe interface_variavel_string.
Deste modo separa-se o código que carece de modificação ao adoptar uma biblioteca
para interfaces diferente.
5.2.3
Grelha
Na subsecção 4.1.2 descreveram-se as características das grelhas adoptadas para definir
a referência espacial. Para que o acesso a pontos da grelha seja tratado de forma uniforme
para qualquer tipo de grelha, as coordenadas das posições das grelhas são definidas à custa
de variáveis, uma para cada uma das componentes das coordenadas. São, por isso,
necessárias duas variáveis para grelhas bidimensionais e três para grelhas tridimensionais.
Efectivamente esta forma de definir as grelhas só é imediata para as grelhas não
estruturadas, porque só para este tipo de grelhas se tem simultaneamente que a partir de um
único índice se identifica uma posição e que as coordenadas das posições são
explicitamente fornecidas. Assim, para as grelhas com conexões implícitas (cartesianas,
regulares e estruturadas) é necessário converter os índices que definem a posição de um
ponto da grelha segundo os eixos principais num único índice. Além disso, quando as
posições são implicitamente definidas à custa dos índices segundo os eixos principais, caso
das grelhas cartesianas e regulares, é necessário que possam ser obtidas à custa de
variáveis.
Para resolver o problema da identificação das posições, considerou-se que a ordem de
crescimento do índice que as identifica corresponde a um varrimento das posições primeiro
segundo xx, depois yy e finalmente zz.
Relativamente à obtenção de posições de grelhas regulares e cartesianas, uma vez que
são diferentes as expressões para o cálculo da componente segundo cada eixo, definiram-se
três classes, variavel_x_gr_conex_implic, variavel_y_gr_conex_implic e variavel_z_gr_conex_implic, descendentes da classe variavel_conex_implic, já mencionada na subsecção
relativa às variáveis. Cada uma destas classes redefine o método de acesso aos valores da
variável de modo a determinar, para um dado índice i, qual a coordenada segundo o eixo
215
dos xx, yy e zz, respectivamente. As expressões usadas em cada um dos métodos são as
seguintes
(i mod nx) * dx + ox,
na classe variavel_x_gr_conex_implic
( (i div nx) mod ny) * dy + oy
na classe variavel_y_gr_conex_implic
( i div (nx * ny) ) * dz + oz
na classe variavel_z_gr_conex_implic
em que
nx, ny e nz
indicam o número de elementos segundo xx, yy e zz, respectivamente
dx, dy e dz
correspondem às distâncias entre pontos adjacentes segundo xx, yy e
zz, respectivamente
(ox, oy, oz )
é a origem da grelha
div
representa a operação de divisão de inteiros
mod
representa a operação que devolve o resto da divisão de inteiros
A hierarquia de classes para as grelhas tem na raiz uma classe abstracta, grelha_base, de
que descendem as classes grelha_não_estruturada e grelha_com_conex_implic. Esta
última classe é também abstracta e dela descendem as classes grelha_estruturada e
grelha_regular. A grelha_cartesiana é uma especialização da grelha_regular, atribuindo o
valor um aos campos correspondentes às distâncias entre pontos adjacentes segundo xx, yy
e zz e redefinindo os métodos tendo em atenção estes valores. Tem-se neste caso um
exemplo de herança por restrição de acordo com [Booch94]. Esta hierarquia reflecte a
estrutura das grelhas relativamente às conexões. Quanto às posições, temos por um lado,
grelhas cujas posições são dadas explicitamente, e, por outro, grelhas cujas posições são
calculadas. As primeiras descendem da classe abstracta grelha_pos, que inclui três
referências para variavel_base as quais são ligadas a dois ou três objectos da classe
variavel_float, consoante se trate de uma grelha 2D ou 3D, respectivamente. As segundas
incluem objectos das classes variavel_x_gr_conex_implic, variavel_y_gr_conex_implic e
variavel_z_gr_conex_implic.
Apenas as grelhas não estruturadas precisam de uma definição explícita das conexões.
Como podem existir diferentes tipos de conexões, existe uma classe abstracta, conex_base,
da qual descendem todas as classes que concretizam os diferentes tipos de conexões e que é
utilizada na classe grelha_nao_estruturada. Criaram-se classes para tratar conexões que
formem elementos definidos por 3, 4 ou 6 pontos. A Fig. 5.7 inclui a hierarquia de classes
216
para as conexões e a Fig. 5.8 mostra a hierarquia de classes para grelhas e as suas ligações
com as variáveis.
<<abstract>>
conex_base
conex_tri
conex_quad
conex_hexa
Fig. 5.7 – Hierarquia de classes para as conexões
<<abstract>>
grelha_base
<<abstract>>
grelha_pos
<<abstract>>
grelha_com_conex_implic
grelha_regular
grelha_estruturada
grelha_nao_estruturada
grelha_cartesiana
<<abstract>>
conex_base
variavel_x_gr_conex_implic
variavel_y_gr_conex_implic
<<abstract>>
variavel_conex_implic
variável_z_gr_conex_implic
variavel_float
variavel_string
<<abstract>>
variavel_base
Fig. 5.8 – Hierarquia de classes para grelhas e as ligações com variáveis
Se as conexões de grelhas não estruturadas 2D não forem indicadas, elas serão geradas
usando um algoritmo de triangulação de Delaunay. Adoptou-se o algoritmo de triangulação
217
por inserção incremental aleatória descrito em [Kolingerová02]32. Apenas se concretizou o
melhoramento proposto para este tipo de algoritmos relativamente ao tempo de execução.
Não foi considerada a optimização do espaço de memória ocupado para não degradar o
tempo de execução. Os algoritmos de inserção incremental para a obtenção de
triangulações de Delaunay são qualificados em [Kolingerová02] como simples, robustos e
com tempo de execução aceitável. No anexo B faz-se uma descrição sucinta do algoritmo
utilizado.
Se a grelha for tridimensional e as conexões não forem explicitamente indicadas no
ficheiro de dados, não será possível gerar superfícies a partir de planos de corte do volume.
No ficheiro de dados podem estar definidas várias grelhas. A leitura do ficheiro gera
uma lista de grelhas e os grupos de informação referenciam as grelhas desta lista.
5.2.4
Atributos dos grupos de informação
Como referido na subsecção 4.1.3, há a considerar os atributos importância a priori
(atributo api), cor e relevo. O primeiro está relacionado com o cálculo da função de grau de
interesse e os outros dois com a geração de superfícies tridimensionais coloridas: a variável
associada ao atributo cor é responsável pela coloração da superfície e a que for ligada ao
atributo relevo é usada para o cálculo da deformação relativamente ao plano inicial.
Os atributos são, opcionalmente, inicializados durante a leitura do ficheiro de dados com
o identificador de uma variável. Se não forem inicializados, por omissão, o atributo api
toma o valor 1 em todos os pontos da grelha. Quanto à cor e ao relevo serão inicializados
com a primeira variável com valores numéricos da lista de variáveis do grupo de
informação. Se não existir nenhuma variável com valores numéricos associada ao grupo,
não é possível utilizar este tipo de mapificação.
O utilizador pode interactivamente actualizar as variáveis associadas aos atributos ou
desligar um atributo da variável que lhe está associada. No segundo caso, para o atributo
api será usado o valor por omissão, mas para a cor e relevo não são associados valores o
que conduz à visualização apenas da grelha no plano de corte seleccionado.
32
218
Detalhes de concretização são explicados em [Reis02].
5.2.5
Listas de representações e listas de informação geométrica
A lista de representações é construída por leitura do ficheiro de mapificações, onde se
define, para cada instância da classe gr_inform_global, usando um formato próprio, um ou
mais ícones, associados a diferentes factores de escala da representação. Este ficheiro é
criado pelo utilizador. Existe também o ficheiro de valores por omissão a partir do qual se
constrói a lista de representações por omissão. Uma vez que este segundo ficheiro pode ser
editado, é possível juntar mais representações ou alterar a existente.
Na ausência do ficheiro de mapificações ou, caso exista, se nele não estiver definida a
lista de representações de um ou mais grupos de informação global, esta lista será
construída a partir da lista de representações por omissão. Todas as listas de representações
são tratadas do mesmo modo, quer tenham sido definidas pelo utilizador, quer usem a
representação por omissão.
É possível durante a visualização redefinir a lista de representações de um ou mais
grupos através da leitura de outro ficheiro de mapificações. Apenas as listas redefinidas são
apagadas e substituídas pelas novas descrições, as outras listas mantêm-se inalteradas.
As listas de informação geométrica são igualmente criadas por leitura do ficheiro de
mapificações e, tal como acontece com as listas de representações, podem ser
redefinidas por leitura de outros ficheiros.
Apesar de terem um tratamento diferenciado dentro dos grupos de informação, os dois
tipos de listas são concretizados por objectos da mesma classe: lista_repr. Estas listas são
constituídas por representações, que por sua vez são compostas por primitivas gráficas
(Fig. 5.9). Para definir uma estrutura ligada existe a classe slink da qual descendem as
classes cujas instâncias podem ser nós de listas ligadas, como acontece com as classes
no_primitiva_grafica e no_repr. Os objectos da classe no_primitiva_grafica contêm uma
primitiva gráfica e os da classe no_repr uma representação, que por sua vez é composta por
uma lista de objectos no_primitiva_grafica. A classe lista define uma lista simplesmente
ligada constituída por nós descendentes da classe slink. A partir da classe lista criaram-se as
classes repr_gr, cujos nós contêm primitivas gráficas, e lista_repr, cujos nós contêm
representações.
219
slink
slist_base
lista<no_primitiva_graf>
lista
repr_gr
no_repr
no_primitiva_graf
lista<no_repr>
lista_repr
polyline
<<abstract>>
primitiva_grafica
elipse
caracter
Fig. 5.9 – Diagrama de classes relativo a listas de representações e primitivas gráficas
Definiu-se uma classe abstracta primitiva_grafica, da qual descendem as classes que
concretizam cada uma das primitivas gráficas disponíveis. Esta classe, além de definir o
comportamento das primitivas gráficas, identificando as operações que executam e que são
redefinidas em cada subclasse, guarda também informação sobre os atributos gráficos da
primitiva. Neste momento apenas se trata o atributo cor, mas de forma análoga é possível
incorporar o tratamento de outros atributos gráficos que a biblioteca gráfica oferece, como a
espessura ou o padrão da linha.
Há duas maneiras de associar a cor às primitivas gráficas: indicando explicitamente a cor
ou determinando a cor à custa de uma variável33. No primeiro caso a primitiva gráfica é
desenhada sempre com a cor indicada nas representações a que estiver associada. No
segundo caso, a cor da primitiva fica dependente, em cada ponto da grelha, do valor da
variável que lhe está associada. De acordo com o mapa de cores activo e com o tipo de
coloração corrente, discreto ou contínuo, identifica-se qual a cor a que corresponde o valor
da variável e desenha-se a primitiva gráfica com essa cor. Na subsecção seguinte, a
propósito da coloração de superfícies, explicar-se-á mais detalhadamente como se
determina a cor correspondente ao valor de uma variável.
33
No anexo D, relativo à descrição do ficheiro de mapificações, indica-se a forma de associar a cor às
primitivas gráficas.
220
Criou-se um número reduzido de subclasses de primitiva_grafica para testar os
conceitos do modelo concebido, deixando para posterior desenvolvimento a construção de
mais subclasses. Para que a estrutura de classes fosse independente do pacote gráfico
usado, os métodos responsáveis pelo desenho das primitivas não incluem no seu código os
comandos da biblioteca gráfica, mas invocam métodos que o fazem e são externos às
classes das primitivas gráficas. Deste modo o código dependente da biblioteca gráfica não
está incluído nas classes que concretizam as componentes do modelo, facilitando o
processo de migração para outra biblioteca.
As subclasses criadas designaram-se por caracter, elipse e polyline. Estas classes
correspondem a primitivas gráficas com características distintas, quer em termos de
parâmetros, quer em aspecto gráfico.
A primitiva gráfica elipse tem como parâmetros as dimensões segundo os eixos dos xx e
dos yy e a posição de intersecção dos dois eixos.
A primitiva caracter gera a escrita de um carácter numa dada posição. O carácter pode
ser indicado explicitamente o que, no caso das listas de representações, corresponde à sua
repetição em todos os pontos da grelha, ou depender dos valores de uma variável do tipo
string. No segundo caso, é fornecido o nome da variável e o índice da posição que ocupa na
string o carácter a escrever (Fig. 5.10). O primeiro carácter da string ocupa a posição zero.
A primitiva polyline desenha uma sequência contínua ou descontínua de segmentos de
recta. A polyline é definida pelas posições dos extremos dos segmentos e pela enumeração
sequencial dos índices dos pontos a ligar. O índice –1 indica uma descontinuidade na
polyline. As coordenadas dos pontos são fornecidas recorrendo a variáveis já definidas ou
usando dois vectores de coordenadas, um para a componente em xx outra para a
componente em yy.
Para qualquer das primitivas gráficas, os parâmetros podem ser definidos em espaços de
coordenadas diferentes, obedecendo ao que foi descrito na subsecção 4.2.3, e os seus
valores indicados explicitamente pelo utilizador ou definidos à custa de variáveis. Para
distinguir as diferentes situações, ao descrever uma primitiva gráfica no ficheiro de
mapificações, cada parâmetro é classificado com um dos seguintes tipos: utilizador (UTIL),
simbólico (SIMB), variável (VARIAVEL) ou componente da grelha (COMP_GRELHA).
O tipo do parâmetro reflecte, não só o espaço de coordenadas em que é expresso, como
221
também a forma como é indicado o seu valor. Assim o tipo SIMB indica um parâmetro em
coordenadas simbólicas e cujo valor é dado explicitamente. Para os restantes tipos, o valor
é dado no espaço de coordenadas do utilizador. Se for do tipo UTIL, o valor é indicado
explicitamente. Se for do tipo VARIAVEL, identifica-se a variável do grupo de informação
que determina o valor. Se for do tipo COMP_GRELHA, designa-se a componente da
grelha que define o valor.
Quando os valores dos parâmetros são determinados à custa de variáveis, o aspecto da
representação depende do valor das variáveis em cada ponto da grelha. Podem
considerar-se dois tipos de parâmetros das primitivas gráficas: os que estão ligados à
posição e os que estão relacionados com as dimensões. No primeiro caso, são usadas
normalmente variáveis associadas a componentes da grelha e as suas coordenadas são
tratadas como pertencentes ao espaço do utilizador. No segundo caso, no ficheiro de mapificações, além da variável que é associada ao parâmetro, são indicadas também as
dimensões máxima e mínima que o parâmetro pode tomar expressas em coordenadas do
espaço dos símbolos. O domínio da variável associada é aplicado neste intervalo de
variação das dimensões do parâmetro. Considerou-se o espaço de coordenadas dos
símbolos para expressar a variação de dimensão do parâmetro da primitiva gráfica em
função do valor da variável, porque neste espaço as dimensões não são afectadas quando se
executam operações em que há redimensionamento da janela do utilizador, como foi
explicado na subsecção 4.2.3. Deste modo a variação de dimensão dos elementos gráficos
reflecte apenas os valores da variável.
Considere-se o exemplo da Fig. 5.10 onde são usados os dados sobre estádios de futebol
na cidade de Lisboa. A cor da letra e a dimensão dos dois eixos da elipse variam de acordo
com a dimensão do estádio. A letra desenhada é o carácter na posição 11 da string que
identifica o estádio, correspondendo nas strings utilizadas à primeira letra do nome do
estádio.
Relativamente às listas de representações, pretende-se que em cada ponto da grelha seja
desenhada uma representação que é seleccionada de acordo com o factor de escala de
representação corrente e o valor da função de grau de interesse, se esta função estiver
activa, como foi explicado na secção 4.2.1. Para que a representação seleccionada seja
desenhada num ponto da grelha é necessário que as posições dos elementos gráficos que a
222
compõem estejam associadas às componentes da grelha.
Quanto à lista de informação geométrica, apenas se exige que todas as posições sejam
indicadas no mesmo sistema de coordenadas, o qual tem de ser comum ao utilizado pelos
outros grupos de informação. Não se requer que sejam usadas posições da grelha, nem isso
seria possível no caso de listas de informação geométrica associadas a grupos de
informação geométrica, uma vez que para estes grupos não se definem grelhas. Contudo, tal
como os parâmetros relacionados com dimensões, também os que são relativos a posições
podem estar associados a variáveis. Neste caso, os valores da variável associada ao
parâmetro são associados sequencialmente a cada uma das representações da lista, isto é, o
primeiro valor à primeira representação, o segundo valor à segunda representação e assim
sucessivamente.
Fig. 5.10 – Letra, cor e dimensão dependentes dos valores de uma variável
5.2.6
Geração de superfícies
Os grupos de informação que têm conexões definidas, seja por indicação explícita no
ficheiro de dados, seja por aplicação do algoritmo de triangulação, podem ser visualizados
através de superfícies tridimensionais coloridas. A partir de uma superfície plana
pertencente à grelha e dos valores de uma ou duas variáveis, é gerada uma superfície cujo
223
relevo e cor é função dos valores das variáveis34.
Para grelhas bidimensionais, a superfície plana coincide com a própria grelha. Para
grelhas tridimensionais, a superfície corresponde à intersecção da grelha com um plano de
corte que é definido por um ponto do plano e um vector normal ao plano.
Sobre a superfície é possível visualizar as arestas que constituem a grelha, no caso de
uma grelha bidimensional, ou os polígonos resultantes da intersecção do plano de corte com
uma grelha tridimensional.
O utilizador pode, interactivamente, desactivar a ligação de variáveis a qualquer um dos
atributos. Assim, se o fizer relativamente ao relevo, obterá uma superfície plana colorida.
Se eliminar a cor, terá uma superfície tridimensional cinzenta. Se omitir os dois atributos
simultaneamente, visualizará apenas a grelha, caso o desenho da grelha esteja activo.
Há dois modos alternativos para a coloração de superfícies: coloração discreta ou
contínua. No primeiro apenas são usadas as cores associadas ao mapa de cores corrente,
enquanto que no segundo é feita interpolação entre as componentes RGB das cores
definidas no mapa de cores para se obterem transições graduais. Por omissão está
seleccionada a coloração contínua.
Podem ser desenhadas simultaneamente várias superfícies, desde que relativas a grupos
de informação distintos. Não é possível, nesta versão do protótipo, definir ao mesmo tempo
várias superfícies para um mesmo grupo.
Para as superfícies desenhadas simultaneamente é usado o mesmo mapa de cores. A fim
de permitir comparar os valores das variáveis associadas à coloração das diferentes
superfícies, optou-se por utilizar a mesma função para aplicar estes valores no domínio do
mapa de cores. Deste modo é possível detectar se os valores são ou não da mesma ordem de
grandeza. Por omissão, existe um mapa de cores activo e o utilizador pode interactivamente
criar novos mapas ou seleccionar mapas já definidos. Para simplificar o processo de
reutilização de mapas de cores fixou-se como domínio da cor, ou seja, como domínio de
variação de valores a aplicar em cor o intervalo [0,100]. Os valores das variáveis são
convertidos para o intervalo [0,100] usando uma função linear, que será designada por
34
Detalhes de concretização são explicados em [Pacheco99]. Para a integração deste módulo criou-se uma
classe, gerador_sup. Um grupo de informação global inclui um objecto desta classe que consulta a informação
do grupo e cria os objectos que são requeridos pelo método que gera a superfície.
224
função de adaptação do domínio da cor. Por omissão, esta função é inicializada com os
parâmetros da função identidade o que significa que, sem actualização desta função, apenas
há variação de cor visível para os valores das variáveis pertencentes aos intervalos [0,100].
A actualização dos parâmetros da função é feita interactivamente através da indicação dos
extremos do intervalo dos valores das variáveis que será aplicado em [0,100], o que
corresponde à actualização do domínio da função. Para facilitar a selecção do intervalo a
aplicar no domínio associado ao mapa de cores, é fornecida informação sobre o intervalo de
variação das variáveis associadas à cor das diferentes superfícies. Todos os valores
inferiores ao extremo inferior do intervalo serão aplicados na cor correspondente ao valor
zero e os valores superiores ao extremo superior do intervalo serão aplicados na cor
correspondente ao valor 100.
Para o relevo existe também uma função, que designaremos por função relevo, que
converte os valores das variáveis em deslocamentos em relação ao plano inicial. Esta
função é também linear, é inicializada com os parâmetros da função identidade e o seu
domínio é comum ao da função de adaptação do domínio da cor. Qualquer alteração no
domínio provoca a redefinição dos parâmetros da função relevo. Além disso, esta função é
também modificada por actualização do contradomínio. Isto é, o utilizador pode interactivamente explicitar qual o deslocamento a aplicar a cada um dos extremos do domínio,
adequando melhor a deformação a provocar ao plano.
Na versão actual do protótipo apenas é possível gerar a superfície para grelhas
bidimensionais quando as células são convexas e para grelhas tridimensionais quando as
células são hexaedros.
5.3
Gestor de dados, gestor de transformações e gestor de interacção
O funcionamento do protótipo assenta sobre três componentes fundamentais: o gestor de
dados, o gestor de interacção e o gestor de transformações. Estas componentes têm como
missão coordenar a ligação entre os dados, o utilizador e a visualização no equipamento
gráfico.
Sobre o gestor de dados recai o controlo da informação. O gestor de dados comanda a
leitura dos ficheiros de dados, de mapificações e de valores por omissão e controla o desenho dos grupos de informação de acordo com as restrições impostas pelo utilizador.
225
A partir da leitura do ficheiro de dados, o gestor de dados cria uma lista de grupos de
informação, uma lista de variáveis e uma lista de grelhas. Estas listas centralizam
informação que depois é partilhada, por exemplo, pela lista de grupos activos ou pelos
grupos derivados. Durante a leitura do ficheiro de mapificações é feita a ligação das listas
de representações e de informação geométrica definidas neste ficheiro com os respectivos
grupos de informação. A leitura do ficheiro de valores por omissão é feita posteriormente e
conduz à criação da lista de representações por omissão. Esta lista é copiada, com as
adaptações necessárias, para todos os grupos de informação global que não tenham uma
lista de representações definida. As adaptações prendem-se com o facto de as posições das
primitivas gráficas que compõem a representação dependerem das posições da grelha.
Assim, em cada grupo, é preciso ligar os parâmetros das primitivas que dependem da grelha
às variáveis que, no grupo, definem as suas componentes.
O gestor de dados é concretizado por um objecto da classe gestor_dados. A Fig. 5.11
contém um diagrama simplificado das classes gestoras: gestor de dados, gestor de
transformações e gestor de interacção. No diagrama mostram-se as dependências entre elas
e as relações com outras classes.
lista<grelha_base>
lista<gr_inform_base>
lista<variável_base>
gestor_transf
transf_w_v
1
gestor_dados
lista_repr
2
gestor_inter
<<abstract>>
fc_distância
Fig. 5.11 – Diagrama de classes relativo à ligação entre o gestor de dados, o gestor de
transformações e o gestor de interacção
A interacção é controlada pelo gestor de interacção, que é concretizado por um objecto
da classe gestor_inter. Esta componente guarda o estado corrente dos vários parâmetros de
226
visualização. Os valores iniciais dos parâmetros são actualizáveis pelo utilizador
interactivamente. Entre estes parâmetros incluem-se os que controlam o tipo de
mapificação corrente, a utilização de função de grau de interesse e o valor do seu limiar, a
utilização de foco e a sua localização, o número de níveis de interesse, o tipo de ampliação
a usar, a definição da pirâmide activa e o modo de desenho corrente para a pirâmide.
A função distância, utilizada para calcular a função de grau de interesse, é partilhada por
todos os grupos de informação e é também guardada pelo gestor de interacção.
O gestor de transformações guarda os parâmetros necessários para as transformações
janela_enquadramento. Existem duas transformações, já referidas na subsecção 4.2.3, que
partilham o mesmo enquadramento, mas com janelas normalmente diferentes:
transformação do espaço do utilizador para a estação gráfica e a transformação do espaço
dos símbolos para a estação gráfica. O gestor de transformações, concretizado por um
objecto da classe gestor_transf, selecciona qual a transformação a usar de acordo com o
tipo dos parâmetros das primitivas gráficas.
Por omissão, a transformação janela-enquadramento aplica toda a janela no
enquadramento, de modo a aproveitar melhor o espaço disponível no ecrã. Apesar de poder
ocorrer distorção na proporção e localização dos elementos gráficos, tratando-se de
informação abstracta, esta solução não prejudicará o resultado final. Contudo, é possível,
interactivamente, mudar para a opção de desenho que mantém a razão de aspecto35 da
janela. Neste caso utiliza-se em xx e em yy o mesmo factor de escala, que corresponde ao
menor dos factores de escala que aplicam as dimensões da janela no enquadramento. Como
consequência verifica-se que o enquadramento não é totalmente ocupado pelo desenho, mas
a localização e proporção dos elementos gráficos mantêm-se inalteradas.
O diagrama de classes da Fig. 5.12 mostra as relações dos grupos de informação com
outras classes, reflectindo a sua constituição e a dependência em relação ao gestor de dados,
ao gestor de transformações e ao gestor de interacção.
35
Adoptou-se a definição que consta na versão portuguesa de [Plastock91]: a razão de aspecto de uma
janela ou de um enquadramento rectangulares é a razão entre a largura e a altura do rectângulo, isto é, o
quociente (xmax-xmin) / (ymax-ymin).
227
<<abstract>>
interface_gr_inform_base
lista_repr
gestor_dados
lista<variavel_base>
gestor_transf
1
<<abstract>>
gr_inform_base
gestor_inter
gr_inform_global
gr_inform_geom
<<abstract>>
fc_doi
grelha_base
<<abstract>>
fc_distância
gerador_sup
Fig. 5.12 – Diagrama de classes relativo à ligação entre os grupos de informação e outras
classes
5.4
Interacção
Esta secção é dedicada à descrição da interface do protótipo. Sempre que seja oportuno
serão feitas referências aos aspectos considerados no capítulo anterior relativamente à
interacção. No que diz respeito à ampliação, além do modelo da pirâmide truncada para
realização de ampliações com manutenção do contexto e sem deformação da área ampliada,
incluiu-se também no protótipo a ampliação normal que aplica uma zona rectangular
seleccionada em toda a área de desenho. Os detalhes de concretização serão explicados ao
descrever a zona da interface dedicada à selecção do tipo de ampliação. Relativamente à
filtragem, incorporaram-se no protótipo os mecanismos apresentados no capítulo anterior e
serão assinalados ao descrever os elementos da interface que permitem a sua aplicação.
A interface com o utilizador baseia-se essencialmente na actuação sobre objectos
específicos tais como menus, botões, janelas de texto ou deslizadores. Contudo, algumas
operações, como as ampliações/reduções e as rotações, na representação por superfícies, e
as panorâmicas, para qualquer uma das mapificações, são desencadeadas por interacção
com o rato sobre a janela de desenho.
228
O recurso a menus e botões conduz normalmente à criação de interfaces
auto-explicativas que requerem pouco tempo de aprendizagem. Optou-se por colocar de
forma mais acessível e, de preferência, visíveis permanentemente os diálogos relativos à
identificação e ao controlo da quantidade de informação. Outras funcionalidades foram
guardadas para menus pull-down que são visíveis apenas durante a selecção da opção
pretendida.
Zona de menus
Zona de
desenho
Zona de
diálogo dos
grupos de
informação
Zona de
botões
Zona de diálogo das
operações de ampliação
Zona de diálogo das operações relacionadas
com a função de grau de interesse
Fig. 5.13 – Interface
A janela de interacção encontra-se dividida em seis zonas: zona de diálogo dos grupos
de informação, zona de botões, zona de diálogo das operações de ampliação, zona de
diálogo das operações relacionadas com a função de grau de interesse, zona de menus e
zona de desenho (Fig. 5.13). Cada uma destas zonas é descrita numa das subsecções
seguintes.
229
5.4.1
Zona de diálogo dos grupos de informação
A interface foi desenhada de modo a adaptar-se aos dados. Por este motivo, a zona de
diálogo dos grupos de informação é gerada após a leitura do ficheiro de dados, sendo
constituída por uma sequência de áreas, cada uma delas dedicada a um grupo de
informação pertencente à lista de grupos activos. Por omissão, são incluídos todos os
grupos de informação global e omitidos os grupos de informação geométrica. No entanto, é
possível explicitar no ficheiro de dados se um grupo é ou não incluído na interface,
independentemente do seu tipo. Apenas os grupos visíveis na interface podem ser
desactivados. Os outros grupos estão activos, por omissão, e não podem ser desactivados.
Esta zona está contida numa janela com barra de deslocamento, permitindo que o
número de grupos a incluir não fique limitado pelo espaço disponível.
A interface com os grupos de informação providencia meios para filtrar a informação
através da eliminação de grupos de informação. Além disso, no caso da representação por
ícones, é possível também restringir o domínio das variáveis. Como os parâmetros que
podem ser alterados são distintos, o aspecto da interface varia consoante a mapificação
escolhida.
Na representação por ícones a área reservada a cada grupo de informação inclui: o
identificador do grupo com um botão comutador (togglebutton) que activa ou desactiva o
grupo; uma zona com a lista de variáveis associadas ao grupo; o botão api para desencadear
a selecção do atributo api; e, nos grupos de informação global, o botão gr der para a criação
de grupos derivados.
Desactivar um grupo corresponde a retirá-lo da lista de grupos activos. Inicialmente esta
lista é igual à lista de grupos lidos do ficheiro de dados, sendo modificada pela activação e
desactivação de grupos de informação. Apenas são desenhados os elementos dos grupos
activos que verifiquem as restrições de domínio impostas.
A descrição da lista de variáveis é diferente consoante o tipo do grupo. No que diz
respeito às variáveis numéricas, é indicado o nome e os extremos do domínio de variação.
Mas, enquanto que para os grupos de informação geométrica estes valores são apenas
informativos, para os grupos de informação global é possível alterar o domínio de variação.
São usadas janelas de texto onde se mostram os valores máximo e mínimo do intervalo de
variação que podem ser alterados pelo utilizador. Para regressar aos valores iniciais, basta
230
inserir um espaço em branco na zona de texto e o valor é reeditado. Para que o desenho
reflicta as alterações de domínio efectuadas é necessário carregar no botão redesenhar da
zona de botões, como se explicará mais à frente.
Relativamente às variáveis com valores textuais, os seus valores são mostrados numa
janela com barra de deslocamento e as restrições de domínio nos grupos de informação
global são efectuadas por selecção dos valores a visualizar.
Por omissão, num grupo de informação global todas as variáveis estão visíveis na
interface, enquanto que, nos grupos de informação geométrica nenhuma está visível. Tal
como acontece para os grupos de informação, também para as variáveis se pode alterar no
ficheiro de dados o estado de visibilidade na interface.
O botão api, quando premido, dá origem ao aparecimento de uma janela para actualizar
a variável associada à função de importância a priori. Nesta janela são mostradas, linha a
linha, as variáveis numéricas ligadas ao grupo de informação, quer estejam ou não visíveis
na interface, e ainda a opção nenhuma, que reflecte a utilização do valor importância a
priori definido por omissão (Fig. 5.14). Em cada instante uma linha, e apenas uma, está
seleccionada. A selecção de novo valor provoca a actualização imediata do atributo api. É
possível ter várias janelas, relativas a diferentes grupos, abertas simultaneamente. O botão
api não existe na interface dos grupos derivados uma vez que estes grupos estão associados
aos mesmos elementos do grupo inicial e por isso têm os mesmos atributos.
Fig. 5.14 – Janela para escolha da variável associada ao atributo api
O botão gr der é usado para gerar grupos derivados. A criação de um grupo derivado
provoca a actualização da zona de diálogo dos grupos de informação com a adição do novo
grupo. A interface deste grupo distingue-se por não possuir o botão api e pelo botão gr der
ser substituído pelo botão apagar gr der que permite a eliminação do grupo (Fig. 4.29).
Como foi explicado na subsecção 4.3.2.3, os grupos derivados são utilizados para fazer a
disjunção de restrições nos domínios das variáveis dentro do mesmo grupo.
231
Na representação por superfícies apenas é criada interface para os grupos de informação
global activos, que não tenham sido classificados como invisíveis no ficheiro de dados, e
que contenham uma grelha com conexões definidas, seja implícita, seja explicitamente. No
segundo caso, as conexões podem ter sido indicadas no ficheiro de dados ou por aplicação
da triangulação de Delaunay como foi explicado em 4.1.5.
Na área reservada a cada grupo, além do identificador do grupo e do botão comutador
para activar ou desactivar o grupo, há duas janelas com listas de variáveis para selecção dos
atributos cor e relevo. Se houver variáveis ligadas aos atributos cor e relevo, os seus
domínios de variação são indicados à frente do nome da variável. Seleccionando a variável
ligada a um dos atributos, quebra-se esta ligação e o domínio de variação da variável é
apagado. Se posteriormente se seleccionar uma variável, volta a activar-se a ligação do
atributo a uma variável e a mostrar-se o respectivo domínio. A substituição da variável
ligada a um atributo pode ser feita por selecção directa de outra variável sem passar por
uma fase de desactivação do atributo. Na Fig. 5.15 apenas está activada a ligação duma
variável à cor, obtendo-se assim uma superfície colorida plana. No caso de grupos com
grelhas tridimensionais inclui-se também um botão que gera a interacção para selecção do
plano de corte. Na Fig. 5.16 mostra-se a janela para definição do plano de corte. O
utilizador é informado sobre a localização e dimensão da caixa envolvente e deve indicar
um ponto do plano e um vector ortogonal ao plano.
Fig. 5.15 – Superfície colorida sem relevo e escala de cores associada
232
Fig. 5.16 – Janela para definição dum plano de corte por indicação de um ponto do plano e
do vector ortogonal ao plano
5.4.2
Zona de botões
A zona de botões reúne botões a que estão associadas acções que dizem respeito à
visualização de todos os grupos de informação.
O número de botões depende do tipo de mapificação que está seleccionado. Há um
conjunto de botões que é comum aos dois tipos de mapificação − ver mapa cor, def mapa
cor e redesenhar − a que se juntam os botões zoom, enquadrar e DOI, para a representação
por ícones, e o botão def fc rel, para a representação por superfícies.
A fim de permitir a actualização simultânea de vários parâmetros, a maior parte das
selecções feitas pelo utilizador não desencadeia imediatamente o desenho da informação.
Por este motivo existe o botão redesenhar que desencadeia o desenho da informação.
Os outros dois botões comuns a ambos os tipos de mapificação têm a ver com o mapa de
cores. O botão def mapa cor dá lugar à definição de novos mapas de cores ou à actualização
de mapas já definidos. O mapa de cores é construído ligando cores a valores. É possível
optar-se por uma coloração discreta ou contínua. Para obter a cor associada a um valor,
determina-se qual o intervalo do mapa de cores que contém esse valor. Se a coloração for
discreta, é-lhe atribuída a cor associada ao extremo inferior do intervalo. Se a coloração for
contínua, é feita a interpolação entre as cores associadas aos extremos do intervalo.
O segundo botão ligado ao mapa de cores, ver mapa cor, permite a abertura de uma
janela de carácter informativo, que mostra o mapa de cores activo identificando os valores
associados às cores (Fig. 5.15). Note-se, contudo, que este mapa de cores está também
associado à representação por ícones, mas apenas é usado no caso de haver alguma variável
233
cujo valor condicione a cor de um elemento gráfico. Caso contrário, a coloração dos
elementos gráficos é totalmente independente dele.
Para a visualização por superfícies está disponível mais um botão, def fc rel, relacionado
com o relevo. Este botão desencadeia a abertura de uma janela onde se indicam dois valores
do domínio de variação de variáveis e os deslocamentos relativamente ao plano que lhe
devem ser atribuídos quando é calculado o relevo (Fig. 5.17). Esta correspondência é única
para todas as superfícies desenhadas simultaneamente. Assim, devem ser escolhidos valores
compatíveis com todas as variáveis. Se isso não for possível, apenas devem ser visualizadas
as superfícies associadas às variáveis para as quais estes valores fazem sentido.
Fig. 5.17 – Janela para actualizar a aplicação dos valores das variáveis em deslocamentos
ortogonais ao plano da superfície
O intervalo de valores da variável que é mostrado na janela para actualização da função
relevo pode ser actualizado a partir do menu Parametros que se descreverá mais à frente.
Para a representação por ícones, o botão enquadrar desencadeia o redimensionamento
da janela do utilizador, de modo a englobar as grelhas de todos os grupos de informação
global activos e, posteriormente, desenha-os.
Quando premidos, os botões zoom e DOI mostram sob a janela de desenho os diálogos
relativos, respectivamente, às operações de ampliação ou redução e às operações
relacionadas com a função de grau de interesse que incluem a actualização dos seus
parâmetros e a selecção da ordem de geração da imagem. O botão DOI é responsável
também pela activação da função de grau de interesse. Assim, ao carregar neste botão a
informação é redesenhada usando os parâmetros que estão seleccionados para esta função.
Os botões zoom e DOI ficam bloqueados enquanto não terminar o diálogo a que deram
origem.
234
5.4.3
Zona de diálogo das operações de ampliação
A área sob a janela de desenho está reservada para os diálogos de ampliação e de
filtragem baseada em funções de grau de interesse. Começamos por descrever a zona
dedicada à ampliação.
O botão zoom gera o diálogo para a escolha da opção de ampliação ou redução
(Fig. 5.18). Sob a janela de desenho, além do botão fim zoom, são alinhados os botões
reduzir, ampliar, ampliar_pir. É possível efectuar dois tipos de ampliações, a forma normal
e a ampliação da pirâmide truncada, e também reduções. Estas últimas são executadas ao
premir o botão reduzir e usam um factor de redução previamente definido, o qual pode ser
alterado interactivamente antes de seleccionar a operação. Esta forma de desencadear a
aplicação de reduções é classificada em [Plaisant95] como redução explícita passo a passo,
isto é, o utilizador tem de carregar explicitamente no botão reduzir e em cada operação é
aplicado um factor de redução pré-fixado.
Fig. 5.18
Quanto às ampliações, são desencadeadas pelos botões ampliar e ampliar_pir, o
primeiro para a ampliação normal, o segundo para a ampliação de acordo com o modelo da
pirâmide truncada. Em qualquer dos casos, é necessário indicar qual a zona a ampliar
235
marcando um rectângulo sobre a janela de desenho, correspondendo, de acordo com a
terminologia de Plaisant et al. [Plaisant95], a ampliações com zona de ampliação controlada
pelo utilizador.
Ampliação da pirâmide truncada
No caso da pirâmide truncada, a fim de manter o contexto, calcula-se o intervalo de
factores de escala admitidos para a ampliação a partir do rectângulo assinalado na área de
desenho como zona de interesse. Este intervalo é apresentado ao utilizador que deve
escrever numa janela de texto qual o valor pretendido (Fig. 5.13). Ao carregar na tecla
<enter>, a janela de desenho é actualizada. Ao seleccionar a ampliação da pirâmide
truncada é desencadeado o diálogo que permite a alteração do modo de desenho activo nas
faces laterais da pirâmide: com factor de escala constante e sem deformação; com factor de
escala variável e sem deformação; e com deformação. Por omissão está seleccionado o
modo de desenho sem deformação e factor de escala constante.
O resultado final depende basicamente do modo como as primitivas gráficas são
definidas e tratadas no processo de desenho. Optou-se por definir para cada primitiva
gráfica métodos de desenho diferentes consoante o modo de desenho. Quando não for
possível desenhar uma primitiva gráfica em alguma das formas consideradas, o método que
lhe corresponde invoca um método referente a outro modo de desenho. Isto é,
considerou-se que seria preferível desenhar a primitiva gráfica, mesmo que não tivesse
exactamente o aspecto pretendido. Por exemplo, relativamente à primitiva caracter no
método de desenho concretizado é determinada a posição correcta do carácter e este é
desenhado sem deformação. Em todos os modos de desenho é invocado este método. Por
seu lado, relativamente à primitiva elipse foram concretizados métodos distintos para cada
um dos modos de desenho.
Ampliação normal
De modo a não haver deformação das representações entre imagens sucessivas, é usado
o mesmo factor de ampliação para os dois eixos. Assim, quando o utilizador define uma
janela de ampliação sobre a área de desenho ela é ajustada para manter a mesma razão de
aspecto que a janela do utilizador. Este ajustamento consiste no aumento da largura ou
236
altura da área seleccionada de forma centrada, isto é, não alterando a posição do seu centro.
Deste modo garante-se que tudo o que o utilizador seleccionou é visualizado e que a área de
enquadramento se mantém.
Houve o cuidado de manter a razão de aspecto da janela na operação de ampliação, pelo
facto de a transformação janela-enquadramento ter duas variantes, com ou sem manutenção
de razão de aspecto, como foi explicado na secção 5.3. Assim garante-se que não há
distorções em imagens consecutivas, qualquer que seja a opção de razão de aspecto
seleccionada, uma vez que a transformação de escala nos dois eixos é afectada por um
factor de ampliação comum.
É possível também fazer reduções aumentando progressivamente a janela do utilizador,
o que conduz à visualização da zona envolvente desta janela. Neste caso é usado um factor
de redução de escala igual nos dois eixos, fixado previamente, mas que pode ser alterado
interactivamente. Tal como acontece com a ampliação, esta operação não altera a razão de
aspecto da janela.
As panorâmicas e as visões de conjunto são outras formas de adaptação da área a
desenhar. Nas panorâmicas, há um deslocamento da janela, mas mantém-se a sua dimensão.
Nas visões de conjunto, a área é determinada à custa dos valores máximos e mínimos das
coordenadas dos pontos das grelhas dos grupos pertencentes à lista de grupos activos. Se
não houver nenhum grupo global activo, a partir da lista que contém todos os grupos são
pesquisadas as grelhas de todos os grupos globais. Se não existir nenhum grupo global
definido, é adoptada a janela de extremos opostos (0,0) e (1,1) e a adaptação da janela para
mostrar a informação relativa aos grupos de informação geométrica será conseguida à custa
de ampliações ou reduções sucessivas. São, portanto, os grupos globais que comandam a
definição da área que é desenhada, visto a inclusão de informação geométrica ser
basicamente considerada um complemento para a informação não geométrica. No entanto,
num melhoramento desta versão do protótipo poderá considerar-se a determinação da
janela para a visão de conjunto tendo em atenção o rectângulo envolvente de todas as
representações das listas de informação geométrica. Na visão de conjunto a janela é
redefinida independentemente da janela corrente, assim apenas se mantém a razão de
aspecto se for essa a opção activa para a transformação janela-enquadramento.
As formas de ampliação e redução descritas provocam a redefinição da janela do
237
utilizador e consequentemente a actualização do factor de escala de representação que
determina qual a representação a usar para cada elemento.
5.4.4
Zona de diálogo das operações relacionadas com a função de grau de
interesse
O diálogo desencadeado pelo botão DOI permite o controlo dos parâmetros relativos à
função de grau de interesse e, ainda, estabelecer qual a ordem de geração do desenho.
Os parâmetros da função de grau de interesse que podem ser controlados são: a
utilização ou não do foco de interesse, a redefinição da sua localização e o ajustamento do
limiar da função.
Um botão comutador permite activar ou desactivar a utilização do foco. A actualização
da sua localização é efectuada, após carregar no botão novo foco, indicando a nova posição
na janela de desenho com o cursor do rato. Alterações no valor do limiar da função são
escritas numa janela de texto. Após indicar o novo valor é redesenhada a informação. Esta é
uma das situações em que não é preciso carregar no botão redesenhar para actualizar o
desenho.
Atendendo a que a função de grau de interesse está activa, é também nesta zona que se
selecciona a ordem pela qual é gerada a imagem: grupo a grupo ou num dos modos nível a
nível. Há dois modos de desenho nível a nível: um deles requer que o utilizador carregue
num botão para ser desenhado o nível seguinte (modo nível a nível); o outro desenha
sequencialmente os vários níveis até que o utilizador carregue num botão de paragem
(modo níveis). No primeiro caso é mais fácil identificar quais os elementos que pertencem
a cada nível e parar a geração da imagem incluindo todos os elementos dos níveis
desenhados. Há assim três modos de desenho: grupo a grupo; nível a nível com pedido do
nível seguinte, e nível a nível com indicação de paragem. Por omissão, é a opção grupo a
grupo que está seleccionada. A ordem pela qual os grupos são desenhados corresponde
inicialmente à ordem de leitura a partir do ficheiro de dados. Esta ordem é alterada quando
algum grupo é desactivado, uma vez que ao ser reactivado o grupo é colocado no fim da
lista. Os grupos derivados são sempre desenhados após o grupo de que descendem.
Quando se selecciona o modo níveis, o botão parar fica receptivo à ordem de
interrupção do desenho. Por sua vez, o botão seg apenas é desbloqueado quando o modo
nível a nível é activado, determinando o desenho do nível seguinte.
238
5.4.5
Zona de menus
A zona de menus ocupa uma barra horizontal no topo da janela de interface.
Agruparam-se as opções em três menus: Ficheiro, Mapificações e Parametros.
No menu Ficheiro estão reunidas as opções relacionadas com a identificação dos
ficheiros de dados (Fich. de dados) e de mapificações (Fich. map.) e ainda a opção para
terminar a aplicação (Sair).
O posicionamento deste menu no extremo esquerdo da barra de menus e a inclusão da
opção para abandonar a aplicação, coincidem com o padrão usual. Esta semelhança torna
mais fácil a navegação nos menus, diminuindo o tempo de aprendizagem da localização dos
itens nos menus.
Os ficheiros de dados e mapificações, ou apenas o de dados, podem ser fornecidos na
linha de comando que invoca a execução do programa. Em alternativa a escolha destes
ficheiros pode ser feita com as opções do menu Ficheiro. Reconhece-se a não ligação a um
ficheiro de dados pelo facto de não ser construída a interface de diálogo com os grupos de
informação. O ficheiro de mapificações apenas é utilizado para a representação por ícones
e, mesmo assim, é opcional uma vez que existe uma representação definida por omissão.
A selecção da opção Fich. de dados abre uma janela para escolha do ficheiro de dados.
Se já tiver sido lido um ficheiro de dados, é apagada toda a informação relativa a esse
ficheiro e é lido o novo ficheiro. A opção Fich. map. gera uma interface idêntica à anterior
para escolha do ficheiro de mapificações. Ao contrário do que se passa com o ficheiro de
dados, a leitura de um novo ficheiro de mapificações apenas altera a mapificação dos
grupos para os quais é descrita uma nova lista de representações.
No menu Mapificações selecciona-se qual a mapificação a usar: representação por
ícones (Repr.icones) ou por superfícies (Superfície). Por omissão a representação por
ícones está seleccionada.
Fig. 5.19 – Menu Parametros
O menu Parametros destina-se a actualizar alguns dos parâmetros inicializados por
239
omissão e que podem alterar o aspecto ou a geração da imagem. Através deste menu
(Fig. 5.19) cria-se a interface para: alterar o número de níveis a usar na geração da imagem
nível a nível (Fig. 5.20); indicar qual o factor de escala constante a usar na redução
(Fig. 5.21); escolher entre uma razão de aspecto constante ou variável nas operações que
alteram a dimensão da janela do utilizador (Fig. 5.22); seleccionar no desenho das
superfícies a inclusão da grelha (Fig. 5.23), isto é, das arestas dos polígonos que constituem
a grelha ou que resultam da intersecção do plano de corte com a grelha, consoante se trate,
respectivamente, de grelhas bidimensionais ou tridimensionais; e indicar qual o domínio
considerado para as variáveis associadas à cor e ao relevo (Fig. 5.24).
Fig. 5.20 – Janela para indicar o número de níveis para a geração da imagem nível a nível
Fig. 5.21 – Janela para indicar o factor de escala a usar nas operações de redução
Fig. 5.22 – Janela para escolha da razão de aspecto a usar nas operações em que há
adaptação da janela do utilizador
Fig. 5.23 – Janela para escolher a inclusão ou não da grelha no desenho de superfícies
240
Fig. 5.24 – Janela para actualizar o domínio das variáveis a ser usado nas funções relevo e
de adaptação do domínio da cor
5.4.6 Zona de desenho
A imagem é gerada na zona de desenho. Por interacção directa na área de desenho, para
além da identificação da zona a ampliar e da escolha da posição do foco na representação
por ícones, é também possível a execução de panorâmicas, em qualquer das mapificações, e
de correcção do posicionamento da câmara na representação por superfícies, como já foi
referido. Estas operações são realizadas combinando o arrastamento do rato sobre a área de
desenho com a acção de carregar numa das suas teclas.
As panorâmicas são executadas premindo o botão central do rato em simultâneo com o
seu arrastamento sobre a janela, no sentido em que se pretende deslocar o plano de
desenho.
O posicionamento da câmara é modificado de dois modos: por aproximação ou
afastamento relativamente à cena, o que corresponde a ampliação ou redução,
respectivamente; e por rotação relativamente a um eixo vertical ou a um eixo horizontal que
se intersectam no centro da cena. O afastamento e aproximação são obtidos carregando no
botão direito do rato e arrastando-o verticalmente, no primeiro caso para baixo, e no
segundo para cima. As rotações são executadas premindo o botão esquerdo do rato e
movendo-o horizontalmente, para rotações em torno do eixo vertical, ou verticalmente, para
rotações em torno do eixo horizontal.
5.5
Desenvolvimentos futuros do protótipo
O protótipo desenvolvido concretiza o modelo concebido, embora limitando-se aos
aspectos essenciais do mesmo. Nesta secção expõem-se alguns melhoramentos a incluir no
protótipo que, apesar de não poderem ser considerados como soluções inovadoras,
aumentam as suas capacidades. Em alguns casos basta alargar o leque de concretizações
dos conceitos propostos, criando novas subclasses das correspondentes classes abstractas.
241
Podemos distinguir objectivos a concretizar a curto e a médio prazo. No primeiro grupo
incluem-se os melhoramentos a nível das mapificações desenvolvidas e dos mecanismos de
interacção, uns e outros necessários para tornar interessante a utilização do protótipo. No
segundo grupo consideram-se, por um lado, aspectos que completam o protótipo, como seja
a inclusão de mecanismos para a reutilização de explorações anteriores, o desenvolvimento
de variantes da função de grau de interesse e o apoio à formatação dos dados, incluindo o
suporte a outros formatos, e, por outro lado, a realização de testes de desempenho. No
capítulo 6, ao perspectivar o trabalho futuro, serão discutidos desenvolvimentos relativos a
problemas não abordados ou não aprofundados neste trabalho.
Comecemos por indicar os melhoramentos relacionados com o enriquecimento das
representações gráficas baseadas em ícones:
- criação de subclasses para alargar o leque de primitivas gráficas disponíveis;
- tratamento de outros atributos das primitivas gráficas além da cor, como espessura e
tipo de linha;
- definição de símbolos compostos, isto é, símbolos constituídos por um conjunto de
primitivas gráficas cuja posição é relativa a um ponto, a origem do símbolo, permitindo de
forma mais fácil a geração de ícones complexos. O posicionamento destes símbolos no
espaço de trabalho é definido atribuindo a localização da sua origem;
- possibilidade de criar representações independentemente da sua ligação a grupos de
informação. A estas representações será associado um identificador e um conjunto de
parâmetros. Deste modo é possível a utilização da mesma representação por vários grupos
de informação sem necessidade de redefinição e, em cada grupo, associar aos parâmetros
da representação as variáveis adequadas;
- criação de um editor gráfico para a construção interactiva de representações, quer para
gerar um ficheiro de mapificações para um determinado conjunto de dados, quer para
definir previamente um conjunto de representações a associar em tempo de execução a
grupos de informação;
- utilização de imagens digitalizadas como representações a incluir na lista de
representações.
Relativamente à representação por superfícies tridimensionais, um dos melhoramentos a
considerar consiste em possibilitar a visualização da estrutura de grelhas tridimensionais e,
242
além disso, permitir a visualização simultânea de várias superfícies. Este segundo aspecto
requer o tratamento duma lista de superfícies associadas a um grupo de informação. É
necessário também complementar a interacção já existente para a criação de superfícies
com procedimentos para a omissão de superfícies, de modo a gerir as superfícies visíveis
em cada instante. A interacção deverá também ser melhorada por forma a comportar a
criação de mecanismos de filtragem ou de selecção de informação para esta forma de
visualização.
Na versão actual do protótipo apenas os grupos de informação global podem ser
representados por meio de superfícies e se houver informação geométrica associada a estes
grupos ela não é desenhada. No entanto, tal como acontece na representação por ícones,
pode considerar-se também o desenho da informação geométrica. Por exemplo, na
representação dos dados relativos a temperaturas apresentada na subsecção 4.1.5, poderia
juntar-se o contorno dos continentes para dar uma noção mais intuitiva da localização
espacial dos dados. Para isso pode pensar-se na inclusão opcional da visualização do
conteúdo das listas de informação geométrica quer de grupos de informação global, quer de
grupos de informação geométrica.
Outro aspecto relacionado com a representação por superfícies é a geração automática de
conexões de grelhas não estruturadas, quando estas não são explicitamente fornecidas no
ficheiro de dados. Na versão actual apenas são geradas automaticamente as conexões de
grelhas bidimensionais. No caso de grelhas tridimensionais as conexões podem ser
construídas recorrendo a algoritmos para determinação de uma malha de tetraedros que
ligue todos os pontos da grelha. Segundo [Maur00] as técnicas mais utilizadas para resolver
este problema baseiam-se na propriedade de Delaunay, que consiste em garantir que a
esfera que circunscreve cada tetraedro não contém no seu interior nenhum dos pontos em
estudo. Apesar de menos estudados que os algoritmos de triangulação de Delaunay para
2D, são identificados por Maur et al. [Maur01] três métodos fundamentais para a
construção de malhas de tetraedros verificando a propriedade de Delaunay: um deles tem
por base a localização dos pontos relativamente a uma grelha auxiliar regular [Fang95]; os
outros dois baseiam-se na inserção incremental de pontos, mas distinguem-se pela forma
como resolvem o problema da geração de um tetraedro que não verifique a propriedade de
Delaunay, usando um deles transformações locais do tetraedro e o outro não. Maur et al.
243
defendem que o método de inserção incremental em que há transformação local do
tetraedro é o mais robusto garantindo que não se geram buracos na malha.
Relativamente à interacção, além do melhoramento da interface disponível na versão
actual, um aspecto importante a desenvolver é a obtenção de detalhes a pedido, qualquer
que seja a forma de mapificação utilizada. Como já foi referido na secção 4.3, em
[Shneiderman98] considera-se que as acções fundamentais no processo de exploração de
informação são, em primeiro lugar, a obtenção de uma visão de conjunto, depois a
realização de ampliações e filtragem e, posteriormente, a obtenção de detalhes a pedido.
Apenas este último aspecto não se encontra ainda concretizado no protótipo. Relativamente
à ampliação da pirâmide truncada, também não está ainda concretizada a ampliação com
múltiplas zonas de interesse mencionada na subsecção 4.3.1.1.
Um dos melhoramentos a considerar na interface consiste em fornecer informação sobre
o número de elementos omitidos no processo de filtragem. Uma forma de mostrar esta
informação ao utilizador poderá consistir em criar na área de dialogo de cada grupo de
informação global um rectângulo horizontal, cujo comprimento reflecte o número de
elementos do grupo. Este será composto por dois rectângulos contíguos cujos
comprimentos são proporcionais, respectivamente, ao número de elementos desenhados e
ao número de elementos omitidos. Para dar uma informação mais precisa poderá
escrever-se em cada rectângulo o número efectivo de elementos relativos a cada uma das
zonas.
Ao reexaminar o mesmo conjunto de dados ou outro conjunto de dados com as mesmas
características, convém por vezes voltar a executar o mesmo tipo de acções. Por isso um
desenvolvimento a considerar é a inclusão de um mecanismo para reutilização de
explorações anteriores dos dados.
Uma das características do protótipo é o recurso a funções de grau de interesse para
exprimir informação semântica sobre os dados. De momento a única função concretizada é
a apresentada em [Furnas86]. Podem ser incluídas variantes da função de grau de interesse,
definindo novas subclasses de fc_doi. Esta faceta deverá ser complementada com a
possibilidade de, interactivamente, indicar variáveis dos grupos de informação como
componentes da função. Em alguns casos poderá haver interesse em trabalhar com
variáveis transformadas, isto é, variáveis que resultem doutras por aplicação de operações
244
numéricas ou por composição com outras variáveis. Assim, deverá contemplar-se também a
transformação e criação interactiva de variáveis. O estudo de novas funções de grau de
interesse será referido no capítulo 6.
Qualquer sistema de visualização requer a formatação dos dados, seja utilizando um
formato próprio do sistema, seja recorrendo a um formato comum a outros sistemas, sendo
frequente o reconhecimento de mais do que um formato. Para simplificar o trabalho de
formatação são muitas vezes fornecidas rotinas que fazem a conversão de dados disponíveis
em formatos conhecidos, como por exemplo HDF ou NetCDF [Rew90], no caso de dados
científicos, para o formato exigido pelo sistema. Outra forma de ajuda na tarefa de
formatação consiste na possibilidade de criar um ficheiro onde se coloca meta-informação
que descreve a organização e conteúdo do ficheiro de dados do utilizador, permitindo a sua
conversão automática para o formato adequado ao sistema de visualização.
No protótipo desenvolvido há a considerar separadamente o formato dos dados e o das
representações gráficas. Relativamente aos dados, é necessário que sejam organizados em
grupos de informação e que cada grupo de informação global tenha associada uma grelha,
que descreve a referência espacial dos elementos do grupo. As grelhas podem ser
construídas à custa de variáveis que integram os dados ou, em alternativa, serem definidas
grelhas cartesianas ou regulares. Esta forma de organização é própria do protótipo e terá de
ser indicada explicitamente no ficheiro que se designou por ficheiro de dados. Quanto aos
dados, este ficheiro apenas precisa de fornecer o(s) identificador(es) do(s) ficheiro(s) que os
contêm. Naturalmente que a leitura dos dados pressupõe que estes tenham uma determinada
ordem. À semelhança do que acontece noutros sistemas, o processo de formatação ficaria
simplificado com a definição de um formato para o utilizador descrever a ordem pela qual
se encontram os seus dados e com o desenvolvimento de rotinas para fazer a transformação
para a ordem exigida pelo protótipo.
Quanto ao ficheiro de mapificações, a construção de módulos de conversão de outros
formatos gráficos para o formato requerido pelo protótipo permitiria a reutilização de
representações gráficas já descritas noutros formatos.
Por último referimos que um aspecto importante a tratar é a realização de testes de
desempenho do protótipo para validação da eficácia das soluções propostas.
245
5.6
Sumário
Neste capítulo descreveu-se o protótipo construído com base no modelo apresentado no
capítulo anterior, explicitando-se as opções tomadas na sua concretização. Apresentaram-se
as componentes que centralizam a articulação entre os dados, o utilizador e a visualização
no equipamento gráfico.
A concretização dos conceitos base do modelo através de classes abstractas permitiu
testar o seu funcionamento com um número reduzido de variantes, deixando para uma fase
posterior a sua expansão.
Assinalaram-se ainda aspectos a desenvolver no protótipo de modo a tornar interessante
a sua utilização. No próximo capítulo serão discutidos outros assuntos não abordados ou
pouco aprofundados no presente trabalho e que deverão ser objecto de atenção no futuro.
246
6. Conclusões e Trabalho Futuro
O trabalho desenvolvido enquadra-se no âmbito da Visualização de Informação e teve
como objectivo contribuir para a concepção de sistemas de visualização genéricos
incorporando mecanismos de filtragem, controlo do volume de informação, gestão de
múltiplas representações e visualização de detalhe inserido no contexto. Além disso,
procurou-se nesta dissertação, nomeadamente no capítulo 2, contribuir também para a
sistematização de conceitos associados à Visualização de Informação. Esta sistematização
permitiu identificar quais os aspectos a considerar num sistema de Visualização de
Informação, orientando o desenvolvimento deste trabalho. Nas secções seguintes
sintetizam-se os aspectos mais relevantes do trabalho desenvolvido e apontam-se direcções
para a sua evolução no futuro.
6.1
Conclusões
Para desenvolver um sistema de visualização há que identificar os tipos de dados a
visualizar, as mapificações a utilizar e as formas de interacção a adoptar. Estes três aspectos
formam o fio condutor da síntese que a seguir se apresenta.
Concebeu-se um modelo para a criação de sistemas genéricos para a visualização de
dados organizados em tabela. Considerou-se este tipo de dados porque, além de ser uma
forma comum de organização dos dados (basta ter em consideração a informação guardada
em bases de dados relacionais), permite um tratamento mais geral, uma vez que estes dados
são interpretados sempre da mesma forma, isto é, como a ocorrência de tuplos de valores
relativos a um conjunto de variáveis. Este é também o tipo de dados base considerado no
modelo de referência proposto em [Card99] para a Visualização de Informação.
Para articular a ligação entre os dados e a correspondente representação gráfica, um dos
problemas fulcrais da visualização como foi referido no capítulo 2, criou-se o conceito de
grupo de informação. Os grupos de informação têm a função de ligar conjuntos de dados
semanticamente relacionados com uma ou mais representações gráficas e respectiva
referência espacial. Esta organização torna mais flexível o controlo da quantidade de
247
informação a desenhar e possibilita a existência de múltiplas representações dentro do
mesmo grupo e de representações diferentes de grupo para grupo. A estrutura criada
permite agregar valores numéricos ou textuais com informação geométrica, isto é,
informação que tem intrinsecamente associada uma representação gráfica. Deste modo é
possível combinar informação abstracta com informação geométrica, alargando-se o
conjunto de dados visualizáveis pelo sistema.
Num grupo de informação a referência espacial é descrita através de uma grelha cujas
posições podem ser definidas à custa dos dados ou por distribuição regular no espaço dos
elementos a visualizar.
A estrutura do grupo de informação conduz de forma natural à visualização por ícones.
No entanto, outras mapificações podem ser consideradas. A integração da visualização
através de superfícies coloridas tridimensionais permitiu testar a capacidade de resposta dos
grupos de informação a outras formas de representação.
O conceito de grupo de informação permite estruturar a informação de forma a associar
uma mapificação aos dados e ainda adaptar automaticamente a interface. Através dela o
utilizador pode utilizar os diversos mecanismos de interacção, tendo-se dado ênfase neste
trabalho àqueles que conduzem ao controlo do volume de informação representado e à
ampliação duma zona de interesse com manutenção do contexto.
Os mecanismos de filtragem utilizados para controlar o volume de informação
representada permitem evitar a geração de imagens demasiado densas e contemplam a
inclusão de critérios semânticos. Adoptou-se a função de grau de interesse para veicular a
informação semântica. Esta função é normalmente utilizada para reduzir o volume de
informação a desenhar, eliminando elementos menos relevantes. Além de ser usada para
esse efeito, considerou-se também a aplicação da função de grau de interesse em duas
outras situações: para controlar a ordem pela qual os elementos de informação são
desenhados e para seleccionar uma entre múltiplas representações.
No primeiro caso, a função de grau de interesse é utilizada para separar os elementos de
informação por níveis de interesse, contribuindo para gerar a imagem passo a passo por
ordem de relevância dos elementos a desenhar. Ao interromper a geração da imagem após a
conclusão do desenho de um nível, o utilizador tem a garantia que os elementos não
desenhados são menos relevantes do que os que foram desenhados.
248
No segundo caso, a função de grau de interesse concorre para a selecção de
representações menos detalhadas para elementos menos relevantes, reduzindo o número
e/ou a dimensão dos elementos gráficos desenhados. Esta abordagem permite reduzir a
densidade de informação na imagem, aumentando a razão de informação relevante, ou seja,
diminui-se a quantidade de informação representada, mantendo a informação mais
relevante.
Além da utilização da função de grau de interesse, se tivermos em atenção que os grupos
de informação contêm informação semanticamente relacionada, a supressão de grupos de
informação pode também ser considerada uma forma de filtrar informação com base num
critério semântico.
A aplicação de restrições de domínios das variáveis é outra forma de filtragem
considerada, destacando-se a possibilidade de combinação interactiva de restrições com
operações de conjunção e disjunção através da criação de grupos de informação derivados.
Quanto à ampliação, utilizou-se o modelo da pirâmide truncada para a ampliação duma
zona de interesse sem deformação e mantendo o contexto. Neste modelo, para garantir a
manutenção do contexto e ainda para que a zona ampliada não ultrapasse os limites da área
de desenho, limita-se o factor de escala de ampliação fixando uma razão mínima a verificar,
quer na largura, quer na altura, entre a dimensão reservada para o contexto e a dimensão
total da janela. Além disso, determina-se a posição da zona ampliada de modo a reduzir
proporcionalmente a área envolvente. Contemplaram-se três modos diferentes de desenho
nas faces laterais da pirâmide, isto é, na zona de contexto: desenho sem deformação e com
factor de escala constante; desenho sem deformação e factor de escala variável; e desenho
com deformação e factor de escala variável.
Para permitir a definição de representações independentemente do espaço de
coordenadas do utilizador considera-se um espaço de coordenadas distinto – o espaço de
coordenadas simbólicas. A existência deste segundo espaço de coordenadas torna possível
definir uma representação por omissão que pode ser utilizada qualquer que seja o espaço de
coordenadas definido pelo utilizador, uma vez que para estes dois espaços existem
transformações
janela-enquadramento
distintas.
Mais
ainda,
podem
definir-se
representações que não sejam afectadas por alterações na dimensão da janela do utilizador,
como acontece nas ampliações ou reduções, evitando assim situações em que a
249
representação fica imperceptível ou, pelo contrário, demasiado grande. Para simular neste
espaço de coordenadas a variação de dimensão e, eventualmente de detalhe, será necessário
definir representações distintas associadas a intervalos de escala de representação
diferentes. Podem coexistir simultaneamente representações definidas em qualquer um dos
espaços, e, além disso, uma mesma representação pode ter componentes com parâmetros
definidos também nos dois espaços.
A utilização dos dois espaços de coordenadas para definir representações é
particularmente importante quando se utiliza o valor da função de grau de interesse como
critério para a selecção de representação, associando à informação menos relevante
representações associadas a escalas menores, normalmente mais simplificadas. Neste caso
combinam-se simultaneamente representações destinadas a escalas de representação
diferentes. Se o intervalo de variação de escalas for muito amplo, pode acontecer que, se for
usado o espaço de coordenadas do utilizador para definir todas as representações, as
representações destinadas a escalas menores tenham uma dimensão superior para
continuarem perceptíveis ao sofrerem uma redução de escala maior. Assim ao conjugar os
dois tipos de representações na escala corrente, obtém-se um resultado contrário ao
pretendido. Através da utilização de dois espaços de coordenadas distintos é possível
ultrapassar o problema, distinguindo as representações que devem ser transformadas de
acordo com a escala, por estarem definidas no espaço de coordenadas do utilizador, das que
são versões destinadas a escalas menores não sendo sujeitas à mesma transformação
janela-enquadramento.
O protótipo desenvolvido para concretizar as ideias expostas não exige o
desenvolvimento de código por parte do utilizador para gerar a visualização dos dados. É
necessário, contudo, fornecer os dados no formato requerido pelo protótipo, sendo ainda
possível indicar um conjunto de representações a associar a cada grupo de informação.
Optou-se também pela existência de um ficheiro de valores por omissão que pode ser
editado para modificar valores iniciais cuja actualização de forma interactiva ou é difícil ou
não é relevante.
A partir da leitura destes ficheiros é construída a interface, adaptada ao conjunto de
dados lido, e é gerada uma visualização inicial que é alterável interactivamente pelo
utilizador.
250
Tirando proveito da utilização duma linguagem orientada por objectos na construção do
protótipo, concretizaram-se com classes abstractas os conceitos em que se baseia o seu
funcionamento, permitindo assim de forma simples alargar o leque de variantes de cada um
deles.
Concluindo, o modelo criado tem por base o conceito de grupo de informação,
permitindo tratar informação abstracta e geométrica e estruturando a informação de modo a
admitir a definição de múltiplas representações e a suportar vários mecanismos de
filtragem, alguns deles baseados em critérios semânticos.
6.2
Trabalho futuro
Num trabalho desta natureza, ao perspectivar a evolução futura há a considerar duas
vertentes. Por um lado, complementar o protótipo alargando as suas capacidades, o que por
vezes se reduz apenas à escrita de mais código sem contribuir com soluções inovadoras.
Por outro lado, analisar problemas não discutidos ou não suficientemente aprofundados no
trabalho e estender o protótipo para ensaiar propostas para a sua resolução. O primeiro
aspecto foi já abordado no capítulo anterior. Nesta secção consideraremos apenas a segunda
vertente, focando os seguintes problemas: a conversão de dados em tabela e a definição da
referência espacial; a reorganização dos elementos na área de desenho após o processo de
filtragem; a definição de novas funções de grau de interesse; o estudo de novas
mapificações e a selecção automática da mapificação.
O modelo desenvolvido destina-se à visualização de dados que podem ser descritos sob
a forma de tabela. Com este tipo de estrutura, a referência espacial, ou tem uma distribuição
regular, ou é determinada à custa de variáveis, isto é, colunas da tabela. Para que qualquer
outro tipo de estrutura possa ser visualizado usando este modelo, é necessário determinar
qual a organização espacial para os elementos de informação e converter essa organização
numa tabela. Aliás, como foi já apontado na secção 3, um dos problemas levantados pela
adopção de estruturas em tabela como tipo base da Visualização de Informação consiste em
fazer as transformações adequadas à informação que apresenta outro tipo de estrutura
como, por exemplo, hierarquias.
Na conversão da organização dos dados para uma estrutura em tabela há dois casos a
considerar: a informação que tem subjacente uma determinada estrutura que não é tabular e
que precisa de ser convertida numa tabela, como acontece nas hierarquias; e a informação
251
que não tem à partida uma organização pré-determinada, como é o caso do conteúdo de
colecções de documentos. No segundo caso, a determinação da referência espacial está
intrinsecamente ligada com a escolha da mapificação e é um aspecto fundamental na
construção da visualização.
O estudo deste problema pode tomar como ponto de partida trabalhos publicados por
vários autores. Relativamente ao primeiro caso destacam-se dois trabalhos. Em [Card99]
exemplifica-se a descrição de árvores e grafos sob a forma de tabelas através da utilização
de variáveis, em que a cada ocorrência i da variável, isto é, ao vértice i, corresponde o
conjunto de vértices a que este vértice está ligado. Isto implica a existência de variáveis que
tenham o conjunto como tipo base. Outra solução é utilizada no sistema ADVISOR
[Eick00a], referido na subsecção 2.3.1, onde os grafos são descritos usando duas tabelas,
uma para os nós e outra para os arcos.
Quanto ao segundo caso, informação sem organização pré-determinada, uma área a
explorar é a determinação da localização espacial dos elementos de informação e, por
conseguinte, da grelha, à custa dos valores dos elementos. Várias técnicas são encontradas
na literatura: multidimensional scaling, simulated annealing, o modelo de molas (spring
model), funções de transformação.
Uma das técnicas mais referidas é o multidimensional scaling que tem por objectivo
passar de um espaço multidimensional para um espaço de dimensão dois ou três
[Chalmers92] [Fairchild88]. Esta técnica apresenta diversas variantes, mas baseia-se funda-
mentalmente no cálculo dos vectores próprios de uma matriz de dissemelhanças que
reflecte disparidades entre os elementos. Por exemplo, dado um conjunto de n elementos de
que se conhecem os valores de k atributos é construída uma matriz n x n cujos valores são o
resultado de uma função, que para cada par de elementos acumula as diferenças entre os
valores verificados para todos os atributos [Wong97a].
Outra técnica para a determinação da posição de elementos no espaço é o simulated
annealing, cujo nome provém da analogia com o processo usado para temperar os metais
[Chalmers92]. Esta técnica requer uma disposição inicial para os pontos, um método para
gerar mudanças aleatórias na configuração, uma função objectivo que se pretende
minimizar, um parâmetro de controlo e uma regra para a evolução deste parâmetro. Um
exemplo de aplicação desta técnica é descrito em [Fairchild88], onde é usado como
252
parâmetro de controlo o factor de escala que determina o comprimento máximo do vector
aleatório que é responsável pela mudança de posição de um ponto. Um ponto é movido se
ficar mais próximo de uma posição central definida previamente, mas de modo a não ficar
demasiado próximo de outros elementos, ou seja, é necessário verificar uma distância
mínima entre os elementos. Inicialmente o parâmetro de controlo tem um valor elevado,
mas à medida que os pontos vão ficando próximos o valor do parâmetro diminui até as
mudanças de posição serem consideradas pequenas.
O modelo de molas é referido em [Theisel98], tendo como base aplicações já efectuadas
em [Olsen93]. A localização do ponto P que representa um objecto O, com n componentes,
é determinada considerando n molas, uma para cada componente, que estão ligadas a esse
ponto. O comprimento de cada mola depende do valor da respectiva componente do
objecto.
Em [Fairchild88] são usadas funções, designadas por funções de transformação
(mapping functions), que para cada elemento de informação determinam, a partir do seu
valor, as coordenadas da sua posição.
Qualquer uma destas técnicas pode ser considerada como abordagem inicial para o
estudo da determinação de localizações para os elementos de informação.
Os mecanismos de filtragem são utilizados para reduzir a quantidade de informação
representada, seja porque interessa identificar quais os elementos de informação que
verificam determinadas condições, seja porque a quantidade de informação desenhada é tão
elevada que gera uma imagem ininteligível. Em qualquer dos casos podem levantar-se duas
questões: quantificar o número de elementos omitidos (ou desenhados) e aproveitar o
espaço deixado livre pelos elementos apagados, reorganizando os elementos na área de
desenho.
A quantificação do número de elementos omitidos foi já referida na secção 5.5. Quanto à
reorganização dos elementos na área de desenho para aproveitar o espaço disponível têm
sido apresentadas algumas soluções. Por exemplo, em [Keim00], na representação de
informação associada a localizações geográficas, são colocados os elementos mais
relevantes na posição correcta e os restantes em posições adjacentes aproveitando o espaço
disponível. O conceito de relevância presente neste exemplo pode ser obtido no modelo
desenvolvido neste trabalho pela função de grau de interesse. Outra solução é apontada em
253
[Ioannidis96] onde se descreve um algoritmo para adaptar a disposição no espaço de
objectos com múltiplas representações a partir da disposição previamente definida pelo
utilizador. Este algoritmo tem como objectivo não sobrepor objectos nem deixar muito
espaço livre entre eles para visualizar o maior número possível de objectos. A colocação
dos objectos tem em atenção os ângulos formados pelos vectores que ligam os objectos a
um ponto origem. Considera-se importante explorar outras formas de reorganização do
espaço.
Outro aspecto a estudar é a definição de funções de grau de interesse diferentes da
apresentada por Furnas [Furnas86]. Em [Martins02] é desenvolvido trabalho neste sentido,
sendo proposta uma função de grau de interesse a aplicar na visualização de dados
multivariados e que é exemplificada com a exploração de informação guardada numa base
de dados relacional. Nesta função são importantes os conceitos de objecto prioritário,
objecto foco e distância entre dois objectos. Neste caso os objectos são tuplos em que cada
uma das componentes corresponde a um valor duma variável em estudo, ou seja, de um
atributo. O objecto prioritário é usado para determinar a importância a priori e o utilizador
define este objecto indicando os valores que considera relevantes para as variáveis em
estudo. A importância a priori de um objecto é obtida calculando a sua distância ao objecto
prioritário. O objecto foco é também definido pelo utilizador e corresponde aos valores a
realçar num dado instante. A função distância é determinada à custa de outras funções,
designadas por funções de afastamento, que calculam a distância relativamente a cada uma
das componentes do tuplo. Existe uma função de afastamento para cada um dos tipos de
variáveis tratados pelo sistema.
Outras funções de grau de interesse podem ser desenvolvidas considerando a sua
aplicação a determinados tipos de dados. Qualquer que seja a função definida, é importante
que os seus parâmetros possam ser ajustados pelo utilizador de modo a permitir a adaptação
ao problema em estudo.
Um aspecto importante em qualquer sistema de visualização é o conjunto de
mapificações disponíveis. Se para além de dados tabulares se considerar a visualização de
outros tipos de dados, convém fornecer formas de visualização mais adequadas para esses
tipos de dados. Por isso uma tarefa a desenvolver será a adaptação de formas de
visualização já conhecidas e, mais relevante do que isso, o estudo de novas mapificações,
254
quer para dados tabulares, quer para outros tipos de dados.
Quando um sistema fornece várias formas de mapificação, coloca-se sempre o problema
de seleccionar qual a que melhor se adapta aos dados a analisar e ao tipo de estudo a
efectuar. Assim, outra área de trabalho a desenvolver é a escolha automática da
representação, assunto que foi referido no capítulo 2.
6.3
Considerações finais
Nesta dissertação foram referidos vários sistemas para visualização de informação
organizada em tabela. Ao conceber o modelo apresentado esteve presente o objectivo de
criar uma estrutura que permitisse de forma flexível fazer filtragem de informação e gerir
múltiplas representações, sendo estas as características mais relevantes do modelo e que o
distinguem de outras propostas.
O protótipo construído para ensaiar o modelo concretiza-o de forma restrita. Contudo, a
realização dos melhoramentos propostos na secção 5.5 permitirá tornar mais interessante a
sua utilização.
Finalmente, identificaram-se vários problemas não discutidos ou insuficientemente
aprofundados no trabalho e que se consideram de interesse como base para trabalho futuro.
255
Anexo A – Determinação das funções de transformação e
magnificação da pirâmide truncada
As funções de transformação e magnificação são usadas em [Leung94] para a
caracterização das ampliações em que há distorção na colocação dos elementos. A primeira
aplica as posições dos elementos na imagem inicial nas correspondentes posições na
imagem ampliada e a segunda é a sua derivada, correspondendo ao factor de ampliação ou
redução em cada ponto.
Na pirâmide truncada existem cinco zonas distintas: no topo da pirâmide há ampliação e
nas faces laterais há redução. Os elementos são transformados aplicando primeiro uma
projecção paralela que os projecta numa das faces da pirâmide e depois uma projecção
perspectiva que os aplica de novo na área de representação. A projecção perspectiva é a
mesma para todos os pontos, mas a projecção paralela tem projectantes ortogonais ao plano
de representação fazendo, portanto, no caso geral, ângulos diferentes com cada uma das
faces da pirâmide: no topo corresponde a uma projecção ortogonal, mas nas faces laterais a
projecções oblíquas.
A função de transformação é diferente em cada zona, mas a forma de dedução é análoga.
Por isso apenas se deduzem as funções de transformação e de magnificação para o topo e
para o lado esquerdo. Leung el al. tratam cada um dos eixos separadamente, considerando
uma função de transformação para cada um dos eixos. Como foi explicado na subsecção
4.3.1.1, devido ao modo como são determinados os factores de escala em cada uma das
faces da pirâmide, interessa considerar a função de transformação segundo xx composta por
três troços, correspondentes, respectivamente, às funções de transformação das faces
esquerda, topo e direita e, relativamente a yy, abrangendo as funções de transformação das
faces inferior, topo e superior. Deste modo a função de magnificação obtida por derivada da
função de transformação corresponderá à variação de escala segundo cada eixo. Far-se-á a
dedução das funções respeitantes à face esquerda relativamente à variação segundo xx, o
mesmo acontecendo para as funções do topo, a fim de se estudar a continuidade das
funções de transformação e magnificação segundo xx nestas duas faces.
257
Topo da pirâmide
Um elemento da zona de interesse na posição (x, y) é aplicado no topo da pirâmide, de
altura h, no ponto (x, y, h). É aplicada a seguir a projecção perspectiva de centro (xc, yc, zc).
Atendendo à semelhança de triângulos com ângulos iguais (Fig.A 1) tem-se
(x-x’) / h = (xc-x) / (zc-h)
(1)
sendo x’ o resultado da função de transformação, obtém-se assim para a coordenada xx a
seguinte função de transformação
Ttopo(x) = x + h (xc - x) / (h - zc)
(2)
A função de magnificação é a derivada da função de transformação tendo-se
Mtopo (x) =1 - h / (h - zc)
(3)
Atendendo a que o factor de escala de ampliação, f, verifica
f = (xc-x’) / (xc-x)
(4)
que, por semelhança de triângulos, é equivalente a
f = zc / (zc-h)
(5)
obtendo-se assim
Mtopo (x) = f
(6)
Z
zc
h
0
x’a
xa x’ x xc
X
Fig.A 1 Transformação de um ponto no topo da pirâmide
Lado esquerdo da pirâmide
Um elemento na posição (x,y), que pertença à zona aplicar no lado esquerdo da
pirâmide, é aplicado no ponto (x, y, z) (Fig.A 2) em que
z = h (x – x0) / (xa – x0)
(7)
onde x0 e xa são as coordenadas segundo xx dos extremos inferiores esquerdos,
258
respectivamente, da área de representação e da zona de interesse.
Designando por
xe a diferença entre xa e x0
tem-se a expressão
z = h (x – x0) / xe
(8)
Aplicando em seguida a projecção perspectiva, tem-se que
(x - x’) /z = (xc - x) / (zc - z)
(9)
obtendo-se a seguinte função de transformação para a coordenada xx
Tesq(x) = x + z (xc -x) / (z - zc)
(10)
Substituindo na expressão anterior z pelo seu valor na expressão (8) tem-se
Tesq(x) = x+[h(x-x0)(xc-x)] / [h(x-x0)-xezc]
(11)
Derivando obtém-se a função de magnificação
Mesq(x)=1+[(h(xc-x)-h(x-x0)) (h(x-x0)-xezc) – h2(x-x0)(xc-x)] / (h(x-x0)-xezc)2
que, por simplificação, se pode escrever na forma
Mesq(x) = [-h(x-x0)xezc+ xe2zc2 - h(xc-x)xezc] / (h(x-x0)-xezc)2
(12)
Z
zc
h
z
0
x0
x’ x x’a xa xc X
Fig.A 2 Transformação de um ponto na face esquerda da pirâmide
259
Estudo da continuidade
Interessa estudar a continuidade das funções de transformação e de magnificação para
x=xa, que corresponde ao extremo esquerdo da zona a ampliar e tem, por conseguinte,
funções distintas à esquerda e à direita.
Função de transformação
Ttopo(xa) = xa + h (xc - xa) / (h - zc)
(13)
e
Tesq(xa) = xa +[h (xa-x0) (xc-xa)] / [h (xa-x0) - xezc]
atendendo a que xe= xa-x0 tem-se
Tesq(xa) = xa +[h xe (xc-xa)] / [h xe - xe zc]
e simplificando
Tesq(xa) = xa + h (xc - xa) / (h - zc)
(14)
Donde
Ttopo(xa)=Tesq(xa)
Assim a função de transformação, além de ser contínua na face esquerda e no topo, é
também contínua para xa.
Função de magnificação
Mtopo(xa) = f
e
Mesq(xa) = [-h(xa -x0)xezc+ xe2zc2 - h(xc- xa)xezc] / (h(xa -x0)-xezc)2
= [-hxe2zc+ xe2zc2 - h(xc- xa)xezc] / (hxe-xezc)2
= zc(zc-h) / (zc-h)2 - h(xc- xa) zc / [xe(zc-h)2]
= zc/(zc-h) - ( zc/(zc-h) ) ( h (xc- xa) / xe(zc-h) )
= ( zc/(zc-h) ) [1- ( h/(zc-h) ) (xc- xa) / xe ]
Mas a expressão (5) é equivalente a
f = 1 + h/(zc-h)
(15)
e assim pode escrever-se
Mesq(xa) = f [ 1 + (1-f) (xc- xa) / xe]
260
(16)
Para que o resultado da função seja igual a f é necessário ter
f=1 ∨
xc- xa = 0
Mas nas condições normais de ampliação f é maior que 1 e a zona de ampliação tem
dimensão diferente de zero segundo xx. A segunda condição implica que xc- xa ≠ 0, uma
vez que se pode concluir da expressão (17), apresentada na subsecção 4.3.1.1, para
determinar a coordenada xx do centro de projecção, que esta fica compreendida dentro da
zona a ampliar e só toma o valor xa se se reduzir a zero a extensão em xx da face esquerda
na pirâmide, o que não acontece na situação em estudo. Este resultado deduz-se a partir da
expressão
xc = xa +xe lx/(wx-lx)
(17)
onde
lx é a dimensão em xx da zona ampliar
e
wx a dimensão em xx da área de representação
que pode ser escrita da forma
xc = xa + lx xe/ (xe+xd)
(18)
onde
xd corresponde à distância da zona a ampliar ao lado direito da área de
representação
Verifica-se facilmente a partir da expressão (18) que xc se obtém somando a xa uma
quantidade positiva que não excede a largura da zona a ampliar. No caso de xe=0, a zona a
ampliar está encostada ao bordo esquerdo da área de representação, ficando a face esquerda
da pirâmide com dimensão zero em xx, não havendo assim na função de transformação o
troço correspondente a esta face.
Conclui-se, portanto, que a função de magnificação não é contínua para x=xa, sendo
apenas contínua por troços, à semelhança do que se verifica com as funções deduzidas para
a parede em perspectiva em [Leung94].
261
Anexo B – Algoritmo de triangulação de Delaunay por
inserção incremental aleatória
Neste anexo descreve-se de forma sucinta o algoritmo utilizado no protótipo para a
criação de conexões de uma grelha não estruturada. Adoptou-se o algoritmo apresentado
em [Kolingerová02] para a geração de triangulações de Delaunay por inserção incremental.
Este algoritmo usa uma permutação aleatória da sequência inicial de pontos, sendo por isso
designado por algoritmo de inserção incremental aleatória.
Em [Kolingerová02] define-se triangulação de um conjunto P de pontos no espaço
euclidiano como um conjunto de arestas E tais que: não há intersecção de arestas em pontos
não pertencentes a P; as arestas de E dividem o polígono convexo envolvente (convex hull)
de P em triângulos.
Dado um conjunto P de pontos, uma triangulação T(P) diz-se de Delaunay se, para cada
triângulo, o círculo que o circunscreve não contém no seu interior outro ponto de P. Esta
propriedade designa-se por propriedade do círculo vazio.
O algoritmo de inserção incremental parte de três pontos auxiliares, não pertencentes a
P, para construir um triângulo inicial que contém no seu interior todos os pontos de P. A
partir deste triângulo constrói-se uma triangulação DT juntando um a um os pontos de P.
Para cada ponto de P determina-se qual o triângulo de DT que o contém. Este triângulo é
subdividido em 3 novos triângulos (Fig.B 1(a)). Se o ponto estiver sobre um dos lados, os
dois triângulos adjacentes que partilham este lado são subdivididos em quatro triângulos
(Fig.B 1(b)).
Para os novos triângulos criados testa-se de forma recursiva a propriedade do círculo
vazio relativamente aos pontos que já pertencem à triangulação e que são vértices de
triângulos adjacentes. Se para um triângulo não se verificar a propriedade, este triângulo e
aquele que tem o ponto inscrito no círculo são modificados: a aresta comum é retirada e
cria-se uma nova aresta que liga os outros dois vértices (Fig.B 2). Para os dois novos
triângulos é necessário verificar também a propriedade do círculo vazio. É por este motivo
que se afirma que o teste é recursivo: ao testar um triângulo, se a propriedade do círculo
263
vazio não se verificar, o triângulo em causa e o triângulo adjacente cujo terceiro vértice está
dentro do círculo são substituídos por dois novos triângulos que invocam novamente o
teste.
Após se obter uma triangulação com todos os pontos de P, o triângulo auxiliar inicial é
eliminado bem como todas as arestas de triângulos que tenham estes pontos como
extremos.
pk
(a)
pk
(b)
Fig.B 1 Triângulos gerados com a inclusão do pk ponto na triangulação
(a)
(b)
Fig.B 2 Modificação dos triângulos: os dois triângulos de (a) dão lugar aos triângulos de (b)
Na concretização deste algoritmo adoptou-se a estrutura de dados proposta em [Kolingerová02] bem como a optimização aí sugerida para a procura do triângulo que contém o
ponto a inserir e ainda a localização dos vértices do triângulo auxiliar inicial. Considerou-se
o triângulo inicial com vértices nos pontos (0,K), (K,0) e (-K,-K), em que K=3*M, sendo M
o máximo dos módulos das coordenadas dos pontos a incluir na triangulação. Deste modo
garante-se que o quadrado de vértices opostos (-M,-M) e (M,M), que inclui todos os pontos,
pertence ao triângulo inicial (Fig.B 3).
264
Fig.B 3 Triângulo inicial
Este resultado prova-se deduzindo a expressão analítica do triângulo e verificando se o
quadrado envolvente dos pontos a tratar pertence a esta área. Uma vez que o triângulo é um
polígono convexo, se os extremos de um segmento são interiores ao triângulo, então todo o
segmento é interior, donde basta verificar se os vértices do quadrado pertencem ao interior
do triângulo.
As equações das rectas suporte dos lados dos triângulos estão indicadas na tabela
seguinte.
Extremos do lado
Equação da recta suporte
(K,0) e (0,K)
y= -x + K
(0,K) e (-K,-K)
y= 2x + K
(-K,-K) e (K,0)
y= x/2 + K/2
Assim a expressão analítica do triângulo obtém-se por intersecção dos semi-planos
y ≤ -x + K, y ≤ 2x + K e y ≥ x/2 + K/2
Como os vértices do quadrado verificam esta condição conclui-se que não há pontos do
quadrado exteriores ao triângulo.
Apesar de se garantir que todos os pontos pertencem ao triângulo, em [Kolingerová02]
chama-se a atenção para que por vezes os vértices estão demasiado longe dos pontos e, ao
remover o triângulo, podem faltar arestas para obter um polígono envolvente convexo. No
265
entanto, este problema não tem implicações na utilização deste algoritmo no protótipo, uma
vez que o algoritmo para geração de superfícies, que usa a triangulação gerada, apenas
requer que as células da grelha sejam convexas, não exigindo a convexidade do polígono
envolvente.
266
Anexo C – Formato do ficheiro de dados
O ficheiro de dados, além de conter os dados a visualizar ou a indicação do nome do
ficheiro que os contém, inclui a descrição da organização dos dados em grupos de
informação.
Antes de descrever a constituição de um grupo de informação é necessário fazer a leitura
das variáveis que o compõem e, no caso dos grupos de informação global, descrever a sua
grelha. Se o ficheiro contiver apenas grupos de informação geométrica, não inclui definição
de grelhas e poderá não conter variáveis. Começaremos por descrever o formato para as
variáveis, depois para as grelhas e finalmente para os grupos de informação. Posteriormente
apresentar-se-á a descrição do ficheiro de dados usando a notação Extended Backus-Naur
Form (EBNF) [httpEBNF].
Variáveis
Consideraram-se variáveis com valores reais (tipo float) e variáveis com valores textuais
(tipo string), excluindo-se neste caso os espaços em branco e as mudanças de linha. Por
omissão as variáveis são consideradas do tipo float. A definição de um conjunto de
variáveis inicia-se com a expressão DEF_VAR a que se segue :
- uma sequência de pares (tipo, identificador). O tipo é opcional se a variável for do tipo
numérico. Para indicar o tipo da variável usam-se as palavras FLOAT ou STRING. Como
já foi referido na descrição da interface, por omissão as variáveis são mostradas na interface
dos grupos de informação global ao contrário do que se passa nos grupos de informação
geométrica. No ficheiro de dados pode ser alterado o estado de visibilidade da variável na
interface. Uma forma de indicar que as variáveis não são mostradas consiste em usar as
palavras FLOATOFF e STRINGOFF quando se declara o seu tipo. Há outra forma de o
fazer, que se sobrepõe a esta definição, e que será explicada mais à frente quando se
descrever o formato de definição dos grupos de informação.
- opcionalmente, depois da definição duma variável FLOAT pode incluir-se a expressão
MAX_MIN, seguida dos valores máximo e mínimo da variável. Se estes valores não forem
267
especificados, são determinados após a leitura dos dados.
- a expressão NUM_VALORES, seguida do número de valores de cada uma das
variáveis. Este número é o mesmo para todas as variáveis uma vez que se tratam dados com
estrutura tabular, correspondendo às linhas da tabela.
- opcionalmente, a palavra FICH, seguida do identificador do ficheiro onde se
encontram os dados.
- e o carácter ‘;’ para finalizar.
Se não for indicado o identificador de um ficheiro que contém os dados, os valores das
variáveis devem ser incluídos a seguir. Coloca-se o primeiro valor de todas as variáveis
seguindo a ordem pela qual foram apresentadas, depois o segundo valor de todas as
variáveis e assim sucessivamente. Se os valores estiverem num ficheiro separado
pressupõe-se que os valores são dados também por esta ordem.
A leitura de variáveis pode ser feita em vários blocos deste tipo que podem alternar com
a definição de grelhas e de grupos de informação. É exigido apenas que as variáveis sejam
lidas antes de serem usadas na descrição de qualquer grupo ou grelha.
Exemplo 1
DEF_VAR FLOAT posxi FLOAT posyi data_constr lotacao STRING
nome_igreja
NUM_VALORES 4;
25745 4144
1789 730 Basilica_da_Estrela
31691 3194
1629 460 S._Vicente
31810 13043
1955 690 S._Joao_de_Brito
30221 2544
1150 850 Se_Velha
Observe-se que neste exemplo as palavras FLOAT podiam ter sido omitidas, a indicação
do número de valores não requer uma mudança de linha, do mesmo modo que a
enumeração dos valores não obriga a que se coloquem em linhas separadas as linhas da
tabela que as variáveis definem.
268
Grelhas
Cada tipo de grelha é definido de forma específica. No entanto, o conjunto de
parâmetros indicado em cada caso identifica claramente o tipo de grelha que se descreve,
não sendo por isso necessário usar uma expressão diferente para apresentar cada um deles.
Os parâmetros que identificam cada tipo de grelha são os seguintes:
- grelhas cartesianas - o número de elementos segundo cada eixo. Se conveniente pode
juntar-se a origem, que por omissão corresponde à origem do referencial.
- grelhas regulares - o número de elementos segundo cada eixo e, para cada um deles, a
distância entre dois elementos consecutivos. Do mesmo modo que para as grelhas
regulares, é possível alterar a origem da grelha fixada por omissão na origem do referencial.
- grelhas estruturadas - o número de elementos segundo cada eixo e, para cada um deles,
a variável que define as coordenadas das posições da grelha.
- grelhas não estruturadas - as variáveis que definem as coordenadas das posições
segundo cada eixo e, eventualmente, as conexões entre os pontos da grelha.
Relativamente à ordem pela qual se indicam os parâmetros é apenas exigido que, nas
grelhas estruturadas, antes de identificar quais as variáveis que estão associadas às posições
segundo cada eixo, se assinale o número de elementos segundo cada eixo.
Não é necessário indicar explicitamente se a grelha é bidimensional ou tridimensional:
se for introduzida informação relativamente à coordenada zz, será criada uma grelha
tridimensional, caso contrário, a grelha será bidimensional.
As conexões das grelhas não estruturadas são definidas indicando o tipo de células
(triângulos, quadriláteros ou hexaedros), o número de células e os índices dos vértices
adjacentes de cada célula.
A definição da grelha começa com a expressão DEF_GRELHA, a que se segue o
identificador da grelha. Para indicar os parâmetros usam-se as seguintes construções:
- número de elementos segundo cada eixo: NX <número de elementos segundo xx> NY
<número de elementos segundo yy> NZ <número de elementos segundo zz>
- distância entre dois elementos consecutivos ao longo de cada eixo: DX <distância
segundo xx> DY <distância segundo yy> DZ <distância segundo zz>
- origem da grelha: OX < coordenada xx> OY < coordenada yy> OZ < coordenada zz>
269
- variáveis com as coordenadas das posições: POSX <variável correspondente à
coordenada xx> POSY <variável correspondente à coordenada yy> POSZ <variável
correspondente à coordenada zz>
- conexões: CONEC TIPO QUAD | TRI | HEXA NUM_ELEM <número de células>
<sequências de índices que constituem os vértices das células>
Como a definição de grelhas não tem sempre o mesmo conjunto de parâmetros, é
necessário assinalar explicitamente a sua conclusão com a expressão FIM_DEF.
Nos exemplos que se seguem assume-se que as variáveis referidas foram já definidas.
Exemplo 2
Definição de uma grelha cartesiana
DEF_GRELHA teste_cart
NX 10 NY 10
OX 170.0 OY 100.0
FIM_DEF
Exemplo 3
Definição de uma grelha regular
DEF_GRELHA teste_regular;
NX 5 NY 5
DX 20.0 DY 20.0
OX 50.0 OY 100.0
FIM_DEF
Exemplo 4
Definição de uma grelha estruturada
DEF_GRELHA teste_estr
NX 3 NY 3
POSX posxg POSY posyg
FIM_DEF
Exemplo 5
Definição de uma grelha não estruturada sem indicação de conexões.
DEF_GRELHA posicoesigrejas
POSX posxi POSY posyi
FIM_DEF
Exemplo 6
Definição de uma grelha não estruturada com indicação das conexões. A grelha forma
quatro células quadrangulares relativamente às quais se indicam os índices dos pontos que
270
constituem os vértices. Não é exigido que os índices de células distintas estejam em linhas
separadas.
DEF_GRELHA teste_nestr
POSX posxgn POSY posygn POSZ poszgn
CONEC TIPO QUAD NUM_ELEM 4
0341
1452
3674
4785
FIM_DEF
Grupos de informação
Há a distinguir os grupos de informação global e os grupos de informação geométrica.
Grupos de informação global
A definição de um grupo de informação global inicia-se com a expressão
DEF_GR_INFORM seguida do identificador do grupo, juntando-se, opcionalmente, a
palavra ON ou OFF para indicar se o grupo é, respectivamente, visível ou invisível na
interface (por omissão estes grupos são visíveis na interface). A linha termina com o
carácter ‘;’.
As componentes e atributos do grupo de informação são indicados com as construções
que se descrevem a seguir:
- lista de variáveis: expressão GR_VAR seguida da enumeração das variáveis a associar
ao grupo. Opcionalmente, antes do identificador de cada variável, pode indicar-se o seu
estado de visibilidade na interface com as palavras ON e OFF, com o significado já
explicado para anteriores utilizações.
- grelha: expressão GR_GRELHA, seguida do identificador da grelha.
- atributo importância a priori: expressão API, seguida do identificador da variável associada a este atributo.
- atributo cor para a coloração de superfícies: expressão VCOR, seguida do identificador
da variável a associar à cor.
- atributo relevo para a geração de superfícies tridimensionais: expressão ALT, seguida
do identificador da variável a associar ao relevo.
Qualquer uma destas construções termina com o carácter ‘;’.
271
Tal como acontece com a definição das grelhas, a definição do grupo de informação não
tem sempre o mesmo tipo de componentes. Basta apenas a indicação da grelha e da lista de
variáveis para constituir o grupo de informação, os atributos podem ser escolhidos
interactivamente. Por este motivo a descrição do grupo termina com a expressão FIM_DEF.
Exemplo 7
Grupo de informação global com três variáveis associadas, indicando-se apenas o
atributo importância a priori
DEF_GR_INFORM igrejas;
GR_VAR data_constr OFF lotacao nome_igreja;
GR_GRELHA posicoesigrejas;
API data_constr;
FIM_DEF
Exemplo 8
Grupo de informação global com uma variável associada e com indicação dos atributos
cor e relevo para a geração de uma superfície. Não será criada interface para este grupo na
zona de diálogo dos grupos de informação.
DEF_GR_INFORM teste_superf_regular OFF;
GR_VAR altura_reg;
GR_GRELHA teste_regular;
ALT altura_reg;
VCOR altura_reg;
FIM_DEF
Grupo de informação geométrica
Os grupos de informação geométrica são definidos de forma análoga aos grupos de
informação global. Neste caso a expressão a usar para definir o grupo é
DEF_GR_INFORM_GEOM, a que se segue o identificador do grupo e, opcionalmente, a
indicação sobre a visibilidade na interface. Por omissão, estes grupos, ao contrário dos
grupos de informação global, não são visíveis na interface. A linha termina também com
‘;’. As componentes e atributos dos grupos de informação geométrica são descritos usando
as construções explicadas acima e que se adequam a este tipo de grupos. Naturalmente que
algumas delas não têm sentido, como a indicação de grelha ou os atributos cor e relevo para
a geração de superfícies.
272
Exemplo 9
Grupo de informação geométrica visível na interface, bem como duas das suas variáveis.
As variáveis associadas ao grupo são usadas para definição de polilinhas e para ligar ao
atributo importância a priori.
DEF_GR_INFORM_GEOM background ON;
GR_VAR ON posxfi ON posyfi posxgr posygr posxte posyte api_geom ;
API api_geom;
FIM_DEF
Descrição do formato do ficheiro de dados na notação EBNF
Ficheiro de dados = {definição de variável}, {definição de grelha}, definição de grupo,
{definição de grupo};
definição de variável = ‘DEF_VAR’, variável-float | variável-string, { variável-float |
variável-string }, ‘NUM_VALORES’, número de valores, dados ;
variável-float = [tipo de variável float], nome de variável, [máximo-mínimo-variável] ;
variável-string = [tipo de variável string], nome de variável ;
tipo de variável float = ‘FLOAT’ | ‘FLOATOFF’ ;
tipo de variável string = ‘STRING’ | ‘STRINGOFF’ ;
máximo-mínimo-variável = ‘MAXMIN’, valor-float, valor-float ;
dados = (‘FICH’, nome de ficheiro, ‘;’) | (‘;’, tabela de valores) ;
tabela de valores = número de variáveis * valor *número de valores ;
valor = valor-float | valor-string ;
número de variáveis = valor-int ;
número de valores = valor-int ;
nome de variável = identificador ;
nome de ficheiro = identificador ;
273
definição de grelha= ‘DEF_GRELHA’, nome de grelha, (grelha cartesiana | grelha regular |
grelha estruturada | grelha não estruturada), ‘FIM_DEF’ ;
nome de grelha = identificador ;
grelha cartesiana = ‘NX’, valor-int, ‘NY’, valor-int, ‘OX’, valor-float, ‘OY’, valor-float;
grelha regular = ‘NX’, valor-int, ‘NY’, valor-int, ‘DX’, valor-float, ‘DY’, valor-float, ‘OX’,
valor-float, ‘OY’, valor-float;
grelha estruturada = ‘NX’, valor-int, ‘NY’, valor-int, ‘POSX’, nome de variável, ‘POSY’,
nome de variável ;
grelha não estruturada = ‘POSX’, nome de variável, ‘POSY’, nome de variável, definição
de conexões ;
definição de conexões = ‘CONEC’, ‘TIPO’, tipo de conexões, ‘NUM_ELEM’, numelem,
numelem * célula ;
tipo de conexões = ‘QUAD’ | ‘HEXA’ ;
célula = (4 * índice) | (6 * índice) ;
numelem = valor-int ;
índice = valor-int ;
definição de grupo = definição de grupo de informação global | definição de grupo de
informação geométrica
definição de grupo de informação global = ‘DEF_GR_INFORM’, nome de grupo [ ‘ON’ |
‘OFF’ ], ‘;’, variáveis do grupo de informação global, grelha do grupo, [ atributos de
grupo de informação global ], ‘FIM_DEF’ ;
nome de grupo = identificador ;
variáveis do grupo de informação global = ‘GR_VAR’, [ ‘ON’ | ‘OFF’ ], nome de variável,
{[ ‘ON’ | ‘OFF’ ], nome de variável}, ‘;’ ;
grelha do grupo = ‘GR_GRELHA’, nome de grelha, ‘;’ ;
atributos de grupo de informação global = [ ‘API’, nome de variável, ‘;’ ], [ ‘ALT’, nome
de variável, ‘;’ ], [ ‘VCOR’, nome de variável, ‘;’ ] ;
definição de grupo de informação geométrica = ‘DEF_GR_INFORM_GEOM’, nome de
grupo [ ‘ON’ | ‘OFF’ ], ‘;’, variáveis do grupo de informação geométrica, [ atributos
274
de grupo de informação geométrica ], ‘FIM_DEF’ ;
variáveis do grupo de informação geométrica = GR_VAR’, {[ ‘ON’ | ‘OFF’ ], nome de
variável}, ‘;’ ;
atributos de grupo de informação geométrica = ‘API’, nome de variável, ‘;’ ;
(* As seguintes regras são consideradas regras elementares e serão também utilizadas na
descrição dos formato dos ficheiros de mapificação e de valores por omissão *)
valor-float = dígito, {dígito}, ‘.’ dígito, {dígito};
valor-string = carácter, { carácter } ;
valor-int = dígito, {dígito} ;
identificador = carácter, (maxchars-1) * [carácter] ;
maxchars = 27 ;
dígito = ‘0’ | ‘1’ | ‘2’ | ‘3’ | ‘4’ | ‘5’ | ‘6’ | ‘7’ | ‘8’ | ‘9’ ;
letra = ‘a’ | ‘b’ | ‘c’ | ‘d’ | ‘e’ | ‘f’ | ‘g’ | ‘h’ | ‘i’ | ‘j’ | ‘k’ | ‘l’ | ‘m’ | ‘n’ | ‘o’ | ‘p’ | ‘q’ | ‘r’ | ‘s’
| ‘t’ | ‘u’ | ‘v’ | ‘w’ | ‘x’ | ‘y’ | ‘z’ | ‘A’ | ‘B’ | ‘C’ | D’ | ‘E’ | ‘F’ | ‘G’ | ‘H’ | ‘I’ | ‘J’ | ‘K’
| ‘L’ | ‘M’ | ‘N’ | ‘O’ | ‘P’ | ‘Q’ | ‘R’ | ‘S’ | ‘T’ | ‘U’ | ‘V’ | ‘W’ | ‘X’ | ‘Y’ | ‘Z’ ;
carácter especial = ‘!’ | ‘”’ | ‘#’ | ‘$’ | ‘%’ | ‘&’ | ‘/’ | ‘(‘ | ‘)’ | ‘?’ | ‘*’ | ‘+’ | ‘-‘ | ‘_’ | ‘;’ | ‘:’ |
’,’ | ‘.’ | ‘<’ | ‘>’ ;
carácter = letra | carácter especial ;
275
Anexo D – Formato do ficheiro de mapificações
O ficheiro de mapificações contém a descrição das representações a associar aos grupos
de informação global, bem como o conteúdo das listas de informação geométrica. Este
ficheiro pode incluir, além disso, a definição da janela no espaço de coordenadas do
utilizador e, opcionalmente, da janela no espaço de coordenadas dos símbolos se se
pretender alterar a janela fixada por omissão. Esta janela é inicializada no programa com
origem em (0.0, 0.0) e extremo oposto (500.0, 500.0). No ficheiro de valores por omissão
esta janela pode ser redefinida tendo em atenção o espaço onde os elementos da
representação por omissão estão definidos. Se houver definição da janela do espaço dos
símbolos no ficheiro de mapificações, a janela estabelecida por omissão é transformada
nesta nova janela e as coordenadas da representação por omissão sofrem a mesma
transformação.
Se a janela do espaço do utilizador não for definida no ficheiro de mapificações ela é
inicializada com o rectângulo que inclui as áreas das grelhas de todos os grupos de
informação global, excepto se apenas existirem grupos de informação geométrica, caso em
que a janela será um quadrado unitário com origem em (0.0, 0.0), pelo motivo apontado na
subsecção 5.4.3. A janela do utilizador é actualizada quando ocorrem ampliações, reduções,
panorâmicas e visualizações de conjunto.
Para definir a janela do espaço do utilizador é usada a expressão DEF_JANELA_UTIL
seguida das coordenadas xx e yy da origem da janela e das suas dimensões em xx e em yy.
A janela do espaço dos símbolos é definida de forma análoga, substituindo a expressão
inicial por DEF_JANELA_SIMB.
Neste ficheiro não é necessário distinguir os grupos de informação global dos grupos de
informação geométrica uma vez que a lista de informação geométrica é descrita de forma
análoga para os dois tipos de grupo. Os grupos são criados com a leitura do ficheiro de
dados que é anterior à leitura do ficheiro de mapificações. Através do identificador é feita a
pesquisa do grupo na lista de grupos de informação do gestor de dados. Se se tratar de um
grupo de informação global é possível a leitura dos dois tipos de listas, se se tratar de um
277
grupo de informação geométrica, apenas é tratada a leitura da lista de informação
geométrica.
Antes de descrever as listas identifica-se o grupo de informação a que estão ligadas
usando a expressão GR_INFORM seguida do identificador do grupo. Para assinalar o fim
da descrição das listas do grupo utiliza-se a expressão FIM_GR_INFORM.
Apesar de as listas de representações e de informação geométrica terem composições
análogas, quando se está a fazer a ligação da lista a um grupo de informação global é
necessário identificar qual o tipo de lista que se está a descrever.
A lista de representações começa com a expressão LISTA_REPR e a lista de informação
geométrica com LISTA_GEOM. Em qualquer um dos casos, indica-se a seguir o número
de representações que constituem a lista através da expressão NUM_REPR seguida de um
inteiro. Posteriormente descreve-se cada uma das representações.
A descrição de uma representação é constituída por:
- um identificador: ID_REPR <inteiro>
- o factor de escala mínimo para o qual a representação é inteligível: ESC_MIN <valor
numérico>
- opcionalmente, o factor de escala máximo para a qual a representação tem sentido:
ESC_MAX <valor numérico>
- número de primitivas gráficas: NUM_PRIM_GRAF <inteiro>
- enumeração das primitivas gráficas e dos seus parâmetros.
De momento apenas estão definidas três primitivas gráficas: carácter, elipse e polilinha.
Relativamente aos parâmetros de cada uma das primitivas é necessário indicar em que
sistema de coordenadas estão definidos e, além disso, se o seu valor é dado explicitamente
no ficheiro ou se é obtido à custa do valor de uma variável. Como já foi referido na
subsecção 5.2.5, há a considerar os seguintes tipos de parâmetros: simbólico (SIMB),
utilizador (UTIL), coordenada da grelha (COMP_GRELHA) e variável (VARIAVEL). Um
parâmetro do tipo SIMB é dado em coordenadas simbólicas e o seu valor é explicitamente
indicado. Normalmente este tipo está associado a parâmetros relacionados com dimensões,
mas não se impede a sua utilização em parâmetros relativos a posições. Aliás, se se
pretender manter um elemento gráfico na mesma posição da imagem, como a janela do
espaço dos símbolos não é actualizada pode usar-se este espaço para definir esse elemento.
278
Para os restantes tipos, o valor é definido no espaço de coordenadas do utilizador. Se for do
tipo UTIL, o valor é dado explicitamente. Se for do tipo COMP_GRELHA, designa-se a
coordenada da grelha que define o valor usando as expressões GRIDPOSX, GRIDPOSY e
GRIDPOSZ para designar, respectivamente, a coordenada xx, yy e zz. Se for do tipo
VARIAVEL, identifica-se a variável do grupo de informação que determina o valor, e além
disso, se o parâmetro corresponder a uma dimensão, é necessário indicar, por esta ordem, as
dimensões máxima e mínima que o parâmetro pode tomar, expressas em coordenadas do
espaço dos símbolos, como foi explicado na subsecção 5.2.5. A dimensão máxima é
indicada após a expressão MAXVAL e a dimensão mínima após MINVAL.
O atributo cor pode ser associado a qualquer das primitivas gráficas. Há duas formas
distintas de o fazer. A primeira consiste em associar uma variável do grupo de informação
para determinar a cor de acordo com o seu valor em cada ponto da grelha, usando o mapa
de cores activo para aplicar os valores numa cor. Tal como acontece com as superfícies, é
possível tornar corrente um outro mapa já existente ou criar um novo mapa de cores, bem
como ajustar o domínio da variável que é aplicado em cor. Para escolher esta forma de
coloração usa-se a expressão
COR VARIAVEL <nome da variável>
A segunda forma de colorir uma primitiva gráfica consiste em indicar uma string que
corresponda a uma cor válida para a biblioteca gráfica X [XlibRefMan]. Para atribuir a cor
à primitiva gráfica utiliza-se a expressão
COR UTIL <identificador da cor>
A associação de cor é opcional, por isso se não for indicada a cor da primitiva, ela é
desenhada a preto. Contudo, no caso de se atribuir cor, este deverá ser o primeiro parâmetro
a indicar na descrição da primitiva gráfica.
Para descrever uma primitiva gráfica, escreve-se a expressão que a identifica seguida
dos seus parâmetros. Assim, a primitiva carácter é identificada pela expressão LETRA e
tem como parâmetros obrigatórios duas componentes para a posição e o carácter usado. O
carácter pode ser dado explicitamente ou indicando uma variável do tipo string e o índice
da posição em que se encontra o carácter a escrever. No exemplo 1 é colocada a letra M em
todos os pontos da grelha e no exemplo 2 é usada a cor amarela para desenhar em todos os
pontos da grelha o carácter que se encontra na posição 11 da string correspondente ao
279
ponto da grelha na variável nome_estad.
Exemplo 1
LETRA
COMP_GRELHA GRIDPOSX
COMP_GRELHA GRIDPOSY
UTIL M
Exemplo 2
LETRA
COR UTIL yellow
COMP_GRELHA GRIDPOSX
COMP_GRELHA GRIDPOSY
VARIAVEL nome_estad 11
A primitiva gráfica elipse é identificada pela expressão ELIPSE e tem como parâmetros
obrigatórios, indicados por esta ordem, a posição de intersecção dos dois eixos e as
dimensões dos eixos segundo xx e yy. No exemplo 3 define-se uma elipse que em cada
ponto da grelha tem uma cor que depende do valor da variável dimensao nesse ponto da
grelha, a intersecção dos dois eixos está localizada sobre o ponto da grelha, o eixo segundo
xx tem dimensão 20 em coordenadas simbólicas e o eixo segundo yy tem dimensão 30
também em coordenadas simbólicas. No exemplo 4 descreve-se uma elipse que em cada
ponto da grelha tem a intersecção dos eixos localizada sobre o ponto da grelha e em que a
dimensão dos eixos segundo xx e yy depende do valor da variável dimensao, podendo as
dimensões variar entre 60 e 20, relativamente ao primeiro eixo, e entre 80 e 40,
relativamente ao segundo.
Exemplo 3
ELIPSE
COR VARIAVEL dimensao
COMP_GRELHA GRIDPOSX
COMP_GRELHA GRIDPOSY
SIMB 20.0
SIMB 30.0
Exemplo 4
ELIPSE
COMP_GRELHA GRIDPOSX
COMP_GRELHA GRIDPOSY
VARIAVEL dimensao MAXVAL 60.0 MINVAL 20.0
VARIAVEL dimensao MAXVAL 80.0 MINVAL 40.0
A descrição de polilinhas inicia-se com a expressão POLYLINE. Seguem-se: a
280
expressão POSX, seguida das coordenadas segundo xx dos vértices da polilinha; a
expressão POSY, seguida das coordenadas segundo yy e, finalmente, a expressão INDICES
seguida da enumeração sequencial dos índices dos pontos a ligar, assinalando-se descontinuidades no desenho com o índice –1. As coordenadas dos pontos são fornecidas, quer por
designação de variáveis ou componentes da grelha, quer por enumeração sequencial dos
seus valores. No segundo caso, a sequência é enquadrada por parêntesis rectos ficando os
valores separados por espaços ou mudanças de linha. É necessário colocar um espaço em
branco após o parêntesis inicial e antes do parêntesis final. A enumeração dos índices é
feita do mesmo modo. Quando as coordenadas são indicadas por enumeração deve
indicar-se se estão definidas no espaço dos símbolos ou no espaço do utilizador. O exemplo
5 descreve uma polilinha em que as coordenadas são definidas à custa de variáveis. No
exemplo 6 as coordenadas são indicadas explicitamente.
Exemplo 5
POLYLINE
POSX VARIAVEL posxfi
POSY VARIAVEL posyfi
INDICES [ 0 1 2 3 4 5 6 -1 7 8 9 10 11 -1 12 13 14 15 ]
Exemplo 6
POLYLINE
POSX SIMB [ 0.0 100.0 200.0 300.0 400.0 500.0 ]
POSY SIMB [ 0.0 10.0 0 10.0 0.0 10.0 ]
INDICES [ 0 1 2 3 4 5 ]
Para finalizar, o exemplo 7 corresponde a um ficheiro de mapificações com informação
sobre dois grupos, o primeiro com lista de representações e lista de informação geométrica
e o segundo apenas com lista de informação geométrica. São também definidas janelas para
os espaços do utilizador e dos símbolos.
Exemplo 7
GR_INFORM teste
LISTA_REPR
NUM_REPR 2
ID_REPR 1
ESC_MIN 0.001
NUM_PRIM_GRAF 1
LETRA
COMP_GRELHA GRIDPOSX
281
COMP_GRELHA GRIDPOSY
UTIL T
ID_REPR 2
ESC_MIN 0.012
NUM_PRIM_GRAF 2
LETRA
COMP_GRELHA GRIDPOSX
COMP_GRELHA GRIDPOSY
UTIL T
ELIPSE
COMP_GRELHA GRIDPOSX
COMP_GRELHA GRIDPOSY
SIMB 20.0
SIMB 30.0
LISTA_GEOM
NUM_REPR 1
ID_REPR 1
ESC_MIN 0.001
NUM_PRIM_GRAF 1
POLYLINE
POSX SIMB [ 0.0 100.0 200.0 300.0 400.0 500.0 ]
POSY SIMB [ 0.0 10.0 0.0 10.0 0.0 10.0 ]
INDICES [ 0 1 2 3 4 5 ]
FIM_GR_INFORM
GR_INFORM background
LISTA_GEOM
NUM_REPR 3
ID_REPR 1
ESC_MIN 0.001
NUM_PRIM_GRAF 1
POLYLINE
POSX VARIAVEL posxfi;
POSY VARIAVEL posyfi;
INDICES [ 0 1 2 3 4 5 6 -1 7 8 9 10 11 -1 12 13 14 15 ]
ID_REPR 2
ESC_MIN 0.001
ESC_MAX 0.01
NUM_PRIM_GRAF 1
POLYLINE
POSX VARIAVEL posxgr;
POSY VARIAVEL posygr;
INDICES [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ]
ID_REPR 3
282
ESC_MIN 0.001
NUM_PRIM_GRAF 1
POLYLINE
POSX VARIAVEL posxte;
POSY VARIAVEL posyte;
INDICES [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ]
FIM_GR_INFORM
DEF_JANELA_UTIL 12406.0 489.0 35600.0 17761.0
DEF_JANELA_SIMB 0.0 0.0 500.0 500.0
Descrição formato do ficheiro de mapificações na notação EBNF
(* São usadas as regras elementares definidas na descrição do ficheiro de dados *)
Ficheiro de mapificações = {representações de um grupo}, {janela do espaço do
utilizador}, {janela do espaço dos símbolos} ;
representações de um grupo = representações de um grupo de informação global |
representações de um grupo de informação geométrica ;
representações de um grupo de informação global = ‘GR_INFORM’, nome do grupo, lista
de representações, {lista de informação geométrica}, ‘FIM_GR_INFORM’ ;
representações de um grupo de informação geométrica = ‘GR_INFORM’, nome do grupo,
lista de informação geométrica, ‘FIM_GR_INFORM’ ;
lista de representações = ‘LISTA_REPR’, ‘NUM_REPR’, número de representações,
número de representações * representação ;
representação = ‘ID_REP’, identificador da representação, ‘ESC_MIN’, valor-float,
[ ’ESC_MAX’, valor-float ], ‘NUM_PRIM_GRAF’, número de primitivas gráficas
da representação, número de primitivas gráficas da representação * primitiva gráfica ;
primitiva gráfica = elipse | char | polilinha ;
elipse = ‘ELIPSE’, [ ‘COR’, tipo cor ], posiçãox intersecção eixos, posiçãoy intersecção
eixos, dimensão eixox, dimensão eixoy ;
posiçãox intersecção eixos = tipo posição ;
posiçãoy intersecção eixos = tipo posição ;
dimensão eixox = tipo dimensão ;
283
dimensão eixoy = tipo dimensão ;
tipo posição = (‘SIMB’, valor-float) | (‘UTIL’, valor-float) | (‘COMP_GRELHA’,
componente da grelha) | (‘VARIAVEL’, nome de variável) ;
tipo dimensão = (‘SIMB’, valor-float) | (‘UTIL’, valor-float) | (‘COMP_GRELHA’,
componente da grelha) | (‘VARIAVEL’, nome de variável, ‘MAXVAL’, valor-float,
‘MINVAL’, valor-float) ;
componente da grelha = ‘GRIDPOSX’ | ‘GRIDPOSY’ | ‘GRIDPOSZ’ ;
tipo cor = (‘VARIAVEL’, nome de variável) | (‘UTIL’, nome cor) ;
nome de variável = identificador ;
nome cor = identificador;
char = ‘LETRA’, [ ‘COR’, tipo cor ], posiçãox, posiçãoy, (‘UTIL’, carácter) |
(‘VARIAVEL’, nome de variável, índice da string) ;
posiçãox = tipo posição ;
posiçãoy = tipo posição ;
índice da string = valor-int ;
polilinha = ‘POLYLINE’, ‘POSX’, coordenadas, ‘POSY’, coordenadas, ‘INDICES’,
índices ;
coordenadas = (‘SIMB’, enumeração) | (‘UTIL’, enumeração) | (‘COMP_GRELHA’,
componente da grelha) | (‘VARIAVEL’, nome de variável) ;
enumeração = ‘[’, ‘ ‘, número de pontos * coordenada, ‘ ‘, ‘]’ ;
número de pontos = valor-int ;
coordenada = valor-float ;
índices = ‘[’, ‘ ‘, {índice, ‘ ‘}, {interrupção}, {índice, ‘ ‘}, ‘ ‘, ‘]’ ;
índice = valor-int ;
interrupção = ‘-1’ ;
janela do espaço do utilizador = ‘DEF_JANELA_UTIL’, origemx, origemy, dimensãox,
dimensãoy ;
janela do espaço dos símbolos = ‘DEF_JANELA_SIMB’, origemx, origemy, dimensãox,
dimensãoy ;
284
origemx = valor-float ;
origemy = valor-float ;
dimensãox = valor-float ;
dimensãoy = valor-float ;
285
Anexo E – Formato do ficheiro de valores por omissão
O ficheiro de valores por omissão contém os valores a atribuir como valores iniciais a
algumas das estruturas. Este ficheiro tem o identificador fich_defaults e pode ser editado
para alterar os valores iniciais.
O ficheiro contém uma lista de representações apenas com uma representação: um
círculo com centro nos pontos da grelha e raio 5.0. A janela do espaço dos símbolos é
definida com origem em (0.0, 0.0) e dimensão 500 em cada um dos eixos. Para a descrição
da lista de representações e da janela dos símbolos é usado o formato indicado para o
ficheiro de mapificações. Note-se, no entanto, que neste ficheiro a lista de representações
não está ligada a nenhum grupo de informação.
As outras características que podem ser estabelecidas neste ficheiro são:
- texto da interface: é possível apresentar este texto em português ou inglês. Usando a
expressão TEXTO_PORT seguido de 1, a interface será em português, para outro valor
inteiro a interface será em inglês. No programa o valor inicial do campo que guarda esta
informação corresponde ao texto em inglês.
- número máximo de níveis de interesse: fixa-se este valor utilizando a expressão
NUM_MAX_NIVEIS seguida de um inteiro.
Descrição do formato do ficheiro de valores por omissão na notação EBNF
Ficheiro de valores por omissão = representações de um grupo, janela do espaço dos
símbolos, {língua para texto da interface}, {número máximo de níveis de interesse} ;
língua para texto da interface = ‘TEXTO_PORT’, ‘1’ | ‘0’ ;
(* 1 – português, 0 – inglês *)
número máximo de níveis de interesse = ‘NUM_MAX_NIVEIS’, valor-int ;
(* as regras de representações de um grupo e de janela do espaço dos símbolos estão
definidas na descrição do formato do ficheiro de mapificações, e a de valor-int encontra-se
na descrição do formato do ficheiro de dados *)
287
Glossário
Neste glossário listam-se os conceitos básicos utilizados neste documento, indicando-se
a secção onde são descritos. No final juntam-se as traduções utilizadas para os termos
ingleses referidos. Traduziram-se para português apenas os termos relativos às técnicas de
visualização e interacção mais conhecidas ou aqueles para as quais há uma tradução
imediata. Nos restantes casos manteve-se a designação em inglês porque a sua identificação
será mais fácil desse modo. Na primeira utilização da tradução no texto junta-se entre
parêntesis a expressão original. Para os termos incluídos na norma ISO2382-13,
seguiram-se as traduções apresentadas pela Comissão Técnica de Normalização na área da
Computação Gráfica, CT 109 [ISO2382-13]. Estes termos encontram-se assinalados, bem
como aqueles que correspondem a traduções adoptadas por outros autores.
Área de representação – na pirâmide truncada compreende a zona de interesse e a zona de
contexto associada. Se houver apenas uma zona de interesse a área de representação
corresponde à área de desenho (subsecção 4.3.1.1).
Dados multidimensionais ou n-dimensionais (multidimensional ou n-dimensional data) –
dados definidos num espaço euclidiano de n dimensões, em que a posição de um
ponto é definida por n coordenadas (subsecção 2.1.3)
Dados multivariados ou multivariável (multivariate ou multivariable data) – dados
relativos a várias variáveis (subsecção 2.1.3)
Espaço de coordenadas dos símbolos – espaço de coordenadas para definição de
representações gráficas independente do espaço de coordenadas do utilizador.
Factor de escala de representação – menor dos factores de escala (em xx ou em yy) que,
na transformação janela-enquadramento, aplicam os lados da janela do espaço de
coordenadas do utilizador nos lados do enquadramento, definido no espaço de
coordenadas da estação gráfica. Quando não houver perigo de confusão usar-se-á
simplesmente a expressão factor de escala (subsecção 4.1.4).
Função de adaptação do domínio da cor – função que converte o domínio de uma
variável no intervalo fixado previamente como domínio de variação dos valores a
aplicar em cor (subsecção 5.2.6).
Função relevo – função que converte os valores de uma variável conhecida sobre um plano
em deslocamentos relativamente a esse plano (subsecção 5.2.6).
289
Grelha – Conjunto de pontos e respectivas conexões no espaço 2D ou 3D (subsecção 4.1.2)
Grupo de informação – estrutura que combina valores numéricos e/ou textuais com uma
ou mais representações gráficas e respectiva referência espacial. Pode incluir
informação abstracta e geométrica (introdução do capítulo 4 e secção 4.1).
Grupo de informação geométrica – grupo de informação que trata apenas informação
geométrica (secção 4.1).
Grupo de informação global – grupo de informação que trata informação geométrica e
abstracta (secção 4.1).
Grupo derivado – cópia parcial de um grupo de informação global de modo a permitir a
disjunção de restrições de domínios de variáveis dentro do grupo (subsecção 4.3.2.3).
Ícone (icon ou glyph) – representação visual cujos atributos gráficos e geométricos
reflectem os valores do elemento de informação que representam (subsecção 2.1.2)
Lista de informação geométrica – lista que guarda as representações associadas à
informação geométrica de um grupo (subsecção 4.1.4).
Lista de representações – lista que guarda as representações a utilizar na visualização dos
elementos de um grupo de informação global (subsecção 4.1.4).
Mapificação (Visualization mapping) – Aplicação entre o domínio dos objectos físicos ou
abstractos e o domínio das representações gráficas (introdução do capítulo 2).
Níveis de interesse – subintervalos do contradomínio da função de grau de interesse
criados para permitir desenhar a informação passo a passo por ordem decrescente do
interesse do utilizador (subsecção 4.3.2.4).
Razão de aspecto de uma área rectangular – razão entre a largura e a altura do
rectângulo, isto é, o quociente (xmax-xmin) / (ymax-ymin) (secção 5.3). Contudo, são
referidos trabalhos onde se considera a razão de aspecto como o maior dos quocientes
altura/largura e largura/altura (subsecção 2.1.4).
Razão de informação relevante – quantidade de informação relevante / quantidade de
informação representada (subsecção 4.2.1).
Razão de tinta dos dados (data-ink ratio) – quantidade de tinta dos dados / quantidade
total de tinta [Tufte83] (subsecção 4.2.1).
Variável – sequência de valores numéricos ou textuais (strings) (subsecção 4.1.1)
290
Glossário Inglês Português
Termo inglês
Tradução portuguesa
Anti-aliasing
Anti-efeito de escada2
Bounding box
Caixa envolvente
Browser
Explorador de sistemas hipermédia
Client-side visualization
Visualização do lado do cliente
Cone tree
Árvore de cones
Convex hull
Polígono convexo envolvente
Critical zone
Zona crítica
Data table
Tabela de dados
Data type by task taxonomy
Taxonomia de tipos de dados por tarefas
Degree of interest function
Função grau de interesse
Details-on-demand
Detalhes a pedido
Display area
Área de representação
Dynamic queries
Consultas dinâmicas
Effectiveness
Eficácia
Expressiveness
Expressividade
Feedback
Retorno1
Fisheye lens
Lente olho de peixe
Fisheye view
Vista olho de peixe
Fractal value
Valor fractal
Geometric zoom
Ampliações/reduções geométricas
Graph drawing
Desenho de grafos
Graph visualization
Visualização de grafos
Graphical zoom
Ampliações/reduções gráficas
Hierarchical clustering
Agrupamento hierárquico
Hyperbolic space
Espaço hiperbólico
Hyperlink
Hiperligação
291
Termo inglês
Tradução portuguesa
Icon ou glyph
Ícone
Information landscape
Paisagem de informação
Intelligent zoom
Ampliações/reduções inteligentes
Layer
Nível
Layout
Disposição no espaço
Link
Ligação
Local detail and global context
Detalhe local e o contexto global
Magic lens
Lentes mágicas
Magicsphere
Esfera mágica
Magnification field
Campo de magnificação
Magnification function
Função de magnificação
Mapping function
Função de transformação
Metadata
Meta-informação
Model-centered approach
Aproximação centrada no modelo
Multidimensional
Multidimensional
Multiscale residue
Resíduo multiescala
Multivariable
Multivariável
Multivariate
Multivariados
N-dimensional
N-dimensional
Orthogonal stretching
Alongamento ortogonal
Overview
Visão de conjunto
Panning
Panorâmica2
Perspective wall
Parede em perspectiva
Piecewise continuous
Contínuo por troços
Polygonal stretching
Alongamento poligonal
Pyramidal structure
Estrutura em pirâmide
Query area
Área de consulta
Raw data
Dados não tratados
Residue
Resíduo
Ribbon
Fita
Scatterplot
Nuvem de pontos
292
Termo inglês
Tradução portuguesa
Scatterplot matrix
Matriz de nuvem de pontos
Scene graph
Grafo da cena
Scent
Pista
Scrollbar
Barra de deslocamento2
Semantic zoom
Ampliação/redução semântica
Server-side visualization
Visualização do lado do servidor
Site
Sítio
Slider
Deslizador3
Space-scale diagram
Diagrama espaço-escala
Spanning tree
Árvore de suporte
Spring model
Modelo de molas
Toggle button
Botão comutador
Transformation function
Função de transformação
Value bar
Barra de valores
View transformation
Transformação de visualização
Viewport
Enquadramento4
Visualization area
Área de visualização
Visualization mapping
Mapificação5
Volume rendering
Visualização em volume
Workspace
Espaço de trabalho
Zoom
Ampliação/redução ou Operação de variação
de escala
Zoomable user interface
Interface com operações de variação de
escala
293
Glossário Português Inglês
Tradução portuguesa
Termo inglês
Agrupamento hierárquico
Hierarchical clustering
Alongamento ortogonal
Orthogonal stretching
Alongamento poligonal
Polygonal stretching
Ampliação/redução ou Operação de variação de Zoom
escala
Ampliação/redução semântica
Semantic zoom
Ampliações/reduções geométricas
Geometric zoom
Ampliações/reduções gráficas
Graphical zoom
Ampliações/reduções inteligentes
Intelligent zoom
Anti-efeito de escada2
Anti-aliasing
Aproximação centrada no modelo
Model-centered approach
Área de consulta
Query area
Área de representação
Display area
Área de visualização
Visualization area
Árvore de cones
Cone tree
Árvore de suporte
Spanning tree
2
Barra de deslocamento
Scrollbar
Barra de valores
Value bar
Botão comutador
Toggle button
Caixa envolvente
Bounding box
Campo de magnificação
Magnification field
Consultas dinâmicas
Dynamic queries
Contínuo por troços
Piecewise continuous
Dados não tratados
Raw data
Desenho de grafos
Graph drawing
Deslizador3
Slider
294
Tradução portuguesa
Termo inglês
Detalhe local e o contexto global
Local detail and global context
Detalhes a pedido
Details-on-demand
Diagrama espaço-escala
Space-scale diagram
Disposição no espaço
Layout
Eficácia
Effectiveness
4
Enquadramento
Viewport
Esfera mágica
Magicsphere
Espaço de trabalho
Workspace
Espaço hiperbólico
Hyperbolic space
Estrutura em pirâmide
Pyramidal structure
Explorador de sistemas hipermédia
Browser
Expressividade
Expressiveness
Fita
Ribbon
Função de magnificação
Magnification function
Função de transformação
Mapping function
Função de transformação
Transformation function
Função grau de interesse
Degree of interest function
Grafo da cena
Scene graph
Hiperligação
Hyperlink
Ícone
Icon ou glyph
Interface com operações de variação de escala
Zoomable user interface
Lente olho de peixe
Fisheye lens
Lentes mágicas
Magic lens
Ligação
Link
5
Mapificação
Visualization mapping
Matriz de nuvem de pontos
Scatterplot matrix
Meta-informação
Metadata
Modelo de molas
Spring model
Multidimensional
Multidimensional
Multivariados
Multivariate
Multivariável
Multivariable
295
Tradução portuguesa
Termo inglês
N-dimensional
N-dimensional
Nível
Layer
Nuvem de pontos
Scatterplot
Paisagem de informação
Information landscape
2
Panorâmica
Panning
Parede em perspectiva
Perspective wall
Pista
Scent
Polígono convexo envolvente
Convex hull
Resíduo
Residue
Resíduo multiescala
Multiscale residue
Retorno1
Feedback
Sítio
Site
Tabela de dados
Data table
Taxonomia de tipos de dados por tarefas
Data type by task taxonomy
Transformação de visualização
View transformation
Valor fractal
Fractal value
Visão de conjunto
Overview
Vista olho de peixe
Fisheye view
Visualização de grafos
Graph visualization
Visualização do lado do cliente
Client-side visualization
Visualização do lado do servidor
Server-side visualization
Visualização em volume
Volume rendering
Zona crítica
Critical zone
1
[Carriço99]
[ISO2382/13]
3
[Gomes91]
4
Tradução de [Plastock91]
5
[Cunha91]
2
296
Referências
[Ahlberg92] Ahlberg, C., Williamson, C., Shneiderman, B., Dynamic Queries for
Information Exploration: an implementation and evaluation, Proceedings CHI ´92,
Maio 1992
[Ahlberg94a] Ahlberg, C., Shneiderman, B., The Alphaslider: a compact and rapid
selector, Proceedings CHI '94, 1994
[Ahlberg94b] Ahlberg, C., Shneiderman, B., Visual information seeking: tight coupling of
dynamic query filters with starfield displays, Proceedings CHI '94, 1994
[Ahlberg95] Ahlberg, C., Wistrand, E., IVEE: An Information Visualization & Exploration
Environment, Proceedings Visualization Information '95, IEEE Computer Society
Press, Atlanta, 1995
[Ahlberg96] Ahlberg, C., Cocktailmaps: A Space-filling Visualization Method for
Complex Communicating Systems, Proceedings of the Workshop on Advanced
Visual Interfaces AVI ’96, Catarci,T., Costabile, M.F., Levialdi, S., Santucci, G.,
(eds), Maio 1996
[Alpern91] Alpern, B., Carter, L., The Hyperbox, Proceedings IEEE Visualization 1991,
pp 133-139, 1991
[Andrade94] Andrade, G., Avaliação de Estratégias Algorítmicas na Visualização de
Campos Tridimensionais Multivariável, Dissertação de mestrado da UNL/FCTL,
1994
[Andrews95] Andrews, K., Case Study: Visualizing Cyberspace: Information Visualisation
in the Harmony Internet Browser, Proceedings Visualization Information '95, IEEE
Computer Society Press, Atlanta, 1995
[Andrews97] Andrews, K., Wolte, J., Pichler, M., Information Pyramids: A New Approach
to Visualising Large Hierarchies, Late Breaking Hot Topics, IEEE Symposium on
Information Visualization - InfoVis’97, Arizona, Out. 1997
[Andrews98] Andrews, K., Heidegger, H., Information Slices: Visualising and Exploring
Large Hierarchies using Cascading Semi-Circular Discs, Late Breaking Hot Topic
Paper, Proceedings 1998 IEEE Symposium on Information Visualization,
(InfoVis’98), North Carolina, 19-20 Out. 1998
[Andrews02] Andrews, K., Visual Exploration of Large Hierarchies with Information
Pyramids, Proceedings of the 6th International Conference on Information
Visualization, IEEE Computer Society Press, pp 793-798, London, England, 10-12
Jul. 2002
297
[Antis96] Antis, J. M., Eick, S. G., Pyrce, J. D., Visualizing the Structure of Large
Relational Databases, IEEE Software, Jan. 1996
[Aronoff91] Aronoff, S., Geographic Information Systems: a Management Perspective,
WDL Publications, 1991
[Baker94] Baker, M. J., Eick, S. G., Space-Filling Software Visualization, Journal of
Visual Languages and Computing, 6, pp 119-133, 1995, e relatório técnico de AT&T
Bell Laboratories, Agosto 1994
[Ballard81] Ballard, D. H., Strip Trees: a Hierarchical Representation for Curves,
Communications of ACM, vol. 14, nº5, Maio 1981
[Bartram94] Bartram, L., Ovans, R., Dill, J.,Dyck, M., Ho, A., Havens, W., Contextual
Assistance in User Interfaces to Complex, Time-Critical Systems: The Intelligent
Zoom, Proceedings Graphics Interface '94, Banff, Alberta ,18-20 Maio 1994
[Bartram95] Bartram, L., Ho, A., Dill, J., Henigman, F., The Continuous Zoom: A
Constrained Fisheye Technique for Viewing and Navigating Large Information
Spaces, Proceedings UIST'95, ACM Press, 14-17 Nov. 1995
[Beaudoin96] Beaudoin, L., Parent, M.-A., Vroomen, L. C., Cheops: A Compact Explorer
for Complex Hierarchies, Proceedings Visualization´96, pp 87-92, San Francisco,
California, Out. 1996
[Beddow90] Beddow, J., Shape Coding of Multidimensional Data on a Microcomputer
Display, Proceedings of the first IEEE Conference on Visualization, Visualization
'90, 1990
[Bederson94] Bederson, B. B., Hollan, J. D., Pad++: A Zooming Graphical Interface for
Exploring Alternate Interface Physics, Proceedings UIST'94, ACM Press, 1994
[Bederson00a] Bederson, B., Meyer, J , Good, L., Jazz: an Extensible Zoomable User
Interface Graphics Toolkit in Java, Proceedings of UIST ´00, ACM Press, S. Diego,
USA, Nov. 2000
[Bederson00b] Bederson, B. B., Fisheye menus, Proceedings of UIST ´00, ACM Press, S.
Diego, USA, Nov. 2000
[Bender00] Bender, M., Klein, R., Disch, A., Ebert, A., A Functional Framework for Webbased Information Visualization Systems, IEEE Transactions on Visualization and
Computer Graphics, vol. 6, nº1, Jan./Março 2000
[Bergeron89] Bergeron, R. D., Grinstein, G. G., A Reference Model for the Visualization
of Multi-dimensional Data, Proceedings EUROGRAPHICS '89, pp 393-399, 1989
[Beshers93] Beshers, C., Feiner, S., AutoVisual: Rule-Based Design of Interactive
Multivariate Visualizations, IEEE Computer Graphics and Applications, vol. 13, nº
4, Jul. 93
[Beshers94] Beshers, C. G., Feiner, S.K., Automated Design of Data Visualizations,
Scientific Visualization - Advances and Challenges, Academic Press, 1994
298
[Bier93] Bier, E., Stone, M., Pier, K., Buxton, W., DeRose, T., Toolglass and Magic
Lenses: The See-Through Interface, Computer Graphics Procedings, 1993
[Bier94] Bier, E. A., Stone, M.,Fishkin, K., Buxton, W., Baudel, T., A Taxonomy of SeeThrough Tools, Proceedings ACM CHI '94, Boston, Abr. 1994
[Boyle93] Boyle, J., Eick, S., Hemmje, M., Keim, D., Lee, J. P., Sumner, E., Database
Issues for Data Visualization: Interaction, User Interfaces, and Presentation,
Proceedings Database Issues for Data Visualization ‘93, Lee, J.P., Grinstein, G.G.
(eds), 1993
[Booch94] Booch, G., Object-Oriented Analysis and Design with Applications, 2ª edição,
The Benjamin/Cummings Publishing Company, Inc., 1994
[Bray96] Bray, T., Measuring the Web, Computer Networks and ISDN Systems, 1996
[Brodlie93] Brodlie, K., A Classification Scheme for Scientific Visualization, Animation
and Scientific Visualization, Tools & Applications, Earnshaw, R.A., Watson, D.,
(eds) Academic Press, 1993
[Brodlie98] Brodlie, K. W., Duce, D.A., Gallop, J. R., Wood, J. D., Distributed
Cooperative Visualization, State of the Art Reports, Eurographics’98, Sousa, A.A.,
Hopgood, B. (eds), 1998
[Bruls00] Bruls, M., Huizing, K., Wijk, J., Squarified Treemaps, Proceedings of
VisSym’00, Amsterdam, 29-31 Maio 2000
[Campo97] Campo, M., Orosco, R., Teyseyre, A., Automatic Abstraction Management in
Information Visualization Systems, Proceedings 1997 IEEE Conference on
Information Visualization - IV'97, London, England, 27-29 Ag. 1997
[Card91] Card, S. K.,Robertson, G. G., Mackinlay, J. D., The Information Visualizer, an
Information Workspace, Proceedings of CHI´91, 1991
[Card95] Card, S. K., Information Visualization: Wings for the Mind, Proceedings
Visualization Information '95, IEEE Computer Society Press, Atlanta, 1995
[Card96] Card, S. K., Robertson, G. G., York, W., The WebBook and the Web Forager:
An Information Workspace for the World-Wide Web, Proceedings CHI'96, Abr. 1318, Vancouver, 1996
[Card97] Card, S. K., Mackinlay, J., The Structure of the Information Visualization Design
Space, Proceedings IEEE Symposium on Information Visualization - InfoVis’97,
Dill, J., Gershon, N., (eds) , Arizona, October, 1997
[Card99] Card, S. K., Mackinlay, J. D., Shneiderman, B., Readings in Information
Visualization Using Vision to Think, Morgan Kaufmann Publishers, Inc. 1999
[Carlis98] Carlis, J. V., Konstan, J. A., Interactive Visualization of Serial Periodic Data,
Proceedings of UIST ´98, ACM Press, S. Francisco, USA, Nov. 1998
[Carmo97] Carmo, M. B., Cunha, J. D., Visualization of Large Volumes of Information
Using Different Representations, Proceedings 1997 IEEE Conference on Information
Visualization - IV'97, London, England, 27-29 Ag. 1997
299
[Carmo98] Carmo, M. B., Cunha, J. D., Filtragem e Escolha de Informação na
Visualização de Informação, Actas do 8º Encontro Português de Computação
Gráfica, Coimbra, Fev. 1998
[Carmo99a] Carmo, M. B., Cunha, J. D., Cláudio, A. P., Visualization of geometrical and
non-geometrical data, Proceedings WSCG’99, pp34-46, Plzen, República Checa,
Mar. 1999
[Carmo99b] Carmo, M. B., Cunha, J. D., Cláudio, A. P., Filtering mechanisms for the
visualization of non-geometrical and geometrical data, Short Papers and Demos,
Eurographics ’99, Alberti, M.A., Gallo, G., Jelinek, I. (eds), pp 213-215, Milano, 711 Set. 1999
[Carmo02] Carmo, M. B, Cunha, J. D., Cláudio, A.P., IVPrototype – an Information
Visualization Prototype, Proceedings of the 6th International Conference on
Information Visualization, IEEE Computer Society Press, pp 159-164, London,
England, 10-12 Jul. 2002
[Carpendale95] Carpendale, M. S. T., Cowperthwaite, D. J, Fracchia, F. D., 3-Dimensional
Pliable Surfaces: For the Effective Presentation of Visual Information, Proceedings
UIST’95, ACM Press, pp217-226, 1995
[Carpendale97] Carpendale, M. S. T., Cowperthwaite, D. J., Fracchia,F. D., Extending
Distortion Viewing from 2D to 3D, IEEE Computer Graphics and Applications, vol.
17, nº4, Jul./Ag. 1997
[Carriço99] Carriço, L., Mapas Cognitivos nas Organizações: Ferramentas e Técnicas de
Exploração Visual e Interactiva, Tese de doutoramento, Dez. 1999
[Carrière95] Carrière, J., Kazman, R., Research Report, Interacting with Huge Hierarchies:
Beyond Cone Trees, Proceedings Visualization Information'95, IEEE Computer
Society Press, Atlanta, 1995
[Casner91] Casner, S. M., A Task-Analytical Approach to the Automated Design of
Graphic Presentations, ACM Transactions on Graphics, vol. 10, nº2, Abr. 1991
[Chalmers92] Chalmers, M., Chitson, P., Bead: Explorations in Information Visualisation,
Proceedings ACM SIGIR’92, pp330-337, Copenhaga, 1992
[Chalmers96] Chalmers, M., Ingram, R., Pfranger, C., Adding Imageability Features to
Information Displays, Proceedings of the ACM Symposium on User Interface
Software and Technology, UIST'96, Seattle, Nov. 1996
[Chernoff73] Chernoff, H., The Use of Faces to Represent Points in k-Dimensional Space
Graphically, Journal of the American Statistical Association, vol. 68, nº 342, pp 361368, Jun. 1973
[Chi98] Chi, E. H., Riedl, J., Barry, P., Konstan, J., Principles for Information
Visualization Spreadsheets, IEEE Computer Graphics and Applications, vol. 18, nº 4,
Jul./Ag. 1998
[Chimera92] Chimera, R., Value Bars: an information visualization and navigation tool for
multi-attribute listings, Proceedings of CHI ´92, Maio 1992
300
[Chuah98a] Chuah, M. C., Eick, S., Information Rich Glyphs for Software Management
Data, IEEE Computer Graphics and Applications, vol. 18, nº 4, Jul./Ag. 1998
[Chuah98b] Chuah, M. C., Dynamic Aggregation with Circular Visual Designs,
Proceedings 1998 IEEE Symposium on Information Visualization, (InfoVis’98),
North Carolina, 19-20 Out. 1998
[Cignoni94] Cignoni, P., Montani, C., Scopigno, R., MagicSphere: an insight tool for 3D
data visualization, EUROGRAPHICS '94, Daehlen, M., Kjelldhl, L., (guest editors)
Computer Graphics Forum, vol. 13, nº3, 1994
[Cláudio00] Cláudio, A. P., Cunha, J. D., Carmo, M. B., Monitoring andDebugging
Message Passing Applications with MPVisualizer, Proceedings of the Eighth
Euromicro Workshop on Parallel and Distributed Processing, pp 376-382, Rhodos,
Greece, 19-21 Jan. 2000
[Cockburn01] Cockburn, A., McKenzie, B., 3D or not 3D? Evaluating the Effect of the
Third Dimension in a Document Management System, Proceedings SIGCHI ’01,
Seattle, USA, Abr. 2001
[Collins93] Collins, B. M., Data Visualization - has it all been seen before?, Animation and
Scientific Visualization, Tools & Applications, Earnshaw, R.A., Watson, D., (eds)
Academic Press, 1993
[Cunha91] Cunha, J. D., Visualização de Dados Científicos, Acessibilização no domínio da
Engenharia Civil, Programa de investigação apresentado a concurso para acesso à
categoria de Investigador-Coordenador, LNEC, Out. 1991
[Cunha95] Cunha, J. D., Carmo, M. B., Modelo da Pirâmide Truncada, 7º Encontro
Português de Computação Gráfica, pp 35-46, Monte da Caparica, Fev. 1995.
[Czerwinski99] Czerwinski, M., Dumais, S., Robertson, G., Dziadisz, S., Tiernan, S., van
Dantzich, M., Visualizing Implicit Queries for Information Management and
Retrieval, Proceedings CHI ’99, Pittsburgh, USA, Maio 1999
[Dachselt01] Dachselt, R., Ebert, J., Collapsible Cylindrical Trees: A Fast Hierarchical
Navigation Technique, Proceedings of the IEEE Symposium on Information
Visualization 2001 (InfoVis’01), San Diego, 2001
[DiBattista94] Di Battista, G., Eades, P., Tamassia, R., Tollis, I. G., Algorithms for
Drawing Graphs: an Annotated Bibliography, (disponível em ftp:
wilma.cs.brown.edu, /pub/papers/compgeo/gdbiblio.ps.Z), publicado com o título
Annotated Bibliography on Graph Drawing Algorithms em Computational
Geometry: Theory and Applications, 4:235-282, 1994
[Dix02] Dix, A., Ellis, G., By Chance: Enhancing Interaction with Large Data Sets Trough
Statistical Sampling, Proceedings of Advanced Visual Interfaces, AVI2002, Trento,
Italy, Maio 2002
[Eick92] Eick, S., Steffen, J., Sumner, E. Jr., Seesoft- A Tool for Visualizing Line Oriented
Software Statistics, IEEE Transactions on Software Eng., vol. 18, nº 11, Nov. 1992
301
[Eick94a] Eick, S. G., Graphically Displaying Text, J. Computational and Graphical
Statistics, vol. 3, nº 2, pp 127-142, Jun. 1994
[Eick94b] Eick, S. G., Data Visualization Sliders, Proceedings UIST'94, ACM Press, 1994
[Eick94c] Eick, S. G., Nelson, M. C., Schmidt, J. D., Graphical Analysis of Computer Log
Files, Communications of ACM, vol.37, nº 12, Dez. 1994
[Eick00a] Eick, S. G., Visual Discovery and Analysis, IEEE Transactions on Visualization
and Computer Graphics, vol. 6, nº 1, Jan./Março 2000
[Eick00b] Eick, S. G., Visualizing Multi-Dimensional Data, Computer Graphics, Fev.
2000
[Ellis02] Ellis, G., Dix, A., Density Control Through Random Sampling: an Architectural
Perspective, Proceedings of the 6th International Conference on Information
Visualization, IEEE Computer Society Press, pp 82-90, London, England, 10-12 Jul.
2002
[Fairchild88] Fairchild, K. M., Poltrock, S. E., Furnas, G. W., SemNet: Three-Dimensional
Graphic Representations of Large Knowledge Bases, R. Guindon (ed) Cognitive
Science and Its Applications for Human-Computer Interaction. Hillsdale,
N.J.:Lawrence Elbaum Associates pp 201-233, 1988
[Fairchild93] Fairchild, K. M., Information Management using Virtual Reality-Based
Visualizations, "Virtual reality applications and explorations", Wexelblat, A., (ed),
Academic Press, 1993
[Fang95] Fang, T-P, Piegl, L. A, Delaunay Triangulation in Three Dimensions, IEEE
Computer Graphics and Applications, vol.15, nº 5, pp 62-69, 1995
[Feiner90a] Feiner, S., Beshers, C., Visualizing n-Dimensional Virtual Worlds with
n-Vision, Proceedings of SIGGRAPH, Computer Graphics, 24, 1990
[Feiner90b] Feiner, S., Beshers, C., Worlds within worlds: metaphors for exploring
n-dimensional virtual worlds, Proceedings of UIST '90, ACM Press, 1990
[Fishkin95] Fishkin, K., Stone, M. C., Enhanced Dynamic Queries via Movable Filters,
ACM Proceedings CHI'95, Denver, Colorado, 7-11 Maio 1995
[Foley86] Foley, J. D., McMath, C. F., Dynamic Process Visualization, IEEE Computer
Graphics and Applications, vol. 6, nº 3, Março 1986
[Foley94] Foley, J., Ribarsky, B., Next-generation data visualization tools, Scientific
Visualization - Advances and Challenges, Academic Press, 1994
[Foley95] Foley, J. D., Van Dam, A., Feiner, S. K., Hughes, J. F., Phillips, R. L.,
Introduction to Computer Graphics, Addison-Wesley Publishing Company, 1995
[Fox98] Fox, D., Composing Magic Lenses, Proceedings CHI ’98, Los Angeles, USA,
Abr. 1998
302
[Frank94] Frank, A. U., Timpf, S., Multiple Representations for Cartographic Objects in a
Multi-Scale Tree - An Intelligent Graphical Zoom, Computer and Graphics, vol.18,
nº6, 1994
[Fua99] Fua, Y.-H., Ward, M., Rundensteiner, E. A., Hierarchical Parallel Coordinates for
Exploration of Large Datasets, Proceedings of IEEE Visualization ’99, pp 43-50, San
Francisco, 24-29 Out. 1999
[Furnas86] Furnas, G., Generalized Fisheye Views, Proceedings CHI'86, 1986
[Furnas94] Furnas, G. W., Zacks, J., Multitrees: Enriching and Reusing Hierarchical
Structure, Proceedings ACM CHI '94, Boston, Abr. 1994
[Furnas95] Furnas, G., Bederson, B., Space-Scale Diagrams: Understanding Multiscale
Interfaces, Proceedings ACM CHI'95, Denver, Colorado, USA, 7-11 Maio 1995
[Furnas97] Furnas, G., Effective View Navigation, Human Factors in Computing Systems,
Proceedings of CHI'97, Atlanta, 1997
[Furnas98] Furnas, G. W., Zhang, X., MuSE: a Multiscale Editor, Proceedings of UIST
´98, ACM Press, S. Francisco, USA, Nov. 1998
[Furnas00] Furnas, G. W., Zhang, X., Illusions of Infinity: Feedback for Infinite Worlds,
Proceedings of UIST ´00, ACM Press, S. Diego, USA, Nov. 2000
[Gallop94] Gallop, J., Underlying data models and structures for visualization, Scientific
Visualization - Advances and Challenges, Academic Press, 1994
[Goldstein94] Goldstein, J., Roth, S. F., Using Aggregation and Dynamic Queries for
Exploring Large Data Sets, Proceedings of ACM CHI '94, Boston, Abr. 1994
[Gomes91] Gomes, M., OO-AGES Modelação de Sistemas de Interacção Homem
Máquina Baseados em Manipulação Directa, Tese de doutoramento, Jul. 1991
[Gray90] Gray, P. D., Waite, K. W., Draper, S. W., Do-It-Yourself Iconic Displays:
Reconfigurable Iconic Representations of Application Objects, Human-Computer
Interaction, INTERACT'90, 1990
[Grinstein94] Grinstein, G., Mihalisin, T., Hinterberger, H., Inselberg, A., Visualizing
Multidimensional (Multivariate) Data and Relations (Panel), IEEE Proceedings
Visualization' 94, Out. 1994
[Havre99] Havre, S., Hetzler, B., Nowell, L., ThemeRiverTM: In Search of Trends, Patterns
and Relationships, Proceedings of the IEEE Symposium on Information
Visualization ‘99 (InfoVis’99), 1999
[Havre00] Havre, S., Hetzler, B., Nowell, L., ThemeRiver: Visualizing Theme Changes
over Time, Proceedings of the IEEE Symposium on Information Visualization 2000
(InfoVis’00), 2000
[Havre01] Havre, S., Hetzler, E., Perrine, K., Jurrus, E., Miller, N., Interactive
Visualization of Multiple Query Results, Proceedings of the IEEE Symposium on
Information Visualization 2001 (InfoVis’01), San Diego, 2001
303
[Havre02] Havre, S., Hetzler, B., Whitney, P., Nowell, L., ThemeRiver: Visualizing
Thematic Changes in Large Document Collections, IEEE Transactions on
Visualization and Computer Graphics, vol. 8, nº 1, Jan./Março 2002
[Hemmje94] Hemmje, M., Kunkel, C., Willet, A., Lyberworld – A Visualization User
Interface Supporting Fulltext Retrieval, Proceedings 17Th ACM SIGIR Conference,
pp 249-259, Dublin, Jul. 1994
[Hendersen86] Hendersen, D. A. Jr, Card, S. K., Rooms: the use of multiple virtual
workspaces to reduce space contention in a window-based graphical user interface,
ACM Transactions on Graphics, vol. 5, nº 3, Jul. 1986
[Hendley95] Hendley, R., Drew, N., Wood, A., Beale, R., Case Study, Narcissus:
Visualising Information, Proceedings of Visualization Information '95, IEEE
Computer Society Press, Atlanta, 1995
[Herman99] Herman, I., Melançon, G., Marshall, M. S., Graph Visualisation and
navigation in Information Visualisation, State of the Art Reports, Eurographics ’99,
Falcidieno, B., Rossignac, J. (eds), Milano, 7-11 Set. 1999
[Herot80] Herot, C. F., Carling, R., Friedell, M., Kramlich, D., A Prototype Spatial Data
Management System, Computer Graphics, vol. 14, nº3, 1980
[Horowitz98] Horowitz, E., Sahni, S., Rajasekaran, S., Computer Algorithms, Computer
Society Press, 1998 (1ª edição em 1997)
[httpEBNF] http://www.cl.cam.ac.uk/~mgk25/iso-ebnf.html
[httpIRISExplorer] http://www.nag.co.uk/visual/IE/iecbb/Product.html
[httpOpenDX] http://www.research.ibm.com/dx
[httpVRML] http://www.web3d.org/technicalinfo/specifications/specifications.html
[Inselberg90] Inselberg, A., Dimsdale, B., Parallel Coordinates: A Tool for Visualizing
Multi-Dimensional Geometry, Proceedings of the first IEEE Conference on
Visualization, Visualization '90, pp361-378, 1990
[Inselberg97] Inselberg, A., Multidimensional Detective, IEEE Symposium on Information
Visualization - InfoVis’97, Dill, J., Gershon, N. (eds), pp 100-107, Arizona, Out.
1997
[Interrante00] Interrante, V, Harnessing Natural Textures for Multivariate Visualization,
IEEE Computer Graphics and Applications, vol. 20, nº 6, pp 6-11, Nov./Dec. 2000
[Ioannidis96] Ioannidis, Y., Livny, M., Bao, J., Haber, E., User-Oriented Visual Layout at
Multiple Granularities, Proceedings of the Workshop on Advanced Visual Interfaces
AVI’96, Catarci,T., Costabile, M.F., Levialdi, S., Santucci, G., (eds), Maio 1996
[ISO2382/13] Tradução da norma ISO 2382-13 - Documento ISO/IEC JTC1 nº1183,
Comissão Técnica de Normalização na área da Computação Gráfica, CT 109.
(Documento distribuído no 6º EPCG em Braga, Fev. 94)
304
[Jain93] Jain, V., Shneiderman, B., Data structures for dynamic queries: an analytical and
experimental evaluation, technical report Univ. Maryland, Set. 1993
[Jeong98] Jeong, C.-S., Pang, A., Reconfigurable Disc Trees for Visualizing Large
Hierarchical Information Space, Proceedings 1998 IEEE Symposium on Information
Visualization, (InfoVis’98), North Carolina, 19-20 Out. 1998
[Jerding95] Jerding, D. F., Stasko, J. T., The Information Mural: A Technique for
Displaying and Navigating Large Information Spaces, Proceedings Visualization
Information'95, IEEE Computer Society Press, Atlanta, 1995
[Jerding98] Jerding, D., Stasko, J. T., The Information Mural: A Technique for Displaying
and Navigating Large Information Spaces, IEEE Transactions on Visualization and
Computer Graphics, vol. 4, nº3, Jul./Set. 1998
[Jern97] Jern, M., Information Drill-down using Web tools, Proceedings 1997 IEEE
Conference on Information Visualization - IV'97, London, England, 27-29 Ag. 1997
[Jin97] Jin, L., Banks, D.C., TennisViewer: A Browser for Competition Trees, IEEE
Computer Graphics and Applications, vol. 17, nº4, Jul./Ag. 1997
[Johnson92] Johnson, B., TreeViz: Treemap visualization of hierarchically structured
information, Proceedings of CHI ´92, Maio 1992
[Joslyn95] Joslyn, C., Lewis, C., Domik, B., Designing Glyphs to Exploit Patterns in
Multidimensional Datasets, Short Paper CHI´95, 1995
[Jul98] Jul, S., Furnas, G. W., Critical Zones in Desert Fog: Aids to Multiscale Navigation,
Proceedings of UIST ´98, ACM Press, S. Francisco, USA, Nov. 1998
[Jungmeisterf92] Jungmeisterf, W. A., Turo, D., Adapting Treemaps to stock portfolio
visualization, Relatório técnico da Univ. Maryland, Set. 92
[Kandogan96] Kandogan, E., Shneiderman, B., Elastic Windows: Improved Spatial Layout
and Rapid Multiple Window Operations, Proceedings of the Workshop on Advanced
Visual Interfaces AVI’96, Catarci,T., Costabile, M.F., Levialdi, S., Santucci, G.,
(eds), Maio 1996
[Kandogan97] Kandogan, E., Shneiderman, B., Elastic Windows: Evaluation of MultiWindow Operations, Human Factors in Computing Systems, Proceedings of CHI'97,
pp 22-27, Atlanta, Março 97
[Kaugars94] Kaugars, K., Reinfelds, J., Brazma, A., A Simple Algorithm for Drawing
Large Graphs on Small Screens, Proceedings of Graph Drawing ’94, Lectures Notes
in Computer Science 894, pp 278-282, 1994
[Kazman96a] Kazman, R., Carrière, J., Rapid Prototyping of Information Visualizations
Using VANISH, Proceedings of InfoVis’96, San Francisco, CA, Out. 1996
[Kazman96b] Kazman,R., Carrière, J., An Adaptable Software Architecture for Rapidly
Creating Information Visualizations, Proceedings of Graphics Interface ’96, pp 1727, Toronto, Maio 1996
305
[Keahey96] Keahey, T. A., Robertson, E. L., Techniques for Non-linear Magnification
Transformations, Proceedings of Information Visualization’96, Out. 1996
[Keahey97] Keahey, T. A., Robertson, E. L., Nonlinear Magnification Fields, IEEE
Symposium on Information Visualization - InfoVis’97, Dill, J., Gershon, N., (eds),
Arizona, Out. 1997
[Keahey98] Keahey, T. A., The Generalized Detail-in-Context Problem, Proceedings
Information Visualization’98, Wills, G., Dill, J. (eds), 19-20 Out. 1998
[Keim93a] Keim, D. A., Kriegel, H. P., Seidl, T., Visual Feedback in Quering Large
Databases, Proceedings Visualization'93, Nielson, G.M., Bergeron, D., (eds), 1993
[Keim93b] Keim, D. A., Kriegel, H. P., Using Visualization to Support Data Mining of
Large Existing Databases, Proceedings Database Issues for Data Visualization 1993,
Lee, J. P., Grinstein, G.G. (eds), 1993
[Keim94] Keim, D. A., Kriegel, H.-P., VisDB: Database Exploration Using
Multidimensional Visualization, IEEE Computer Graphics and Applications, vol. 14,
nº5, Set. 1994
[Keim00] Keim, D. A., Designing Pixel-Oriented Visualization Techniques: Theory and
Applications, IEEE Transactions on Visualization and Computer Graphics, vol. 6,
nº1, Jan./Março 2000
[Keim01] Keim, D., Hao, M. C., Ladisch, J., Hsu, M., Dayal, U., Pixel Bar Charts: A New
Technique for Visualizing Large Multi-Attribute Data Sets without Aggregation,
Proceedings of the IEEE Symposium on Information Visualization 2001
(InfoVis’01), San Diego, 2001
[Kilger93] Kilger, J., Swanberg, D., Jain, R., Concept Clustering in a Query Interface to an
Image Database, Proceedings UIST'93, ACM Press, Atlanta, 3-5 Nov. 1993
[Kobsa01] Kobsa, A., An Empirical Comparison of Three Commercial Information
Visualization Systems, Proceedings of the IEEE Symposium on Information
Visualization 2001 (InfoVis’01), San Diego, 2001
[Koike93] Koike, H., Yoshihara, H., Fractal Approaches for Visualizing Huge Hierarchies,
Proceedings of the 1993 IEEE Symposium on Visual Languages, IEEE Computer
Society Press, pp 55-60, 1993
[Kolingerová02] Kolingerová, I., Zalik, B., Improvements to Randomized Incremental
Delaunay Insertion, Computer & Graphics, vol. 26, nº 3, pp 477-490, Jun. 2002
[Kolojejchic97] Kolojejchick, J., Roth, S. F., Lucas, P., Information Appliances and Tools
in Visage, IEEE Computer Graphics and Applications, vol. 17, nº4, Jul./Ag. 1997
[Kosara01] Kosara, R., Miksch, S., Hauser, H., Semantic Depth of Field, Proceedings of
the IEEE Symposium on Information Visualization 2001 (InfoVis’01), San Diego,
2001
[Kosara02] Kosara, R., Miksch, S., Hauser, H., Focus+Context Taken Literally, IEEE
Computer Graphics and Applications, vol. 22, nº 1, Jan./Fev. 2002
306
[Kumar97] Kumar, H. P., Plaisant, C., Shneiderman, B., Browsing Hierarchical Data with
Multi-Level Dynamic Queries and Pruning, International Journal of HumanComputer Studies, vol. 46, nº 1, pp 103-124, 1997
[Lamping94] Lamping, J., Rao, R., Laying out and Visualizing Large Trees Using a
Hyperbolic Space, Proceedings UIST'94, ACM Press, 1994
[Lamping95] Lamping, J., Rao, R., Pirolli, P., A Focus+Context Technique Based on
Hyperbolic Geometry for Visualizing Large Hierarchies, ACM Proceedings CHI'95,
Denver, Colorado, USA, 7-11 Maio 1995
[Lamport78] Lamport, L., Time, Clocks, and the Ordering of Events in a Distributed
System, Communications of ACM, vol. 21, nº 7, Jul. 1978
[LeBlanc90] LeBlanc, J., Ward, M.O., Wittels, N., Exploring N-Dimensional Databases,
Proceedings of the 1st IEEE Conference on Visualization, Visualization '90, 1990
[LeBlanc91] LeBlanc, J., N-Land: A Visualization Tool for N-Dimensional Data, M.S.
Thesis Worcester Polytechnic Institute, 1991
[Lee96] Lee, H.-Y.,Ong, H.-L., Visualization Support for Data Mining, IEEE Expert, Out.
1996
[Leung94] Leung, Y. K., Apperley, M. D., A Review and Taxonomy of DistortionOriented Presentation Techniques, ACM Transactions on Computer-Human
Interaction vol. 1, nº 2, pp 126-160, Jun. 1994
[Lieberman94] Lieberman, H., Powers of Ten Thousands: Navigating in Large Information
Spaces, Proceedings UIST'94, ACM Press, 1994
[Lieberman97] Lieberman, H., A Multi-Scale, Multi-layer, Translucent Virtual Space,
Proceedings 1997 IEEE Conference on Information Visualization - IV'97, London,
England, 27-29 Ag. 1997
[Lin92] Lin, X., Visualization for the Document Space, IEEE Visualization’92, pp 274281, 1992, in Readings in Information Visualization Using Vision to Think, Morgan
Kaufmann Publishers, Inc. 1999
[Lokuge95] Lokuge, I., Ishizaki, S., GeoSpace: An Interactive Visualization System for
Complex Information Spaces, ACM Proceedings CHI'95, Denver, Colorado, USA,
7-11 Maio 1995
[Mackinlay86] Mackinlay, J., Automating the Design of Graphical Presentations of
Relational Information, ACM Transactions on Graphics, vol. 5, nº2, Abr. 1986
[Mackinlay88] Mackinlay, J., Applying a theory of Graphical Presentation to the Graphic
Design of User Interfaces, Proceedings of the ACM SIGGRAPH Symposium on
User Interface Software, 1988
[Mackinlay90] Mackinlay, J. D., Card, S. K., Robertson, G. G.,Rapid controlled
Movement Through a Virtual 3D Workspace, Computer Graphics, vol. 24, nº4, Ag.
1990
307
[Mackinlay91] Mackinlay, J. D., Robertson, G. G., Card, S. K., The Perspective Wall:
Detail and Context Smoothly Integrated, Proceedings of ACM CHI'91, 1991
[Mackinlay94] Mackinlay, J. D., Robertson, G. G., DeLine, R., Developing Calendar
Visualizers for the Information Visualizer, Proceedings UIST'94, ACM Press, 1994
[Mackinlay97] Mackinlay, J., 3D or 4D, Keynote Panel 2D vs 3D, IEEE Symposium on
Information Visualization - InfoVis’97, Dill, J., Gershon, N., (eds), Arizona, Out.
1997
[Mande92] Mande, R., Salomon, G., Wong, Y. Y., A "pile" metaphor for supporting casual
organization of information, Proceedings CHI ´92, Maio 1992
[Martins02] Martins, A. M., Funções de Grau de Interesse - Aplicação a Informação
Extraída de Bases de Dados, dissertação apresentada para obtenção do grau de
Mestre em Informática no Departamento de Informática da FCUL, Março 2002
[Masui98] Masui. T., LensBar - Visualization for Browsing and Filtering Large Lists of
Data, Proceedings Information Visualization’98, Wills, G., Dill, J., (eds), 19-20 Out.
1998
[Maur00] Maur, P., Kolingerová, I., Properties of Delaunay Tetrahedra, Proceedings of
International Conference ECI 2000, pp 55-61, Herelany, Slovakia, 2000
[Maur01] Maur, P., Kolingerová, I., Post-optimization of Delaunay Tetrahedrization,
Proceedings of International Conference SCCG 2001, pp 78-85, Budmerice,
Slovakia, 2001
[McCormick87a] McCormick, B. H., DeFanti, T. A., Brown, M. D., Visualization in
Scientific Computing (A Synopsis), IEEE Computer Graphics & Applications, vol.
7, nº 7, Jul. 1987
[McCormick87b] McCormick, B. H., DeFanti, T. A., Brown, M. D., Visualization in
Scientific Computing, Computer Graphics, vol. 21, nº 6, Nov. 1987
[Mendelzon96] Mendelzon, A. O., Visualizing the World Wide Web, Proceedings of the
Workshop on Advanced Visual Interfaces AVI’96, Catarcci,T., Costabile, M.F.,
Levialdi, S., Santucci, G., (eds), Maio 1996
[Mihalisin90] Mihalisin, T., Gawlinski, E., Timlinm, J., Schwegler, J., Visualizing a Scalar
Field on an N-dimensional Lattice, Proceedings of the 1st IEEE Conference on
Visualization, Visualization '90, 1990
[Mihalisin91a] Mihalisin, T., Timlin, J., Schwegler, J., Visualization and Analysis of
Multi-variate Data: A Technique for all Fields, Proceedings IEEE Visualization' 91,
1991
[Mihalisin91b] Mihalisin, T., Timlin, J., Schwegler, J., Visualizing Multivariate Functions,
Data, and Distributions, IEEE Computer Graphics and Applications, vol. 11, nº 3,
1991
308
[Munzner97] Munzner, T., H3: Laying Out Large Directed Graphs in 3D Hyperbolic
Space, Proceedings IEEE Symposium on Information Visualization (InfoVis’97), pp
2-10, 1997
[Munzner98] Munzner, T., Exploring Large Graphs in 3D Hyperbolic Space, IEEE
Computer Graphics and Applications, vol. 18, nº 4, Jul./Ag. 1998
[Nation97] Nation, D. A., Plaisant, C., Marchionini, G., Komlodi, A., Visualizing Websites
using a Hierarquical Table of Contents Browser: WebTOC, Proceedings 3rd
Conference on Human Factors and the Web, Denver, Colorado, Jun. 1997
[Ogle95] Ogle, V., Stonebraker, M., Chabot: Retrieval from a Relational Database of
Images, IEEE Computer, vol. 28, nº9, Set. 1995
[Olsen93] Olsen, K. A., Korfhage, R.R., Sochats, K. M., Spring, M. B., Williams, J. G.,
Visualization of a Document Collection: the VIBE System, Information Processing
& Management, vol.29, nº 1, pp 69-81, 1993
[Osada93] Osada, M., Liao, H., Shneiderman, B., AlphaSlider: searching textual lists with
sliders, technical report U.Maryland, Abril 93, e Proceedings of the Ninth Annual
Japonese Conference on Human Computer Interface, Out. 1993
[Pacheco99] Pacheco, R., Visup - Visualização de Superfícies, Relatório do projecto de
avaliação da disciplina de Interacção Gráfica e Realidade Virtual do Mestrado em
Informática, DI-FCUL, 1999
[Perlin93] Perlin, K., Fox, D., Pad - An Alternative Approach to the Computer Interface,
Proceedings Computer Graphics, Annual Conference Series, 1993
[Pirolli01] Pirolli, P., Card, S.C., Wege, M. M., Visual Information Foraging in a
Focus+Context Visualization, Proceedings SIGCHI ’01, Seattle, USA, Abr. 2001
[Plaisant95] Plaisant, C., Carr, D., Shneiderman, B., Image-Browser Taxonomy and
Guidelines for Designers, IEEE Software, vol. 12, nº 2, Março 1995
[Plaisant96] Plaisant,C., Milash, B., Rose, A. Widorff, S., Schneiderman, B., LifeLines:
Visualizing Personal Histories, Proceedings CHI'96, Vancouver, 13-18 Abr. 1996
[Plastock91] Plastock, R. A., Kalley, G., “Computação Gráfica”, tradução de Teixeira, J.
C., McGraw-Hill de Portugal, 1991
[Punin98] Punin, J., Krishnamoorthy, M. S., WWWPal - A System for Analysis and
Synthesis of Web Pages, WebNet' 98 - World Conference on the WWW, Internet, &
Intranet, AACE Conferences, Association for the Advancement of Computing in
Education, Orlando, Florida, USA, Nov. 1998
[Rao92] Rao, R., Card, S. K., Jellinek, H. D., Mackinlay, J. D., Robertson, G. G., The
information grid: a framework for information retrieval and retrieval-centred
applications, Proceedings of UIST'92, ACM Press, 1992
[Rao94] Rao, R., Card, S. K., The Table Lens: Merging Graphical and Symbolic
Representations in an Interactive Focus+Context Visualization for Tabular
Information, Proceedings ACM CHI '94, Boston, Abr. 1994
309
[Reis02] Reis, L., Relatório do projecto de avaliação da disciplina de Visualização de
Informação da Licenciatura em Informática, DI-FCUL, ano lectivo 2001/2002
[Rennison94] Rennison, E., Galaxy of News An Approach to Visualizing and
Understanding Expansive News Landscapes, Proceedings UIST'94, ACM Press,
1994
[Rew90] Rew, R., Davis, G., NetCDF: An Interface for Scientific Data Access, IEEE
Computer Graphics & Applications, vol. 10, nº 4, Jul. 1990
[Ribarsky94] Ribarsky, W., Ayers, E., Eble, J., Mukherjea, S., Glyphmaker: Creating
Customized Visualizations of Complex Data, Computer, Jul. 1994
[Risch96] Risch, J. S., Dowson, S. T., May, R A., Thomas, J. J., A Virtual Environment for
Multimedia Intelligence Data Analysis, IEEE Computer Graphics and Applications,
vol 16, nº 6, Nov. 1996
[Risch97] Risch, J. S., Rex, D:B., Dowson, S. T., Walters, T. B., May, R. A., Moon, B. D.,
The STARLIGHT Information Visualization Systems, Proceedings 1997 IEEE
Conference on Information Visualization - IV'97, London, England, 27-29 Ag. 1997
[Roberts02] Roberts, J., Boukhelifa, N., Rodgers, P., Multiform Glyph Based Web Search
Result Visualization, Proceedings of the 6th International Conference on Information
Visualization, IEEE Computer Society Press, pp 549-554, London, England, 10-12
Jul. 2002
[RobertsonG91] Robertson, G.G., Mackinlay, J. D., Card, S. K., Cone Trees: Animated 3D
Visualizations of Hierarchical Information, ACM Proceedings of CHI'91, 1991
[RobertsonG93a] Robertson, G. G., Card, S. K., Mackinclay, J. D., Information
Visualization Using 3D Interactive Animation, Communications of ACM, vol. 36, nº
4, Abril 1993
[RobertsonG93b] Robertson, G. G., Mackinlay, J. D., The Document Lens, Proceedings
UIST'93, ACM Press, pp 101-108, Atlanta, 3-5 Nov. 1993
[RobertsonG98] Robertson, G., Czerwinski, M., Larson, K., Robbins, D. C., Thiel, D., van
Dantzich, M., Data Mountain: Using Spatial Memory for Document Management,
Proceedings of UIST ´98, ACM Press, S. Francisco, USA, Nov. 1998
[RobertsonP91] Robertson, P. K., A methodology for choosing data representations, IEEE
Computer Graphics & Applications, vol. 11, nº 3, Maio 1991
[Rohrer97] Rohrer, R. M., Swing, E., Web-Based Information Visualization, IEEE
Computer Graphics and Applications, vol. 17, nº 4, Jul./Ag. 1997
[Roth90] Roth, S. F., Mattis, J., Data Caracterization for Intelligent Graphics Presentation,
Proceedings CHI'90, 1990
[Roth96] Roth, S. F., Lucas, P., Senn, J., Gomberg, C. C., Burks, M.B., Stroffolino, P.J.,
Kolojejchick, J.A., Dunmire, C., Visage: A User Interface Environment for
Exploring Information, Proceedings of Information Visualization, IEEE Computer
Society Press, pp 3-12, San Francisco, Out. 1996
310
[Russo01] Russo dos Santos, C., Gros, P., Abel, P., Automatic Visual Mapping of Abstract
Information, Proceedings of the 2001 International Conference on Imaging Science
Systems and Technology (CISST 2001).FIV: Workshop on Fundamental Issues in
Visualization 2001, vol. II, pp 619-625, Las Vegas, USA, Jun. 2001
[Salton94] Salton, G., Allan, J., Buckley, C., Automatic structuring and retrieval of large
text files, Communications of ACM, vol. 37, nº2, Fev. 1994
[Salton95] Salton, G., Allan, J., Buckley, C., Singhal, A., Automatic Analysis, Theme
Generation, and Summarization of Machine-Readable Texts, Science, vol. 264, nº 3,
pp 1421-1426, Jun. 1995, in Readings in Information Visualization Using Vision to
Think, Morgan Kaufmann Publishers, Inc. 1999
[Sarkar92] Sarkar, M., Brown, M.H., Graphical fisheye views of graphs, Proceedings CHI
´92, Maio1992
[Sarkar93] Sarkar, M., Snibbe, S. S., Tversky, O. J., Reiss, S. P., Stretching the Rubber
Sheet: A Metaphor for Viewing Large Layouts on Small Screens, Proceedings
UIST'93, ACM Press, pp 81-91, Atlanta, 3-5 Nov. 1993
[Sarkar94] Sarkar, M., Brown, M.H., Graphical Fisheye Views, Communications of ACM,
vol. 37, nº12, Dez. 1994
[Schaffer93] Schaffer, D., Zuo, Z., Bartram,L., Dill, J., Dubs, S., Greeberg, S., Roseman,
M., Comparing Fisheye and Full-Zoom Techniques for Navigation of Hierarchically
Clustered Networks, Proceedings Graphics Interface' 93, 1993
[Schroeder98] Schroeder, W., Martin, K. Lorensen, B., "The Visualization Toolkit: An
Object-Oriented Approach to 3D Graphics", 2ªedição, Prentice-Hall 1998
[Senay90a] Senay, H., Ignatius, E., VISTA: Visualization Tool Assistant for Viewing
Scientific Data, SIGGRAPH 1990, Course Notes 27, State of the Art in Data
Visualization, 1990
[Senay90b] Senay, H., Ignatius, E., Rules and Principles of Scientific Data Visualization,
SIGGRAPH 1990, Course Notes 27, State of The Art in Data Visualization, 1990
[Senay94] Senay, H., Ignatius, E., A Knowledge-Based System for Visualization Design,
IEEE Computer Graphics and Applications, vol. 14, nº 6, Nov. 1994
[Shneiderman92a] Shneiderman, B., Tree visualization with tree-maps: 2D space-filling
approach, ACM Transactions on Graphics, vol. 11, nº1, Jan. 1992
[Shneiderman92b] Shneiderman, B., Williamson, C., Ahlberg, C., Dynamic queries:
database searching by direct manipulation, Proceedings CHI ´92, Maio 1992
[Shneiderman94] Shneiderman, B., Dynamic queries for visual information seeking, IEEE
Software, vol. 11, nº 6, Nov. 1994
[Shneiderman97] Shneiderman, B., Photos vs Sculpture: Functionality and Aesthetics,
Keynote Panel 2D vs 3D, IEEE Symposium on Information Visualization InfoVis’97, 1997
311
[Shneiderman98] Shneiderman, B, “Designing the User Interface”, 3rd edition, AddisonWesley, 1998
[Shneiderman01] Shneiderman, B., Wattenberg, M., Ordered Treemap Layouts,
Proceedings of the IEEE Symposium on Information Visualization 2001
(InfoVis’01), San Diego, 2001
[Sifer99] Sifer, M., Liechti, O., Zooming in One Dimension can be better than Two: an
Interface for Placing Search Results in Context with a Restricted Sitemap,
Proceedings 1999 IEEE Symposium on Visual Languages, Tokyo, Japan, 13-16 Set.
1999
[Spence82] Spence, R., Apperley, M., Data Base Navigation: an Office Environment for
the Professional, Behaviour and Information Technology, vol. 1, nº 1, 1982
[Spenke96] Spenke, M., Beiken, C., Berlage, T., FOCUS: The Interactive Table for
Product Comparison and Selection, Proceedings of the ACM Symposium on User
Interface Software and Technology, Proceedings UIST'96, Seattle, Nov. 1996
[Speray90] Speray, D., Kennon, S., Volume Probes: Interactive Data Exploration on
Arbitrary Grids, Computer Graphics, vol. 24, nº5, Nov. 1990
[Spoerri93] Spoerri, A., InfoCrystal: A Visual Tool for Information Retrieval, Proceedings
IEEE Visualization ’93, 1993
[Stasko00] Stasko, J., Zhang, E., Focus+Context Display and Navigation Techniques for
Enhancing Radial, Space-Filling Hierarchy Visualizations, Proceedings of the IEEE
Symposium on Information Visualization 2000 (InfoVis’00), pp 57-65, 2000
[Stolte00] Stolte, C., Hanrahan, P., Polaris: a System for Query, Analysis and Visualization
of Multi-dimensional Relational Databases, Proceedings of the IEEE Symposium on
Information Visualization 2000 (InfoVis’00), pp 5-14, 2000
[Stone94] Stone, M., Fishkin, K., Bier, E.A., The Movable Filter as a User Interface Tool,
Proceedings ACM CHI '94, Boston, Abr. 1994
[Stonebraker93] Stonebraker, M., Chen, J., Nathan, N., Paxson, C., Su, A. Wu, J., Tioga: A
Database-Oriented Visualization Tool, Proceedings Visualization'93, Nielson, G.M.,
Bergeron,D., (eds), 1993
[Talbert97] Talbert, N., Toward Human-Centered Systems, IEEE Computer Graphics and
Applications, vol. 17, nº4, Jul./Ag. 1997
[Tanin97] Tanin, E., Beigel, R., Shneiderman, B., Design and Evaluation of Incremental
Data Structures and Algorithms for Dynamic Query Interfaces, Proceedings IEEE
Symposium on Information Visualization - InfoVis’97, Dill, J., Gershon, N., (eds),
Arizona, Out. 1997
[Tavanti01] Tavanti, M., Lind, M., 2D vs 3D Implications on Spatial Memory,
Proceedings of the IEEE Symposium on Information Visualization 2001
(InfoVis’01), San Diego, 2001
312
[Tenev97] Tenev, T., Rao, R., Managing Multiple Focal Levels in Table Lens, Proceedings
IEEE Symposium on Information Visualization - InfoVis’97, Dill, J., Gershon, N.,
(eds), Arizona, Out. 1997
[Theisel98] Theisel, H., Kreuseler, M., An Enhanced Spring Model for Information
Visualization, Computer Graphics Forum, vol. 17, nº3, Eurographics ´98 Conference
Issue, Göbel, M., Nunes Ferreira, F., (eds), pp 335- 344, Lisboa, 1998
[Töpfer64] Töpfer, F., Pillewizer, V. W., Das Auswahlgesetz, ein Mittel zur
Kartographischen Generalisierung, Kartographische Nachrichten, 14, 4, Ag. 1964
[Tufte83] Tufte, E. R., The Visual Display of Quantitative Information, Graphics Press,
1983, 14th printing, Março 1995
[Tweedie96] Tweedie, L., Spence, R., Dawkes, H., Su, H., Externalising Abstract
Mathematical Models, Proceedings CHI'96, Vancouver, Abr. 13-18 1996
[Upson89] Upson, C., Faulhaber Jr, T., Kamins, D., Laidlaw, D., Schelegel, D., Vroom, J.,
Gurwitz, R., Van Dam, A., Scientific Visualization - The Application Visualization
System: A Computational Environment for Scientific Visualization, IEEE Computer
Graphics and Applications, Jul. 1989
[Varshney96] Varshney, A., Kaufman, A., FINESSE: A Financial Information
Spreadsheet, IEEE Information Visualization Symposium ‘96, pp 70-71, Los
Alamitos, California, 1996
[Ward94] Ward, M. O., XmdvTool: Integrating Multiple Methods for Visualizing
Multivariate Data, Proceedings Visualization ’94, pp 326-333, Out. 1994
[Ware95] Ware, C., Knight, W., Using Visual Texture for Information Display, ACM
Transaction on Graphics, vol. 14, nº 1, Jan. 1995
[Ware97] Ware, C., Why 3D?, Keynote Panel 2D vs 3D, IEEE Symposium on Information
Visualization - InfoVis’97, Dill, J., Gershon, N., (eds), Arizona, Out. 97
[Ware02] Ware, C., Designing for the Visual Structure of Space, Keynote Lecture,
Proceedings of the 6th International Conference on Information Visualization, IEEE
Computer Society Press, London, England, 10-12 Jul. 2002
[Ware02b] Ware, C., Designing with a 2½D Attitude, para publicação no International
Journal of Design, 2002
[Weber01] Weber, M., Alexa, M., Muller, W., Visualizing Time-Series on Spirals,
Proceedings of the IEEE Symposium on Information Visualization 2001
(InfoVis’01), San Diego, 2001
[Wijk93] van Wijk, J. J., van Liere, R., Hyperslice – Visualization of Scalar Functions of
Many Variables, Proceedings IEEE Visualization ’93, Nielson, G. M., Bergeron, D.,
(eds), pp 119-125, Out. 25-29, Califórnia, 1993
[Wijk99a] Wijk, J., Wetering, H., Cushion Treemaps: Visualization of Hierarchical
Information, IEEE Symposium on Information Visualization (InfoVis’99), San
Francisco, Out. 25-26, 1999
313
[Wijk99b] Wijk, J., Selow, E. R., Cluster and Calendar Based Visualization of Time
Series, IEEE Symposium on Information Visualization (InfoVis’99), San Francisco,
October 25-26, 1999
[Williams83] Williams, L., Pyramidal Parametrics, Computer Graphics, vol. 17, nº 3, Jul.
1983
[Wills98] Wills, G., An Interactive View for Hierarchical Clustering, Proceedings
Information Visualization’98, Wills, G., Dill, J., (eds), Out. 19-20 1998
[Wise95] Wise, J., Thomas, J., Pennock, K., Lantrip, D., Pottier, M., Schur, A., Crow, V.,
Visualizing the Non-Visual: Spatial Analysis and Interaction with Information from
Text Documents, Proceedings Visualization Information'95, IEEE Computer Society
Press, Atlanta, 1995
[Wittenbrink96] Wittenbrink, C. M., Pang, A. T., Lodha, S. K., Glyphs for Visualizing
Uncertainty in Vector Fields, IEEE Transactions on Visualization and Computer
Graphics, vol. 2, nº 3, 1996
[Wong97a] Wong, P. C., Bergeron, R. D., Multivariate Visualization Using Metric
Scaling, Proceedings IEEE Visualization’97, Yagel, R., Hagen, H., (eds), 1997
[Wong97b] Wong, P. C., Bergeron, R. D., 30 Years of Multidimensional Multivariate
Visualization, Scientific Visualization: Overviews, Methodologies & Techniques,
IEEE Computer Society Press, Nielson, G.M., Mueller, H., Hagen, H. (eds), Los
Alamitos, California 1997
[Woodruff98a] Woodruff, A., Landay, J., Stonebraker, M., Constant Information Density
in Zoomable Interfaces, Proceedings of the Working Conference on Advanced
Visual Interfaces AVI’98, Maio 1998
[Woodruff98b] Woodruff, A., Landay, J., Stonebraker, M., Constant density visualizations
of non-uniform distributions of data, Proceedings of UIST ´98, ACM Press, S.
Francisco, USA, Nov. 1998
[Wright97] Wright, W., 2D or 3D, Keynote Panel 2D vs 3D, IEEE Symposium on
Information Visualization - InfoVis’97, Dill, J., Gershon, N., (eds), Arizona, Out.
1997
[XlibRefMan] Xlib Reference Manual, for Version 11 of the X Window System, Nye, A.,
(ed), O’ Reilly & Associates, 1990
[Young93] Young, D., Shneiderman, B., A graphical filter/flow representation of boolean
queries: a prototype implementation and evaluation, Tecnical report CAR-TR-627,
CS-TR-2905, Maio 92, publicado em Journal of American Society for Information
Science, vol. 44, 6, pp 327-339, Jul. 1993
[Zhou96] Zhou, M. X., Feiner, S. K., Data Characterization for Automatically Visualizing
Heterogeneous Information, Proceedings of the 1996 IEEE Symposium on
Information Visualization (InfoVis ’96), pp 13-20, 1999
314