technical report

Transcrição

technical report
TECHNICAL REPORT
TITLE: Ambiguous calligraphic interaction for modeling environments
AUTHOR: João Paulo Jorge Pereira
DATE: February 2004
KEYWORDS: Natural interaction paradigms, RISC calligraphic interfaces, incremental
drawing, automatic sketch correction, ambiguity mediation techniques, expectation lists, 3D
modeling, geometric constraints, construction lines.
CIRCULATION: Public
Abstract
The evolution of computer-aided design systems has been characterized, amongst other aspects, by the fact that its
remarkable increment in functionality was obtained at the cost of an undesirable increase in the complexity of its use and of a
consequent distance in relation to traditional paper and pencil. The abundance of existing commands and the strictness of the
interaction tend to interfere with the designer’s mind and disturb her/his creative processes, so it is not surprising that users
continue to rely on paper and pencil in the initial stages of the design, resorting to the computer only in the final stages, when
the shape of the object being created is already established and it is important to convert the sketch into a precise drawing.
There is, therefore, a barrier that can hardly be overcome between paper and pencil of simple and passive use on the one
hand, and the complex and less natural professional CAD systems on the other.
The work presented in this document constitutes an approach to the process of overcoming the above-mentioned obstacle.
Several efforts of investigation that aim the same objective were analyzed and many solutions were considered, from direct
manipulation (2D and 3D) to calligraphic recognition (ambiguous and non-ambiguous), from CSG modeling to the
reconstruction of three-dimensional models based on their drawn representations, from traditional environments to
immersive augmented virtual reality environments.
From the identification of the positive and negative aspects that characterize all these approaches, it can be concluded that
hand sketching or drawing should serve as the main organizational metaphor for modeling systems. A set of principles was
established aiming at the resolution of the challenge that adopting such a metaphor implies.
GIDeS – Gesture-based Interactive Design System – prototype was conceived with the specific purpose of validating the
principles mentioned above. Its architecture and some of the main algorithms that support its operation are also described in
this document, as well as its use.
The validation itself was carried out through the usability evaluation of the prototype, which involved a representative
sample of potential users – mostly designers – of modeling systems. The description of this evaluation and the results
obtained are also analyzed throughout this document. Finally, the comments and suggestions made by participants allowed
us to establish the necessary basis for future development of this work.
João Paulo Jorge Pereira
Interacção caligráfica ambígua em
sistemas computacionais de modelação
Departamento de Engenharia Electrotécnica e de Computadores
Faculdade de Engenharia da Universidade do Porto
Fevereiro de 2004
João Paulo Jorge Pereira
Interacção caligráfica ambígua em
sistemas computacionais de modelação
Dissertação apresentada à Faculdade de Engenharia da Universidade do Po rto para a
o btenção do grau de Do uto r em Engenharia Electro técnica e de Co m putado res e
realizada so b a o rientação científica do Do uto r Fernando Nunes Ferreira, Pro fesso r
Catedrático da Faculdade de Engenharia da Universidade do Po rto , e do Do uto r Vasco
Afo nso da Silva Branco , Pro fesso r Auxiliar do Departam ento de Co m unicação e Arte da
Universidade de Aveiro
Departamento de Engenharia Electrotécnica e de Computadores
Faculdade de Engenharia da Universidade do Porto
Fevereiro de 2004
Os trabalho s de investigação apresentado s nesta Tese de Do uto ram ento fo ram parcialm ente supo rtado s pelo
pro gram a PRODEP 3/9 4, pela Fundação para a Ciência e Tecno lo gia (pro jecto n.º POSI/34672/SRI/2000) e pela
Co m issão Euro peia (pro jecto n.º IST-2000-281 69 ).
À bluesea e à Jessi
Agradecimentos
A toda a minha família, e em particular aos meus pais e irmãs, quero agradecer o carinho, o apoio e o espírito de união que sempre caracterizaram o seu comportamento em
todos os momentos da minha vida. Também aos meus sobrinhos, Inês e João, agradeço o facto indubitável de serem os melhores sobrinhos do mundo.
Ao responsável pela minha orientação, Professor Nunes Ferreira, quero exprimir a
minha gratidão pela forma como acreditou e se empenhou no sucesso deste trabalho,
pela disponibilidade que sempre manifestou para me ouvir e motivar, pela solidez e
sabedoria das suas decisões e comentários, e pela serenidade e humanidade da sua
maneira de ser enquanto orientador e amigo.
Ao Professor Vasco Branco, meu co-orientador, agradeço a amizade, o companheirismo e a inestimável colaboração que prestou quer no âmbito do nascimento e subsequente desenvolvimento das ideias que estão na origem do trabalho, quer no contexto
da preparação, coordenação e concretização dos procedimentos experimentais que
visaram a sua validação científica.
Ao Professor Joaquim Jorge exprimo o meu reconhecimento não só pelo importante
papel desempenhado enquanto meu co-orientador – ainda que de uma forma não oficial – mas também pelo entusiasmo e dedicação demonstrados no sentido de divulgar
e assegurar a continuidade e crescimento deste trabalho, esforços esses concretizados
em dois novos projectos de investigação, de que o Professor é o principal responsável.
Aos Designers Francisco Providência e Carlos Aguiar, ao Arquitecto Marco Ginoulhiac, ao Designer José Augusto Coelho e à Eng.ª Maria João, agradeço o entusiasmo
com que aceitaram participar na avaliação da usabilidade do protótipo GIDeS, bem
como o empenho e o profissionalismo manifestados aquando da sua realização.
Agradeço igualmente a todos os elementos do Projecto SmartSketches e em particular
ao Professor Augusto de Sousa pela amizade e disponibilidade; ao Manuel João Fonseca pela sua contribuição no âmbito do aperfeiçoamento e enriquecimento dos processos de reconhecimento caligráfico do protótipo; ao Pedro Santos pelos esclarecimentos prestados no contexto dos ambientes multi-utilizador de realidade aumentada;
e ao Nelson Silva, Tiago Cardoso, Filipe Dias e Bruno Araújo pelo entusiasmo e
dedicação que têm vindo a demonstrar na prossecução do trabalho.
Aos colegas do Departamento de Engenharia Informática do ISEP e em especial ao
Paulo Ferreira pela importante bibliografia disponibilizada; ao António Costa pela sua
contribuição na escolha de uma das ferramentas de desenvolvimento adoptadas; ao
Miguel Losa e ao Carlos Carvalho, respectivamente presidente cessante e actual presidente do departamento, e ao João Rocha, orientador do grupo de disciplinas a que
pertenço, pelas facilidades concedidas no sentido de me dispensarem de actividades
ligadas à gestão do departamento durante o tempo necessário à realização deste trabalho; a todos eles quero deixar aqui expresso o meu reconhecimento.
A todos os meus amigos agradeço a compreensão demonstrada perante a minha
ausência e deixo a promessa de regressar em breve.
Resumo
A evolução dos sistemas computacionais de apoio ao design tem-se caracterizado,
entre outros aspectos, pelo facto de o notável incremento na sua funcionalidade ter
sido obtido à custa de um indesejável aumento na complexidade da sua utilização e de
um consequente distanciamento em relação aos tradicionais papel e lápis. A profusão
de comandos existentes e a rigidez da interacção tendem a intrometer-se na mente do
designer, perturbando os processos criativos do mesmo, pelo que não surpreende que
este continue a optar pela utilização do papel e do lápis nas fases iniciais do design,
recorrendo ao computador apenas nas derradeiras etapas, quando a forma do objecto
em concepção já está estabelecida e importa converter o esboço num desenho rigoroso.
Existe, por conseguinte, uma barreira dificilmente ultrapassável entre o papel e o lápis
por um lado, de utilização simples e passiva, e os sistemas de CAD profissionais por
outro, complexos e pouco naturais.
O trabalho apresentado neste documento constitui uma abordagem ao processo de
transposição do referido obstáculo. Nele foram analisados diversos esforços de investigação que visam o mesmo objectivo e que contemplam soluções tão diversificadas
como a manipulação directa (2D e 3D) e o reconhecimento caligráfico (ambíguo e não
ambíguo), a modelação CSG e a reconstrução de modelos tridimensionais a partir das
suas representações desenhadas, os ambientes tradicionais e os imersivos de realidade
virtual aumentada.
Da identificação dos aspectos positivos e negativos que caracterizam todas estas abordagens concluiu-se que o esboço ou desenho feito à mão deve constituir a principal
metáfora organizacional dos sistemas de modelação, tendo sido estabelecido um conjunto de princípios orientados para a resolução do desafio que a adopção de tal metáfora implica.
O protótipo GIDeS – Gesture-based Interactive Design System – foi concebido com o
propósito específico de validar os princípios acima referidos. A descrição da sua
arquitectura, de alguns dos principais algoritmos em que o seu funcionamento se
baseia e da sua utilização também são objecto deste documento.
A validação propriamente dita traduziu-se na avaliação da usabilidade do protótipo,
efectuada por uma amostra representativa de potenciais utilizadores – na sua maioria
designers – de sistemas de modelação. A descrição desta avaliação, bem como a análise dos resultados decorrentes da sua realização, também são analisados ao longo deste documento. Por último, os comentários e sugestões de alteração que foram produzidos permitiram lançar as bases necessárias a um futuro desenvolvimento deste trabalho.
Abstract
The evolution of computer-aided design systems has been characterized, amongst
other aspects, by the fact that its remarkable increment in functionality was obtained
at the cost of an undesirable increase in the complexity of its use and of a consequent
distance in relation to traditional paper and pencil. The abundance of existing commands and the strictness of the interaction tend to interfere with the designer’s mind
and disturb her/his creative processes, so it is not surprising that users continue to rely
on paper and pencil in the initial stages of the design, resorting to the computer only
in the final stages, when the shape of the object being created is already established
and it is important to convert the sketch into a precise drawing.
There is, therefore, a barrier that can hardly be overcome between paper and pencil of
simple and passive use on the one hand, and the complex and less natural professional
CAD systems on the other.
The work presented in this document constitutes an approach to the process of overcoming the above-mentioned obstacle. Several efforts of investigation that aim the
same objective were analyzed and many solutions were considered, from direct manipulation (2D and 3D) to calligraphic recognition (ambiguous and non-ambiguous),
from CSG modeling to the reconstruction of three-dimensional models based on their
drawn representations, from traditional environments to immersive augmented virtual
reality environments.
From the identification of the positive and negative aspects that characterize all these
approaches, it can be concluded that hand sketching or drawing should serve as the
main organizational metaphor for modeling systems. A set of principles was established aiming at the resolution of the challenge that adopting such a metaphor implies.
GIDeS – Gesture-based Interactive Design System – prototype was conceived with
the specific purpose of validating the principles mentioned above. Its architecture and
some of the main algorithms that support its operation are also described in this document, as well as its use.
The validation itself was carried out through the usability evaluation of the prototype,
which involved a representative sample of potential users – mostly designers – of
modeling systems. The description of this evaluation and the results obtained are also
analyzed throughout this document. Finally, the comments and suggestions made by
participants allowed us to establish the necessary basis for future development of this
work.
Résumé
L’évolution des systèmes logiciels d’appui au design s’est caractérisée, entre autres
aspects, par un développement notable de sa fonctionnalité. Ce développement a été
obtenu aux dépens d’un accroissement peu désirable de la complexité de son utilisation et d’une conséquente distanciation par rapport au papier et au crayon. La profusion de fonctions et la rigidité de l’interaction ont tendance à pénétrer dans l’esprit du
designer, troublant sa créativité. Donc, ce n’est pas surprenant que celui-ci continue à
utiliser le papier et le crayon dans les phases initiales du design, n’ayant recours à
l’ordinateur que dans les dernières étapes, quand la forme de l’objet qui est en conception est déjà établie et il faut convertir l’esquisse dans un dessin rigoureux.
Il y a par conséquent une barrière difficile à dépasser entre le papier et le crayon,
d’utilisation simple et passive, d’une part, et les systèmes CAD professionnels, complexes et peu naturels, d’autre part.
Le travail présenté dans ce document a constitué une approche au processus de transposition de cet obstacle. Il a permis d’analyser les plusieurs efforts de recherche qui
visent le même objectif et qui envisagent des solutions aussi diversifiées que la manipulation directe (2D et 3D) et la reconnaissance calligraphique (ambiguë et non ambiguë), le modelage CSG et la reconstruction de modèles tridimensionnels à partir de
ses représentations dessinées, les ambiances traditionnelles et les immersifs de réalité
virtuelle augmentée.
L’identification des aspects positifs et négatifs qui caractérisent toutes ces approches
ont permis de conclure que l’esquisse ou le dessin manuel doit être la principale métaphore organisationnelle des systèmes de modelage. Il a fallu donc établir un ensem-
ble de principes orientés vers la résolution du défi qui l’adoption de telle métaphore
implique.
Le prototype GIDeS – Gesture-based Interactive Design System – a été conçu pour
valider spécifiquement les principes indiqués ci-dessus. Ce document rend compte de
la description de son architecture, de quelques algorithmes principaux qui sont à la
base de son fonctionnement, et de son utilisation.
La validation proprement dite s’est traduite dans l’évaluation de l’usabilité du prototype, effectuée par le biais d’un échantillon représentatif des utilisateurs potentiels –
dans la plupart designers – de systèmes de modelage. La description de cette évaluation, ainsi que l’analyse des résultats au cours de sa réalisation, sont aussi analysés
dans ce document. Pour terminer, les commentaires et les suggestions de modification
qui ont été produits ont permis de lancer les bases nécessaires au développement futur
de ce travail.
Índice
1
Introdução
1.1
Contribuições do trabalho apresentado
1-2
1.1.1
Paradigma do desenho incremental
1-3
1.1.2
Listas de expectativas
1-3
1.1.3
Arquitectura em cascata do sistema de reconhecimento
1-4
1.1.4
Reconhecimento adaptável e não condicionador
1-6
1.1.5
Correcção ambígua de esboços
1-7
1.1.6
Restrições geométricas
1-8
1.1.7
Linhas de construção
1-8
1.1.8
Edição e transformação geométrica de alto nível
1-9
1.1.9
Interfaces RISC
1-10
1.2
Estrutura da dissertação
1-10
1.3
Publicações relacionadas
1-12
2
Trabalho relacionado
2.1
Introdução
2-1
xiv
Interacção caligráfica ambígua em sistemas computacionais de modelação
2.2
Electronic Cocktail Napkin / Back of an Envelope
2-2
2.3
SILK
2-7
2.4
IDeS
2-10
2.4.1
Paradigma do desenho puro
2-10
2.4.2
Intervenções semânticas
2-15
2.4.3
Colagem
2-16
2.5
SKETCH / Jot
2-18
2.5.1
Dispositivos e mecanismos de interacção
2-19
2.5.2
Primitivas 3D
2-20
2.5.3
Operações booleanas
2-23
2.5.4
Redimensionamento de objectos 3D
2-24
2.5.5
Transformações geométricas e outras operações de edição
2-24
2.6
Smart Paper
2-27
2.7
Pegasus
2-28
2.8
Teddy
2-30
2.9
Translucent sketchpad
2-36
2.10
OOPS
2-42
Índice xv
2.11
Stilton
2-48
2.12
O paradigma de interacção de Baudel
2-48
2.13
Sketch-N-Make
2-50
2.14
CALI
2-51
2.15
Chateau
2-54
2.16
SketchUp
2-61
2.16.1
Restrições geométricas
2-65
2.16.2
Linhas de construção
2-66
2.16.3
Cotagem de objectos
2-68
2.17
Conclusão
2-69
3
Discussão
3.1
Paradigma do desenho incremental
3-1
3.2
Reconhecimento caligráfico
3-5
3.2.1
Arquitectura
3-6
3.2.2
Técnicas de mediação
3-10
3.2.3
Dispositivos e mecanismos de interacção
3-13
3.2.4
Primitivas 3D
3-19
xvi
Interacção caligráfica ambígua em sistemas computacionais de modelação
3.2.5
Operações booleanas
3-24
3.3
Listas de expectativas e interfaces RISC
3-25
3.3.1
Padrões de reconhecimento
3-28
3.3.2
Representação visual das sugestões
3-34
3.3.3
Ordenação das opções
3-36
3.3.4
Acção por omissão
3-37
3.3.5
Listas de expectativas versus intervenções semânticas
3-39
3.3.6
Listas de expectativas versus fornecimento de indícios
3-42
3.4
Primitivas curvas e correcção ambígua de esboços
3-45
3.5
Restrições geométricas e linhas de construção
3-47
3.6
Edição e transformação geométrica de alto nível
3-48
3.7
Conclusão
3-51
4
O protótipo GIDeS
4.1
Introdução
4-1
4.2
A interface caligráfica
4-4
4.2.1
Arquitectura e funcionamento
4-4
4.2.2
Pré-processamento de traços
4-12
Índice xvii
4.2.2.1
Filtragem poligonal
4-12
4.2.2.2
Aproximação poligonal
4-13
4.2.2.3
Segmentação
4-13
4.2.2.4
Pré-processamento de traços no sistema GIDeS
4-14
4.2.2.4.1
Primeira versão: filtragem poligonal
4-14
4.2.2.4.2
Segunda versão: filtragem e aproximação poligonal genérica
4-14
4.2.2.4.3
Terceira versão: filtragem e aproximação poligonal específica
4-17
4.2.2.4.4
Segmentação
4-17
4.2.3
Reconhecimento de comandos
4-18
4.2.4
Análise gravitacional de elementos de desenho
4-26
4.2.4.1
Linhas angulosas
4-30
4.2.4.1.1
Gravidade linear
4-31
4.2.4.1.1.1 Gravidade de pontos e vértices
4-31
4.2.4.1.1.2 Gravidade de segmentos de recta e arestas
4-31
4.2.4.1.2
Gravidade angular
4-32
4.2.4.2
Linhas suaves
4-34
4.2.4.2.1
Circunferências e elipses
4-34
xviii
Interacção caligráfica ambígua em sistemas computacionais de modelação
4.2.4.2.1.1 Gravidade sobre o centro da primitiva
4-34
4.2.4.2.1.2 Gravidade sobre os pontos virtuais constituintes da primitiva
4-35
4.2.4.2.2
Linhas curvas genéricas
4-36
4.2.5
Reconhecimento de primitivas de desenho
4-36
4.2.5.1
Linhas angulosas
4-40
4.2.5.2
Linhas suaves
4-41
4.2.5.2.1
Circunferências
4-41
4.2.5.2.2
Elipses
4-42
4.2.5.2.3
Linhas curvas genéricas
4-43
4.2.5.2.3.1 Splines cúbicas
4-44
4.2.6
Depuração do grafo de desenho
4-58
4.2.7
Reconhecimento de primitivas 3D
4-59
4.2.7.1
Análise topológica
4-60
4.2.7.2
Análise geométrica
4-60
4.2.7.2.1
Bloco
4-61
4.2.7.2.2
Esfera
4-61
4.2.7.2.3
Cilindro, cone e tronco de cone
4-61
Índice xix
4.2.7.2.4
Prisma, pirâmide e tronco de pirâmide
4-62
4.2.7.2.5
Ducto
4-62
4.2.7.2.6
Superfície de revolução
4-63
4.2.7.2.7
Extrusão
4-64
4.2.8
Colocação de primitivas no espaço 3D
4-64
4.2.9
Reconhecimento de operações booleanas
4-66
4.3
Edição 2D
4-68
4.3.1
Remoção de elementos de desenho
4-68
4.3.2
Correcção de esboços
4-69
4.4
Edição 3D
4-70
4.4.1
Clipboard 3D
4-71
4.4.2
Transformações geométricas
4-71
4.4.2.1
Colagem
4-72
4.4.2.2
Deslocamento
4-73
4.4.2.3
Ajustamento
4-73
4.4.3
Corte
4-74
4.4.4
Linhas de construção
4-77
xx
Interacção caligráfica ambígua em sistemas computacionais de modelação
4.5
Manipulação da câmara
4-81
4.5.1
Interacção directa
4-81
4.5.1.1
Pan
4-82
4.5.1.2
Zoom
4-82
4.5.1.3
Viewpoint
4-82
4.5.1.4
Restabelecimento da isometria
4-83
4.5.2
Interacção caligráfica
4-83
4.5.2.1
Pan
4-84
4.5.2.2
Zoom
4-84
4.5.2.2.1
Zoomin
4-85
4.5.2.2.2
Zoomout
4-85
4.5.2.2.3
Zoomall
4-85
4.5.2.3
Viewpoint e restabelecimento da isometria
4-86
4.6
Conclusão
4-87
5
Avaliação de usabilidade
5.1
Introdução
5-1
Índice xxi
5.2
Metodologia em estrela de desenvolvimento de sistemas interactivos
5-5
5.3
Avaliação de usabilidade do sistema GIDeS
5-7
5.3.1
Questionário inicial
5-10
5.3.2
Apresentação do sistema GIDeS aos participantes
5-16
5.3.3
Primeiro questionário
5-19
5.3.4
Testes de eficiência
5-27
5.3.4.1
Primeiro teste de eficiência
5-28
5.3.4.2
Segundo teste de eficiência
5-31
5.3.4.3
Terceiro teste de eficiência
5-34
5.3.4.4
Resultados
5-35
5.3.5
Segundo questionário
5-37
5.3.6
Críticas e sugestões ao sistema GIDeS
5-42
5.3.6.1
Comando undo
5-43
5.3.6.2
Projecções ortográficas
5-43
5.3.6.3
Projecções paralelas a faces de objectos
5-47
5.3.6.4
Linhas de construção
5-47
xxii
Interacção caligráfica ambígua em sistemas computacionais de modelação
5.3.6.5
Listas de expectativas de primitivas 3D
5-48
5.3.7
Complemento à discussão de resultados
5-48
5.4
Conclusão
5-57
6
Trabalho futuro e conclusão
6.1
Trabalho futuro
6-1
6.1.1
Paradigma híbrido do desenho
6-2
6.1.2
Modalidades complementares de interacção
6-4
6.1.3
Ambiguidade infinita
6-6
6.1.4
Expansão do âmbito de utilização das listas de expectativas
6-12
6.1.4.1
Correcção automática de esboços
6-12
6.1.4.2
Execução de cortes e furos em objectos
6-14
6.1.5
Características temporais do gesto
6-16
6.1.5.1
Ordenação das opções das listas de expectativas
6-16
6.1.5.2
Sugestão automática de operações de manipulação da câmara
6-18
6.1.6
Projecções ortográficas
6-20
6.1.7
Restrições geométricas
6-27
6.1.8
Linhas de construção e edição automática
6-30
Índice xxiii
6.1.9
Cotagem de objectos
6-34
6.2
Conclusão
6-39
Bibliografia
Apêndice A
O sistema Trainer de aprendizagem caligráfica
Introdução
A-1
Aspecto visual da interface
A-1
Interacção
A-2
Comunicação com o protótipo GIDeS
A-4
Apêndice B
Guião da sessão para a avaliação da usabilidade
do protótipo GIDeS
Sessão para a avaliação da usabilidade
B-1
Formulário de consentimento
B-2
Questionário inicial (QTi)
B-3
Questionário após a apresentação do protótipo GIDeS (QT1)
B-5
xxiv
Interacção caligráfica ambígua em sistemas computacionais de modelação
Questionário após a experimentação do protótipo GIDeS (QT2)
B-8
Primeiro teste de eficiência (BM1)
B-11
Segundo teste de eficiência (BM2)
B-12
Terceiro teste de eficiência (BM3)
B-13
Lista de figuras
Figura 2-1
Exemplos de diagramas normalmente esboçados em guardanapos de papel
2-2
Figura 2-2
Quadro de desenho do Electronic Cocktail Napkin
2-3
Figura 2-3
Livro de esboços do Electronic Cocktail Napkin
2-3
Figura 2-4
Identificação das características de um gesto
2-4
Figura 2-5
Treino do módulo de reconhecimento do Electronic Cocktail
Napkin
2-5
Figura 2-6
Satisfação de restrições pelo Electronic Cocktail Napkin
2-6
Figura 2-7
Exemplo de um esboço de interface criado com o sistema SILK
2-8
Figura 2-8
A mesma interface criada com um sistema convencional de
design de interfaces
Figura 2-9
Gestos de comando do sistema SILK
2-9
2-10
Figura 2-10 Classificação de junções
2-11
Figura 2-11 Configurações válidas de junções e linhas
2-12
Figura 2-12 Exemplos de desenhos correctamente etiquetados
2-13
Figura 2-13 Exemplo de intervenção semântica
2-15
Figura 2-14 Outros exemplos de intervenções semânticas
2-16
xxvi
Interacção caligráfica ambígua em sistemas computacionais de modelação
Figura 2-15 Colagem de uma linha a um sólido
2-17
Figura 2-16 Exemplo de aplicação do conceito de colagem à edição de objectos
2-18
Figura 2-17 Exemplos de cenas produzidas no sistema SKETCH
2-18
Figura 2-18 Subtracção CSG no sistema SKETCH
2-23
Figura 2-19 Redimensionamento de objectos no sistema SKETCH
2-24
Figura 2-20 Transformações geométricas com restrições
2-25
Figura 2-21 Agrupamento de objectos e operações associadas
2-26
Figura 2-22 Gestos de comando do sistema Smart Paper
2-27
Figura 2-23 Exemplo de uma cena produzida no sistema Pegasus
2-30
Figura 2-24 O sistema Teddy
2-31
Figura 2-25 Modelos produzidos no sistema Teddy e pintados num editor
comercial
2-31
Figura 2-26 Operações gestuais suportadas pelo sistema Teddy
2-32
Figura 2-27 Exemplos de deformação de objectos no sistema Teddy
2-34
Figura 2-28 Modelos produzidos e pintados nos sistemas Teddy e Chameleon
2-35
Figura 2-29 O bloco translúcido de esboços de Encarnação, Bimber et al.
2-36
Figura 2-30 Gestos de comando do bloco translúcido
2-37
Lista de figuras
xxvii
Figura 2-31 Exemplos de aplicação de comandos no bloco translúcido
2-37
Figura 2-32 Gestos de alteração de modo do bloco translúcido
2-38
Figura 2-33 Gestos de criação de objectos do bloco translúcido
2-38
Figura 2-34 Exemplos de criação de objectos no bloco translúcido
2-39
Figura 2-35 Exemplo de um esboço 3D feito à mão livre
2-40
Figura 2-36 Sequência de transformações geométricas efectuadas com base
no desenho 3D
2-40
Figura 2-37 O sistema Virtual mission planning
2-41
Figura 2-38 O sistema ARCADE
2-41
Figura 2-39 O sistema SketchAR
2-42
Figura 2-40 Sequência de utilização do sistema Burlap
2-43
Figura 2-41 Exemplo de mediação por repetição (reparação parcial)
2-45
Figura 2-42 Exemplo de um modelo produzido no sistema Sketch-N-Make
2-51
Figura 2-43 Gestos de comando da biblioteca CALI
2-52
Figura 2-44 Resolução de ambiguidades no editor caligráfico de Fonseca et
al.
2-54
Figura 2-45 Exemplos de cenas produzidas no sistema Chateau
2-54
Figura 2-46 Mecanismos de predição e de sugestão do sistema Chateau
2-55
xxviii Interacção caligráfica ambígua em sistemas computacionais de modelação
Figura 2-47 Modelos criados aquando da avaliação de usabilidade do sistema
Chateau
2-59
Figura 2-48 O sistema SketchUp
2-61
Figura 2-49 Exemplo de aplicação da ferramenta push/pull
2-62
Figura 2-50 Exemplos de aplicação das ferramentas move/copy e rotate
2-62
Figura 2-51 Exemplos de sólidos de construção difícil
2-63
Figura 2-52 Sequência de construção de uma pirâmide rectangular
2-65
Figura 2-53 Sequência de criação de duas linhas de construção
2-67
Figura 2-54 Cotagem e redimensionamento de objectos
2-68
Figura 3-1
Exemplos de sólidos de reconstrução difícil
Figura 3-2
Arquitectura em cascata do sistema de reconhecimento do protótipo GIDeS
3-4
3-6
Figura 3-3
Reconhecimento adaptável
3-12
Figura 3-4
Lista de expectativas de operações de câmara
3-15
Figura 3-5
O Projecto SmartSketches
3-18
Figura 3-6
Exemplo de dois ductos de secção rectangular instanciados pelo
mesmo gesto
3-20
Lista de figuras
Figura 3-7
Maneiras diversas de invocar a construção do mesmo bloco
Figura 3-8
Maneiras diversas de invocar a construção do mesmo tronco de
cone
Figura 3-9
xxix
3-22
3-22
Variação do gesto do prisma quadrangular em função dos ângulos de projecção
3-23
Figura 3-10 Operações booleanas no sistema GIDeS
3-25
Figura 3-11 Lista de expectativas de comandos
3-29
Figura 3-12 Comandos de ampliação/redução de imagem
3-30
Figura 3-13 Lista de expectativas de primitivas de desenho
3-30
Figura 3-14 Ambiguidade cone/tronco de cone
3-32
Figura 3-15 Controlo e reforço da ambiguidade
3-33
Figura 3-16 Lista de expectativas de primitivas 3D
3-34
Figura 3-17 Lista de expectativas de operações booleanas
3-39
Figura 3-18 Exemplo de interpretações semânticas no sistema GIDeS
3-40
Figura 3-19 Satisfação de restrições por parte do sistema GIDeS
3-49
Figura 4-1
A janela de trabalho do sistema GIDeS
4-3
Figura 4-2
Arquitectura do sistema de reconhecimento caligráfico
4-5
xxx
Interacção caligráfica ambígua em sistemas computacionais de modelação
Figura 4-3a Processamento dos traços desenhados pelo utilizador
4-6
Figura 4-3b Processamento dos traços desenhados pelo utilizador (conclusão)
4-7
Figura 4-4
Exemplo de funcionamento da primeira etapa do algoritmo split
and merge
Figura 4-5
4-15
Exemplo de funcionamento da segunda etapa do algoritmo split
and merge
4-15
Figura 4-6
Variação da agressividade do processo de aproximação poligonal
4-16
Figura 4-7
Gesto correspondente aos comandos de apagar e de aplicar texturas
4-17
Figura 4-8
Características usadas na identificação dos traços
4-19
Figura 4-9
Distâncias entre pares de traços constituintes do mesmo gesto
4-21
Figura 4-10 Gesto correspondente ao comando de selecção de objectos
4-25
Figura 4-11 Variação da agressividade do processo de análise gravitacional
4-28
Figura 4-12 Comportamento do sistema face a diferentes estilos de desenho
4-30
Figura 4-13 Gravidade radial externa
4-35
Figura 4-14 Gravidade radial interna
4-35
Figura 4-15 Listas de expectativas de primitivas de desenho
4-39
Figura 4-16 Diferentes variações de primitivas angulosas de desenho
4-40
Lista de figuras
xxxi
Figura 4-17 Secção de uma spline cúbica
4-46
Figura 4-18 Duas secções adjacentes de uma spline cúbica
4-47
Figura 4-19 Condições de fronteira de uma spline cúbica
4-53
Figura 4-20 Caso particular de uma spline fechada com condição de fronteira
do tipo clamped
4-56
Figura 4-21 Efeito da aplicação de tensão a uma spline cúbica
4-57
Figura 4-22 Instanciação de um bloco
4-58
Figura 4-23 Bloco
4-61
Figura 4-24 Esfera
4-61
Figura 4-25 Cilindro, cone e tronco de cone
4-62
Figura 4-26 Prisma, pirâmide e tronco de pirâmide
4-62
Figura 4-27 Ducto
4-63
Figura 4-28 Superfície de revolução
4-63
Figura 4-29 Extrusão
4-64
Figura 4-30 Pontos, direcções e sentidos privilegiados
4-65
Figura 4-31 Ausência de ambiguidade (produto escalar não nulo)
4-66
Figura 4-32 Ambiguidade (produto escalar nulo)
4-67
xxxii Interacção caligráfica ambígua em sistemas computacionais de modelação
Figura 4-33 Ambiguidade (produto escalar não susceptível de ser calculado)
4-68
Figura 4-34 Correcção de esboços
4-70
Figura 4-35 Operações de edição 3D
4-71
Figura 4-36 Colagem de objectos
4-72
Figura 4-37 Ajustamento de objectos
4-74
Figura 4-38 Exemplo da execução de um furo
4-75
Figura 4-39 Exemplo da execução de um corte
4-76
Figura 4-40 Determinação do perfil do sólido de extrusão
4-76
Figura 4-41 Acção gravitacional sobre um ponto de um traço recémesboçado
4-78
Figura 4-42 Exemplo de utilização de linhas de construção na edição de
objectos 3D
4-79
Figura 4-43 Lista de expectativas de manipulação directa da câmara
4-81
Figura 4-44 Ângulos de observação da cena
4-83
Figura 4-45 Gestos correspondentes ao comando pan
4-84
Figura 4-46 Gesto correspondente aos comandos zoom e lista de expectativas
associada
4-85
Lista de figuras
xxxiii
Figura 4-47 Gesto correspondente ao comando viewpoint e caixa de diálogo
associada
Figura 5-1
4-86
Metodologia em estrela de desenvolvimento de sistemas interactivos
5-6
Figura 5-2
Respostas ao questionário inicial
5-11
Figura 5-3
Valores médios das respostas ao questionário inicial
5-12
Figura 5-4
Cena composta por uma mesa, quatro cadeiras e um vaso
5-17
Figura 5-5
Candeeiro
5-18
Figura 5-6
Candeeiro mais complexo
5-19
Figura 5-7
Respostas ao primeiro questionário
5-20
Figura 5-8
Valores médios das respostas ao primeiro questionário
5-20
Figura 5-9
Lista de expectativas de primitivas 3D: barra de ícones
5-22
Figura 5-10 Lista de expectativas de primitivas 3D: sequência de modelos em
escala natural
5-23
Figura 5-11 Lista de expectativas de primitivas 3D: modelos em escala reduzida
Figura 5-12 Primeiro teste de eficiência
5-23
5-28
xxxiv Interacção caligráfica ambígua em sistemas computacionais de modelação
Figura 5-13 Processo de construção da cadeira
5-29
Figura 5-14 Segundo teste de eficiência
5-32
Figura 5-15 Processo de edição da cadeira
5-33
Figura 5-16 Terceiro teste de eficiência
5-34
Figura 5-17 Respostas ao segundo questionário
5-37
Figura 5-18 Valores médios das respostas ao segundo questionário
5-38
Figura 5-19 Variações das respostas obtidas nos primeiro e segundo questionários
5-38
Figura 5-20 Variações médias das respostas obtidas nos primeiro e segundo
questionários
Figura 5-21 Gesto correspondente ao comando undo
5-39
5-43
Figura 5-22 Lista de expectativas de primitivas 2D com a opção de rejeição
seleccionada
5-43
Figura 5-23 Diferentes projecções do gesto que instancia um prisma hexagonal
5-44
Figura 5-24 Operações de câmara e de comutação de vistas
5-46
Figura 5-25 Agrupamento das operações de câmara e de comutação de vistas
5-46
Lista de figuras
xxxv
Figura 5-26 Exemplo de um sólido de extrusão obtido a partir de um polígono de doze lados
Figura 6-1
5-56
Aplicação de regras heurísticas e perceptuais na interpretação de
um desenho
6-8
Figura 6-2
Exemplo de uma lista de expectativas infinitas
6-10
Figura 6-3
Co-senos directores da normal a um plano
6-11
Figura 6-4
Ambiguidade na correcção automática de esboços
6-13
Figura 6-5
Lista de expectativas de correcção de esboços
6-14
Figura 6-6
Ambiguidade na execução de cortes em objectos
6-15
Figura 6-7
Ambiguidade na execução de furos em objectos
6-15
Figura 6-8
Ambiguidade no desenho
6-16
Figura 6-9
Sugestão automática do comando zoom
6-18
Figura 6-10 Sugestão automática do comando pan
6-19
Figura 6-11 Sequência de construção de uma cena com o recurso a projecções ortográficas
6-21
Figura 6-12 Influência da projecção sobre o reconhecimento de primitivas
3D
Figura 6-13 Arquitectura do sistema de reconhecimento caligráfico
6-24
6-26
xxxvi Interacção caligráfica ambígua em sistemas computacionais de modelação
Figura 6-14 Exemplo de aplicação da simetria na construção de objectos
6-28
Figura 6-15 Construção do objecto no sistema GIDeS
6-29
Figura 6-16 Construção do objecto com o recurso a operações de simetria
6-29
Figura 6-17 Camadas de desenho e de projecção da cena
6-30
Figura 6-18 Camadas de desenho, linhas de construção e de projecção da
cena
6-31
Figura 6-19 Execução de dois furos simétricos
6-32
Figura 6-20 Edição automática de objectos
6-33
Figura 6-21 Cotagem de um cilindro
6-34
Figura 6-22 Cotagem de um cilindro (conclusão)
6-35
Figura 6-23 Ambiguidade na cotagem de objectos
6-36
Figura 6-24 Independência das dimensões de um corte face às linhas de construção
6-38
Figura 6-25 Dependência das dimensões de um corte face às linhas de construção
6-39
Figura 6-26 Exemplo de uma cena produzida no sistema GIDeS++
6-40
Figura A-1
A-2
A janela de trabalho do sistema Trainer
Lista de figuras
xxxvii
Figura B-1
Primeiro teste de eficiência
B-11
Figura B-2
Segundo teste de eficiência
B-12
Figura B-3
Terceiro teste de eficiência
B-13
Lista de tabelas
Tabela 2-1
As cinco classes de elementos de desenho do sistema SKETCH
Tabela 2-2
Descrição dos comandos de manipulação directa da câmara no
sistema SKETCH
Tabela 2-3
2-19
2-20
As primitivas 3D do sistema SKETCH e os gestos que lhes dão
origem
2-21
Tabela 2-4
Restrições geométricas suportadas pelo sistema Pegasus
2-29
Tabela 2-5
Exemplos de aplicação das operações gestuais do sistema Teddy
2-33
Tabela 2-6
Repertório de sugestões do sistema Chateau
2-57
Tabela 2-7
Exemplos de novos motores de sugestões
2-58
Tabela 2-8
Síntese dos principais aspectos positivos dos trabalhos investigados
Tabela 2-9
Síntese dos principais aspectos negativos dos trabalhos investigados
Tabela 3-1
2-71
As primitivas 3D do sistema GIDeS e os gestos que lhes dão origem
Tabela 3-2
2-70
3-2
Comparação das gerações corrente e futura de interfaces com o
utilizador
3-41
xl
Interacção caligráfica ambígua em sistemas computacionais de modelação
Tabela 3-3
Síntese dos principais aspectos positivos dos trabalhos investigados
Tabela 3-4
3-52
Síntese dos principais aspectos negativos dos trabalhos investigados
3-54
Tabela 4-1
Critério utilizado na reorientação de um segmento de recta
4-33
Tabela 5-1
Domínios comportamental e estrutural
Tabela 5-2
Tempos médios obtidos na realização dos testes de eficiência
Tabela 5-3
Comparação do protótipo GIDeS com dois sistemas de CAD
Tabela 5-4
5-3
5-35
convencionais
5-36
Comparação de dispositivos de entrada/saída
5-36
Tabela A-1 Funções do teclado
A-3
Tabela B-1 Roteiro da sessão
B-1
Capítulo 1
Introdução
Contribuições do trabalho apresentado
Paradigma do desenho incremental
Listas de expectativas
Arquitectura em cascata do sistema de reconhecimento
Reconhecimento adaptável e não condicionador
Correcção ambígua de esboços
Restrições geométricas
Linhas de construção
Edição e transformação geométrica de alto nível
Interfaces RISC
Estrutura da dissertação
Publicações relacionadas
1 Introdução
O aumento do poder de cálculo das plataformas computacionais nas últimas décadas,
não obstante ter proporcionado um incremento significativo na funcionalidade dos
programas de desenho assistido por computador, não tem tido correspondência ao
nível dos ganhos de usabilidade desses mesmos programas, pese embora o sucesso
das chamadas desktop interfaces1. Tal deve-se, sobretudo, ao facto de os modelos de
construção de objectos e cenas tridimensionais reflectirem mais as características e
virtudes da representação computacional desses objectos, e não tanto o ponto de vista
do utilizador.
Este problema é particularmente evidente nas fases iniciais do processo de design,
pois a utilização dos sistemas actuais no desenho das formas que traduzem os objectos
existentes nas mentes dos designers continua a ser complexa e pouco natural, num
claro contraste com a facilidade de aprendizagem e a simplicidade de utilização do
lápis e do papel. Os diálogos rígidos e muito estruturados que caracterizam os processos de interacção destes sistemas restringem a liberdade de desenho do utilizador e
desviam a sua atenção para aspectos secundários que perturbam o fluxo criativo de
ideias.
Em 1990, Jim Blinn escreveu [Blinn90]: “There is a tool that works perfectly fine for
the ideation phase of creation. I know it might be heretical to say this, but the ultimate
creative design tool is: Paper and Pencil”. Após uma descrição das vantagens proporcionadas por estes utensílios – são baratos, silenciosos, portáteis, leves, não requerem
1
Também designadas por interfaces WIMP – Windows, Icons, Menus and Pointers – e NERD – Navigation, Evaluation, Refinement and Demonstration [Chignell91].
1-2
Interacção caligráfica ambígua em sistemas computacionais de modelação
energia eléctrica e têm uma boa resolução – Blinn conclui: “The combination of paper
and pencil works [...] and I don’t see computer graphics replacing it. AND THAT’S
OK. I’m not being funny here”.
Os aspectos acima referidos têm como consequência que os actuais sistemas de CAD
sejam preteridos em benefício do lápis e do papel na representação rápida de formas
de objectos em fase de concepção. No entanto, se se conseguir que os computadores
sejam utilizados logo no início do processo de design, as vantagens poderão ser enormes, dado o impacto que as alterações iniciais nas especificações do produto têm nos
estágios derradeiros do seu desenvolvimento. A concretização deste objectivo não
deve, contudo, comprometer os méritos dos sistemas actuais no que se refere ao rigor
e à complexidade dos objectos que permitem construir.
1.1 Contribuições do trabalho apresentado
Nesta dissertação é apresentada uma abordagem a este problema, baseada em novos
conceitos e num novo paradigma de interacção, os quais foram investigados e desenvolvidos no âmbito dos trabalhos de Doutoramento em Engenharia Electrotécnica e de
Computadores da Faculdade de Engenharia da Universidade do Porto, e se enquadram
nas áreas da Interacção Caligráfica2 e dos Sistemas de Modelação 3D.
A abordagem em causa foi concretizada no desenvolvimento de um protótipo de um
sistema de desenho assistido por computador que incorpora e explora muitos desses
conceitos. No sistema GIDeS – Gesture-based Interactive Design System – a interac-
2
A expressão Interfaces Caligráficas foi criada por Joaquim Jorge em 1994 e designa uma classe de
interfaces com o utilizador nas quais o esboço ou desenho feito à mão, com base na manipulação de
uma caneta ou estilete, constitui a principal metáfora organizacional. Este conceito opõe-se ao da metáfora do tampo de secretária, utilizada na maioria das interfaces gráficas actuais e caracterizada, entre
outros aspectos, por uma acção do tipo apontar e carregar [Jorge94].
Introdução
1-3
ção baseia-se na utilização de um ecrã táctil e de um estilete, no sentido de aproximar
as interfaces dos sistemas de CAD dos tradicionais papel e lápis, tão do agrado dos
designers nas fases iniciais do seu trabalho.
A mera substituição do rato e ecrã convencionais por outros dispositivos não é, no
entanto, condição suficiente para que a utilização de um sistema computacional de
apoio ao design se torne tão simples e familiar quanto a do lápis e papel. Nas secções
que se seguem são apresentadas as contribuições do presente trabalho para a resolução
deste problema.
1.1.1 Paradigma do desenho incremental
Este documento descreve um novo paradigma de interacção, no qual as acções a efectuar e os objectos sobre os quais as referidas acções deverão incidir sejam especificados pelo desenho em si, e não por um conjunto extenso, pouco familiar e de difícil
memorização, de comandos de manipulação e de opções de modificação do comportamento desses comandos3. Com base no reconhecimento em tempo real dos esboços
feitos pelo utilizador, num conjunto de formas elementares e na satisfação inteligente
de restrições geométricas é possível, sem pôr em causa a simplicidade da interacção,
construir de uma forma incremental cenas tridimensionais razoavelmente complexas.
1.1.2 Listas de expectativas
Fundamentar a interacção no desenho implica o reconhecimento de uma linguagem
que é usada pelos seres humanos na transmissão de informação. À semelhança do que
3
O paradigma de interacção das interfaces de manipulação directa não é tão diferente do das interfaces
de linha de comandos quanto pode parecer à primeira vista. A principal distinção reside no facto de,
nos primeiros, a discriminação do objecto preceder a especificação da acção a efectuar sobre esse
objecto, enquanto nos segundos a ordem é a inversa.
1-4
Interacção caligráfica ambígua em sistemas computacionais de modelação
acontece com outras formas naturais de comunicação, o acto de esboçar é um processo intrinsecamente ambíguo e, como tal, sujeito a interpretações erradas por parte do
receptor da informação. A isto acresce o facto de pessoas diferentes desenharem de
maneiras diferentes, o que vem dificultar ainda mais o reconhecimento.
Nesta tese é apresentado o conceito de lista de expectativas, uma forma integrada de
encarar e de lidar com a ambiguidade intrínseca aos processos de reconhecimento
caligráfico e com os erros dela decorrentes, explorando-os no sentido de beneficiar –
ao invés de prejudicar – o utilizador. As acções gestuais deste último têm como consequência o aparecimento, sob a forma pictográfica, de um conjunto de opções
dependentes do contexto, representativas de linhas possíveis de actuação, podendo o
utilizador aceitar a sugestão que melhor servir os seus intentos ou, pelo contrário,
rejeitá-las a todas e prosseguir com a execução do desenho. As listas de expectativas
constituem uma tentativa, por parte do sistema, de antecipar as acções futuras do utilizador, o que se traduz numa redução da carga cognitiva que lhe é imposta e num
aumento significativo da eficiência da interacção. O carácter meramente sugestivo e
não intrusivo das listas de expectativas assegura o respeito pela liberdade de desenho
do utilizador e permite que este concentre a sua atenção na tarefa de desenhar.
1.1.3 Arquitectura em cascata do sistema de reconhecimento
Um dos conceitos defendidos neste trabalho é o de que a utilização do estilete, numa
interface caligráfica em que o paradigma de interacção é o desenho, se deve assemelhar, tanto quanto possível, à de um lápis convencional. Esta condição tem como consequência que as acções gestuais do utilizador sejam validadas, apenas, com base na
Introdução
1-5
utilização do botão localizado na extremidade daquele dispositivo4. O recurso a
botões ou teclas suplementares compromete a simplicidade da interacção e aumenta a
carga cognitiva imposta ao utilizador, na medida em que este tem de conhecer, a priori, qual o botão, eventualmente acompanhado de uma tecla modificadora, correspondente a cada uma das classes gestuais reconhecidas pelo sistema.
A não utilização de vários botões que permita, à partida, catalogar o gesto do utilizador e limitar o leque das opções possíveis num determinado contexto, vem dificultar
ainda mais o processo de reconhecimento. A abordagem a este problema consistiu na
subdivisão do processo em vários sub-processos – um para cada categoria de gestos –
de reconhecimento caligráfico, e pela disposição dos módulos responsáveis por cada
sub-processo segundo uma arquitectura em cascata. O gesto, ao “percorrer” as diversas etapas da cadeia, desencadeia em sucessão os sub-processos de reconhecimento de
comandos, primitivas 2D, primitivas 3D e operações booleanas. A arquitectura em
cascata está presente, também, ao nível da estrutura interna de alguns dos módulos de
reconhecimento. No módulo de primitivas 2D, por exemplo, a classificação do gesto
como correspondendo a um traço suave ou anguloso antecede a identificação propriamente dita da primitiva. E no módulo de primitivas 3D, a análise das características geométricas do gesto é precedida de uma classificação topológica do mesmo.
4
Com a excepção, no sistema que serviu de suporte à avaliação dos conceitos aqui defendidos, dos
comandos de manipulação da câmara. Estes, não estando directamente relacionados com o desenho,
estão acessíveis mediante a acção do utilizador sobre o botão lateral do estilete. No entanto, existem
comandos gestuais redundantes que permitem obter o mesmo efeito, pelo que a utilização daquele
botão não é verdadeiramente indispensável.
1-6
Interacção caligráfica ambígua em sistemas computacionais de modelação
1.1.4 Reconhecimento adaptável e não condicionador
Nesta dissertação é defendido o conceito de que o respeito pela liberdade de desenho
do utilizador deve ser o principal critério a ter em conta no desenvolvimento dos algoritmos de reconhecimento caligráfico5. A taxa de erros, embora constitua, também,
um aspecto importante que é preciso considerar, não é o que suscita maior preocupação numa interface caligráfica que explora a ambiguidade e incentiva o seu aparecimento, pois os parâmetros de decisão de todo o processo de reconhecimento são ajustados no sentido de o tornarem substancialmente tolerante, o que tem consequências
benéficas ao nível da referida taxa.
Para que a liberdade de desenho do utilizador seja respeitada é necessário que o reconhecimento se adapte às maneiras diferentes de trabalhar de cada pessoa, e não o
inverso. Os parâmetros de decisão acima referidos deverão ser susceptíveis de um reajustamento automático em função da exactidão – ou da ausência dela – das resoluções
tomadas pelo sistema em situações análogas ocorridas no passado. A informação
indispensável a este processo retroactivo de aprendizagem e auto-correcção é obtida a
partir da reacção do utilizador – ao aceitar esta opção e não aquela, ou ao rejeitá-las a
todas – à exibição, por parte do sistema, das listas de expectativas.
Também não deverão existir imposições ao designer no que se refere, por exemplo, à
ordem pela qual os diversos traços serão esboçados, ou ao sentido segundo o qual
cada traço será desenhado. Isto é válido a todos os níveis do processo de reconhecimento: na autenticação de gestos de comando, na identificação de primitivas 2D e 3D,
e na determinação da operação booleana mais adequada a cada contexto. Além disso,
5
E no aperfeiçoamento de algoritmos já existentes.
Introdução
1-7
e no caso particular das primitivas 3D, os gestos que as instanciam não deverão ser
gestos meramente icónicos e rigidamente estabelecidos. O reconhecimento de primitivas deverá, pelo contrário, ser um processo flexível, e ocorrer com naturalidade assim
que os traços representativos do contorno do objecto sejam suficientes para se obter
uma identificação possível6 para o mesmo.
1.1.5 Correcção ambígua de esboços
No desenho com lápis e papel é frequente verificarem-se situações em que o designer,
não se mostrando inteiramente satisfeito com o perfil de um traço acabado de esboçar,
rejeita a utilização da borracha para corrigir o erro. Em vez disso, a forma do traço é
ajustada sobrepondo-lhe um ou mais traços adicionais. A espessura dos traços de correcção é, normalmente, superior à do traço original.
A ideia de incorporar esta técnica, designada por oversketching, em sistemas computacionais de apoio ao design não é de agora. Em 1994 Baudel propôs um paradigma
de interacção que permite a edição de splines com base neste princípio [Baudel94]7.
Os benefícios resultantes da sua aplicação não são de menosprezar: aumenta a eficiência da interacção, na medida em que dispensa o recurso ao comando de apagar e
reduz a taxa dos erros eventualmente decorrentes da utilização desse comando; é uma
técnica familiar e do agrado dos potenciais utilizadores deste tipo de sistemas; e é coerente com o desenho enquanto paradigma de interacção. Como contrapartida, o núme-
6
Uma identificação possível, e não uma identificação inequívoca. Isto é, o processo de reconhecimento
actua em antecipação, sem que a identidade do objecto tenha sido determinada de forma evidente. A
resolução da eventual ambiguidade daí decorrente fica a cargo das listas de expectativas. Este conceito
representa uma economia significativa de tempo e de esforço para o utilizador e traduz-se numa utilização mais eficiente do sistema de modelação.
7
Na Secção 2.12 do Capítulo 2 é feita uma descrição mais pormenorizada da contribuição de Baudel.
1-8
Interacção caligráfica ambígua em sistemas computacionais de modelação
ro de iterações necessárias à obtenção da forma desejada para um traço (a convergência do processo de refinamento) pode ser significativo, o que põe em causa os ganhos
de eficiência atrás referidos.
Nesta tese defende-se a ideia de que as técnicas de oversketching podem ser aperfeiçoadas quando usadas em conjugação com as listas de expectativas. Estas, ao sugerirem, em função do contexto, várias opções de processamento de um dado traço de
correcção (segmentos de linha recta, linhas poligonais e splines, por exemplo; ou diferentes tipos de splines), providenciam atalhos que contribuem para uma convergência
mais célere do processo de refinamento.
1.1.6 Restrições geométricas
Nas interfaces em que o desenho incremental é o paradigma de interacção existe uma
assistência permanente ao utilizador traduzida, por um lado, no reconhecimento em
tempo real dos gestos por ele esboçados e, por outro, em conjuntos de opções que lhe
são sugeridas sob a forma de listas de expectativas. Este auxílio é complementado
com a aplicação, em função do contexto, de restrições de carácter geométrico que
convertem os esboços imprecisos do utilizador em desenhos – e, por conseguinte, em
objectos e cenas tridimensionais – razoavelmente rigorosos. As restrições actuam quer
ao nível do desenho propriamente dito (isto é, em 2D), quer ao nível da edição da
forma e da transformação geométrica de modelos 3D previamente construídos.
1.1.7 Linhas de construção
Outro dos conceitos defendidos neste trabalho é o da utilização de linhas auxiliares de
construção na concepção rigorosa de objectos. As linhas de construção geométrica são
bem conhecidas dos desenhadores, os quais as usam com frequência na execução de
Introdução
1-9
desenhos técnicos. Num sistema computacional de apoio ao design, as linhas de construção deverão poder ser usadas quer nas fases iniciais do projecto, anteriores à criação de geometria 3D, quer nos estágios posteriores de edição de modelos já existentes.
Em conjugação com as restrições geométricas, as linhas de construção constituem um
instrumento de precisão, de utilização simples mas poderosa, limitado apenas pela
imaginação e talento de quem o estiver a usar.
1.1.8 Edição e transformação geométrica de alto nível
Nos sistemas de CAD convencionais a alteração da forma de um objecto 3D – a execução de furos ou o arredondamento de arestas, por exemplo – é um processo artificial
e complexo que implica, normalmente, a realização de sucessivas operações booleanas do objecto em questão com sólidos auxiliares construídos exclusivamente para
esse fim. Isto significa que compete ao utilizador, e não ao sistema, estabelecer a
sequência de passos a efectuar no sentido de se obter o resultado pretendido.
Este problema também se manifesta na execução de transformações geométricas de
corpo rígido. Na alteração da posição ou da orientação no espaço de um objecto 3D,
cabe ao utilizador a tarefa de determinar as operações – translações e rotações – que é
necessário efectuar, bem como os parâmetros dessas operações.
A abordagem defendida nesta dissertação adopta o ponto de vista oposto. Nas operações de transformação geométrica de sólidos o utilizador limita-se, sempre com base
no desenho, a especificar a nova posição e a nova orientação do objecto no espaço,
encarregando-se o sistema de planear a sequência de translações e rotações que é
necessário efectuar para levar a tarefa a bom termo.
1-10
Interacção caligráfica ambígua em sistemas computacionais de modelação
De forma idêntica, em operações de edição tais como a execução de cortes e furos, o
utilizador limita-se a esboçar o perfil do referido corte ou furo, incumbindo-se o sistema de construir os sólidos auxiliares e de efectuar as operações booleanas8 necessárias à realização da tarefa. Noutras operações de edição, como sejam a execução de
cavidades e saliências, o processo é semelhante, embora nestes casos seja necessário
especificar a extensão da cavidade ou saliência, encarregando-se o sistema de determinar e sugerir9 ao utilizador a operação booleana10 que melhor se adequa ao contexto.
1.1.9 Interfaces RISC
A conjugação dos aspectos referidos nas secções anteriores, nomeadamente o reconhecimento ambíguo de esboços e o comportamento em antecipação das listas de
expectativas, permite reduzir consideravelmente o vasto repertório de comandos de
manipulação normalmente encontrados nos sistemas de CAD tradicionais, dando
assim origem a uma nova classe de interfaces caligráficas que têm no desenho o seu
paradigma de interacção. Estas levaram a designação de RISC – Reduced Instruction
Set Calligraphic interfaces.
1.2 Estrutura da dissertação
No Capítulo 2 – Trabalho relacionado – é feita uma revista ao trabalho de investigação que tem vindo a ser realizado no âmbito da interacção natural em sistemas computacionais de apoio ao design. Esta é complementada com uma discussão crítica dos
8
Subtracções, neste caso.
9
Sob a forma de uma lista de expectativas.
10
Subtracções no caso das cavidades, uniões no das saliências.
Introdução
1-11
princípios e ideias subjacentes a cada uma das diversas abordagens, realçando as vantagens e os inconvenientes que as caracterizam.
No Capítulo 3 – Discussão – promove-se o debate dos conceitos de que é composta a
abordagem que aqui se defende e procede-se a uma exposição detalhada das razões
pelas quais os mesmos conceitos constituem uma contribuição válida e coerente para
a resolução do problema formulado no início deste capítulo.
O Capítulo 4 – O protótipo GIDeS – consiste numa descrição técnica, pormenorizada,
das funcionalidades do sistema GIDeS e dos algoritmos que lhes servem de suporte. O
desenvolvimento deste protótipo teve como objectivo, recorde-se, a avaliação da exequibilidade e da utilidade dos conceitos subjacentes à construção de desenhos consideravelmente precisos a partir de esboços ambíguos, sem pôr em causa as reconhecidas vantagens que decorrem da utilização do papel e do lápis.
No Capítulo 5 – Avaliação de usabilidade – são apresentados e discutidos os resultados obtidos na avaliação da usabilidade do protótipo GIDeS, a qual foi efectuada por
um conjunto de potenciais utilizadores desta classe de sistemas, nomeadamente designers e arquitectos profissionais, e docentes e estagiários da área do design.
No Capítulo 6 – Trabalho futuro e conclusão – procede-se à apresentação de novas
ideias para trabalhos a realizar futuramente e à conclusão do presente documento.
No Apêndice A – O sistema Trainer de aprendizagem caligráfica – é feita uma breve
descrição da ferramenta computacional cuja concepção teve como objectivo a configuração e a aprendizagem dos gestos de comando reconhecidos pelo protótipo GIDeS.
1-12
Interacção caligráfica ambígua em sistemas computacionais de modelação
Por último, no Apêndice B – Guião da sessão para a avaliação da usabilidade do
protótipo GIDeS – reproduz-se o roteiro que foi adoptado aquando da realização da
sessão de avaliação da usabilidade do sistema.
1.3 Publicações relacionadas
O trabalho descrito neste documento foi objecto das comunicações e publicações que
a seguir se discriminam:
João P. Pereira, Joaquim A. Jorge, Vasco A. Branco, F. Nunes Ferreira
Towards Calligraphic Interfaces: Sketching 3D Scenes with Gestures and Context Icons
The Eighth International Conference in Central Europe on Computer Graphics, Visualization and Interactive Digital Media 2000, Plzen, Czech Republic, February 2000
João P. Pereira, Joaquim A. Jorge, Vasco A. Branco, F. Nunes Ferreira
GIDeS: Uma Abordagem Caligráfica à Edição 3D
Actas do 9.º Encontro Português de Computação Gráfica, Marinha Grande, Portugal, 101-108, Fevereiro 2000
João P. Pereira, Joaquim A. Jorge, Vasco A. Branco, F. Nunes Ferreira
Reduced Instruction Set Calligraphic Interfaces: Sketching Complex 3D Objects with (Fewer) Gestures
d3 desire designum design, 4th European Academy of Design Conference Proceedings, Aveiro, Portugal, 194-196, April 2001
João P. Pereira, Joaquim A. Jorge, Vasco A. Branco, F. Nunes Ferreira
Interfaces Caligráficas RISC
Actas do 10.º Encontro Português de Computação Gráfica, Lisboa, Portugal, 53-60, Outubro 2001
João P. Pereira, Manuel J. Fonseca, Joaquim A. Jorge
Handling Ambiguity and Errors: Visual Languages for Calligraphic Interaction
Proceedings of the 14th Brazilian Symposium on Computer Graphics and Image Processing, Florianópolis, Brazil, 312-319, October 2001
Introdução
1-13
João P. Pereira, Joaquim A. Jorge, Vasco A. Branco, F. Nunes Ferreira
Calligraphic Interfaces: Mixed Metaphors for Design
Proceedings of the 10th International Workshop on the Design, Specification, and Verification of Interactive Systems, Funchal, Madeira Island, Portugal, June 2003
João P. Pereira, Joaquim A. Jorge, Vasco A. Branco, F. Nunes Ferreira
Calligraphic Interfaces: Mixed Metaphors for Design
Lecture Notes in Computer Science, J. A. Jorge, N. Jardim Nunes, J. Falcão e Cunha (Eds.), Springer
Verlag, 2844:154-170, 2003
Palavras-chave
Paradigmas de interacção natural, interfaces caligráficas RISC, desenho incremental,
correcção automática de esboços, técnicas de mediação de ambiguidade, listas de
expectativas, modelação 3D, restrições geométricas, linhas de construção.
Capítulo 2
Trabalho Relacionado
Introdução
Electronic Cocktail Napkin / Back of an Envelope
SILK
IDeS
Paradigma do desenho puro
Intervenções semânticas
Colagem
SKETCH / Jot
Dispositivos e mecanismos de interacção
Primitivas 3D
Operações booleanas
Redimensionamento de objectos 3D
Transformações geométricas e outras operações de edição
Smart Paper
Pegasus
Teddy
Translucent sketchpad
OOPS
Stilton
O paradigma de interacção de Baudel
Sketch-N-Make
CALI
Chateau
SketchUp
Restrições geométricas
Linhas de construção
Cotagem de objectos
Conclusão
2 Trabalho relacionado
Neste capítulo procede-se à descrição e apreciação crítica dos trabalhos de investigação mais relevantes que foram efectuados no âmbito da interacção caligráfica em sistemas computacionais de apoio ao design. Também são analisados, pela sua importância, alguns trabalhos efectuados na área da modelação 2D e 3D que não fundamentam no reconhecimento de gestos o seu principal paradigma de interacção. É dado um
especial relevo às vantagens e aos inconvenientes que caracterizam as abordagens
adoptadas nestes trabalhos, bem como aos benefícios e prejuízos que decorrem da sua
utilização.
2.1 Introdução
A ideia de usar interfaces de caneta no reconhecimento automático da informação
manuscrita ou desenhada não é recente. Em 1963 Sutherland desenvolveu o Sketchpad, o primeiro sistema interactivo organizado em torno da metáfora do papel e lápis
[Sutherland63]. Uma caneta fotossensível (light pen) permitia aos utilizadores do
Sketchpad a execução de diagramas directamente sobre a superfície do ecrã. As capacidades de reconhecimento do sistema eram, no entanto, substancialmente reduzidas,
a par dos recursos limitados e do elevado custo do computador utilizado.
Se a ideia de usar interfaces gestuais não é de agora, o mesmo não se poderá dizer do
sucesso das aplicações que nelas se baseiam, pois os progressos feitos nesta área têm
vindo a ser condicionados por três factores fundamentais.
Em primeiro lugar, as limitações dos recursos de computação disponíveis até há bem
pouco tempo implicavam que a taxa de sucesso no reconhecimento da informação
fosse muito baixa.
2-2
Interacção caligráfica ambígua em sistemas computacionais de modelação
Por outro lado, a ambiguidade patente em todos os processos naturais de transmissão
de informação, de que a escrita e o desenho são exemplos, constituía um problema de
difícil resolução.
Por último, o advento das interfaces de manipulação directa, de utilização e aprendizagem significativamente mais fáceis do que as suas congéneres de linha de comandos, levou a que o interesse nas interfaces gestuais tivesse quase desaparecido.
Esta tendência tem, no entanto, vindo a inverter-se nos últimos anos, pelo que são em
número significativo os trabalhos de investigação realizados recentemente no âmbito
dos sistemas caligráficos de apoio, quer à modelação 3D, quer a outros domínios da
computação gráfica e do processamento de informação em geral.
2.2 Electronic Cocktail Napkin / Back of an Envelope
O Electronic Cocktail Napkin foi desenvolvido por Mark Gross na década de 90
[Gross94a, Gross94b, Gross94c, Gross96] e consiste num sistema caligráfico multiutilizador de apoio ao design conceptual, capaz de reconhecer, interpretar e gerir
esboços semelhantes aos que os designers frequentemente executam na superfície de
Figura 2-1 – Exemplos de diagramas normalmente esboçados em guardanapos de papel
Trabalho relacionado 2-3
Figura 2-2 – Quadro de desenho do Electronic Cocktail Napkin
Figura 2-3 – Livro de esboços do Electronic Cocktail Napkin
2-4
Interacção caligráfica ambígua em sistemas computacionais de modelação
um guardanapo de papel ou nas costas de um envelope (Figura 2-1). Também é vocacionado para servir de interface em aplicações de análise, simulação e recuperação de
informação armazenada em bases de dados visuais. As Figuras 2-2 e 2-3 ilustram,
respectivamente, o quadro de desenho do Cocktail Napkin e o livro de esboços que
lhe está associado.
O módulo de reconhecimento do Electronic Cocktail Napkin baseia-se numa variante
do algoritmo de identificação de características proposto por Ledeem e descrito por
Newman e Sproull [Newman79]. Consiste na determinação do rectângulo envolvente
do gesto e posterior divisão do mesmo numa grelha de 3 x 3 regiões numeradas. Em
seguida procede-se à identificação das regiões atravessadas por cada traço, bem como
à determinação do número de traços que compõem o gesto, do número de cantos de
cada traço, e da dimensão e do ratio de aspecto do rectângulo envolvente (Figura 2-4).
GLYPH -- BOX.1676
TYPE BOX
NSTROKES 1
NCORNERS 4
PEN-PATH (7 4 1 2 3 6 9 7)
SIZE LARGE
ASPECT RATIO SQUARE
LOCATION NIL
ROTATION NIL
Figura 2-4 – Identificação das características de um gesto
Este método de identificação de características tem a vantagem de ser simples e pouco
exigente nos recursos computacionais utilizados. Também permite que o módulo de
reconhecimento seja susceptível de ser treinado, com base em exemplos, pelo próprio
utilizador (Figura 2-5), estando apto a identificar gestos constituídos por mais do que
um traço. No entanto, a ordem pela qual os diversos traços são desenhados tem de ser
respeitada, sob pena de o reconhecimento não ser bem sucedido. Este aspecto apresenta três inconvenientes: em primeiro lugar, restringe a liberdade de desenho do uti-
Trabalho relacionado 2-5
lizador; em segundo lugar, impõe uma elevada carga cognitiva ao mesmo, pois o utilizador terá de conhecer a ordem que foi estabelecida, aquando do treino do módulo de
reconhecimento, para os diversos traços que compõem cada um dos gestos; por último, tratando-se o Cocktail Napkin de um sistema multi-utilizador, e considerando que
utilizadores diferentes manifestam preferências também diferentes no que concerne à
ordem pela qual os diversos traços são desenhados, torna-se necessário efectuar um
treino exaustivo de cada um dos gestos por parte de todos os utilizadores do sistema.
Figura 2-5 – Treino do módulo de reconhecimento do Electronic Cocktail Napkin
Outro factor a ter em conta no algoritmo de identificação de características usado por
Gross tem a ver com o facto de os processos de reconhecimento que nele se baseiam
serem sensíveis à transformação geométrica de rotação, o que pode, em certos casos,
constituir um sério inconveniente1.
1
Também pode, noutros contextos, representar um benefício. Por exemplo, num sistema de reconhecimento de informação manuscrita, os caracteres “M” e “W” têm configurações muito semelhantes, distinguindo-se um do outro pelo facto de estarem orientados em sentidos opostos (rotação de 180º).
2-6
Interacção caligráfica ambígua em sistemas computacionais de modelação
Um último aspecto relevante do Electronic Cocktail Napkin prende-se com a circunstância de ser capaz de inferir restrições com base nas relações existentes entre os
diversos elementos de um desenho, respeitando-as durante o processo de edição do
mesmo.
a)
b)
Figura 2-6 – Satisfação de restrições pelo Electronic Cocktail Napkin
Na planta da Figura 2-6a, por exemplo, se o utilizador deslocar a parede (a azul na
figura) que separa os dois compartimentos, a porta (a vermelho) existente na parede
será objecto de uma transformação idêntica (Figura 2-6b).
O Cocktail Napkin teve seguimento num projecto designado por BoE – Back of an
Envelope – que recorre à utilização de interfaces caligráficas nos mais variados domínios de aplicação, como sejam as bases de dados, os programas de simulação, o
design 2D e a modelação 3D [Gross00]. A abordagem adoptada pretende combinar as
virtudes das interfaces altamente estruturadas utilizadas nos programas de desenho e
modelação rigorosos, com a liberdade e a flexibilidade características das interfaces
que possibilitam o desenho à mão livre.
São diversos os protótipos de interfaces caligráficas construídos por Gross et al. no
âmbito do projecto BoE [Gross00]:
•
Um sistema de indexação e recuperação de informação armazenada em bases
de dados visuais e não visuais;
Trabalho relacionado 2-7
•
Uma interface vocacionada para programas de simulação que baseiam o seu
funcionamento em desenhos ou diagramas;
•
WebStyler, um sistema caligráfico de concepção de páginas Web;
•
Digital Clay [Schweikardt98], um sistema de modelação que baseia o seu funcionamento em algoritmos de reconstrução 3D (ver a Secção 2.4.1 para uma
descrição mais pormenorizada desta classe de algoritmos);
•
SketchVR, um sistema caligráfico de concepção de mundos tridimensionais de
realidade virtual;
•
Right Tool at the Right Time, um sistema de gestão de aplicações caligráficas.
2.3 SILK
Landay e Myers [Landay95] desenvolveram uma ferramenta computacional, denominada SILK2, de apoio às etapas iniciais do design de interfaces com o utilizador. O
sistema incorpora uma interface caligráfica e baseia-se na utilização de um ecrã táctil
e de um estilete para aliar a simplicidade e a rapidez características do desenho com
papel e lápis às facilidades de edição que são próprias dos suportes electrónicos.
Incorpora, também, um registo histórico das acções efectuadas pelo utilizador, podendo este examiná-lo, anotá-lo e modificá-lo, de modo a reaproveitar porções de designs
previamente efectuados. Este aspecto confere ao sistema SILK as propriedades de
uma ferramenta de prototipagem rápida, de grande importância e utilidade na concepção e desenvolvimento de sistemas interactivos, na medida em que, tratando-se o
2
Sketching Interfaces Like Krazy.
2-8
Interacção caligráfica ambígua em sistemas computacionais de modelação
design de interfaces de um processo iterativo de aperfeiçoamento contínuo, permite ao
designer construir em tempo útil diferentes versões de uma interface, as quais poderão, numa fase posterior, ser testadas e comparadas pelos seus potenciais utilizadores.
Figura 2-7 – Exemplo de um esboço de interface criado com o sistema SILK
Os autores descrevem um teste de eficiência no qual o esboço representado na Figura
2-7 levou 70 segundos a efectuar no sistema SILK, contra 53 segundos numa folha de
papel e 329 segundos num sistema comercial de design de interfaces (Figura 2-8).
Além disso, e ao contrário do que se verifica com o sistema comercial, o esboço feito
no sistema SILK estabelece desde logo o aspecto dos ícones que virão a ser utilizados
na barra de ferramentas da interface.
O funcionamento do sistema SILK baseia-se no algoritmo estatístico de reconhecimento proposto por Rubine [Rubine91a]. Este, à semelhança do utilizado por Gross
no Cocktail Napkin, é susceptível de ser treinado por meio de exemplos. Em contra-
Trabalho relacionado 2-9
Figura 2-8 – A mesma interface criada com um sistema convencional de design de interfaces
partida apresenta algumas limitações importantes, de entre as quais se destacam a sensibilidade às transformações geométricas de rotação e scaling, a circunstância de não
permitir a definição de gestos constituídos por mais do que um traço, e a sensibilidade
do reconhecimento ao sentido de desenho do traço. No caso concreto do sistema
SILK, os seus autores realçam a limitação que advém do facto de os gestos que instanciam cada um dos componentes dos diferentes objectos de interacção – as primitivas do sistema – não poderem ser constituídos por mais do que um traço3, e propõemse vir a resolver este problema através do desenvolvimento de um algoritmo mais
aperfeiçoado de reconhecimento.
Além das primitivas necessárias à construção de interfaces, o sistema também identifica um pequeno conjunto de gestos de comando (Figura 2-9), os quais, ao contrário
das primeiras, são esboçados mediante a acção do utilizador sobre o botão lateral do
3
Por exemplo, a barra de scroll ilustrada na Figura 2-7 é composta por dois componentes: um rectângulo alto e estreito, e um segundo rectângulo, de menores dimensões, localizado no interior do primeiro. Embora a ordem segundo a qual os rectângulos são desenhados seja irrelevante, cada um deles terá,
forçosamente, de ser esboçado de uma só vez, isto é, com um único traço.
2-10
Interacção caligráfica ambígua em sistemas computacionais de modelação
estilete. O gesto de navegação, à esquerda na figura, permite ao designer percorrer
sequencialmente as diversas opções que decorrem do processo de reconhecimento, o
que confere ao sistema a aptidão para lidar com ambiguidades.
Navegar
Apagar
Deslocar
Copiar
Agrupar
Figura 2-9 – Gestos de comando do sistema SILK
2.4 IDeS
Branco desenvolveu, no âmbito do seu Doutoramento, um sistema computacional de
apoio às fases conceptuais do design 3D4 que combina o desenho com algumas das
técnicas tradicionalmente usadas na modelação de sólidos [Branco94, Branco96]. Não
obstante o protótipo IDeS5 se basear numa interface de manipulação directa, há alguns
aspectos importantes na contribuição de Branco que importa aqui considerar.
2.4.1 Paradigma do desenho puro
O paradigma de interacção adoptado é o do desenho puro, no sentido em que o utilizador traça a forma do objecto em concepção da mesma maneira que o faria se usasse
uma folha de papel e um lápis. Em seguida é invocado um comando de reconstrução,
o qual converte o esboço 2D num modelo tridimensional. O sólido assim obtido é, por
4
E também 2D.
5
Intuitive Design System.
Trabalho relacionado 2-11
fim, objecto de um refinamento efectuado com o recurso a técnicas convencionais de
modelação.
A reconstrução de sólidos 3D a partir de uma ou mais das suas projecções 2D constitui uma área importante de investigação nos campos da visão e da inteligência artificiais. Wang passa em revista muitos dos algoritmos concebidos para resolver este
problema [Wang93]. O algoritmo usado por Branco na sua abordagem baseia-se nas
técnicas de etiquetagem do desenho propostas por Huffman [Huffman71] e Clowes
[Clowes71] no início da década de 70. Cada uma das junções existentes – correspondentes, em três dimensões, a vértices necessariamente trivalentes – é incluída numa de
quatro categorias distintas (L, T, W ou Y), consoante o número de linhas que nela convergem e os valores dos ângulos que fazem entre si (Figura 2-10). No caso da junção
L, a linha aparentemente em falta corresponde a uma aresta escondida. O carácter trivalente dos vértices impede a existência de junções de quatro ou mais linhas.
L
T
W ou flecha
Y ou forquilha
Figura 2-10 – Classificação de junções
Por sua vez, cada uma das linhas que compõem o desenho – correspondentes, em três
dimensões, às arestas do sólido – é classificada de acordo com o seu significado físico: convexa (+), côncava (-) ou de ocultação (→). No último caso, o sentido da seta
estabelece a área à direita da linha como correspondendo à face responsável pela ocultação. Uma regra de coerência determina que, nos desenhos de objectos susceptíveis
2-12
Interacção caligráfica ambígua em sistemas computacionais de modelação
de serem realizados fisicamente, nenhuma das linhas que os constituem pode ver a sua
interpretação – etiqueta – alterada entre as junções que a delimitam.
Além disso, nem todas as configurações resultantes da combinação das diversas categorias de junções com os diferentes tipos de linhas são válidas (Figura 2-11). Se o
desenho não puder ser correctamente etiquetado, isto é, respeitando a regra de coerência atrás referida e usando apenas as configurações permitidas para as linhas e junções, o sólido que pretende representar não será fisicamente exequível.
L
-
-
T
+
+
-
+
W
+
-
-
+
+
+
+
-
+
-
Y
+
-
-
Figura 2-11 – Configurações válidas de junções e linhas
Esta condição de viabilidade é necessária mas não é, contudo, suficiente, pois existem
exemplos de desenhos correctamente etiquetados que não têm correspondência física
real (Figura 2-12). Foram sendo propostas várias ideias para a resolução deste pro-
Trabalho relacionado 2-13
blema6, até que Sugihara conseguiu, finalmente, estabelecer uma condição necessária
e suficiente para avaliar a correcção de desenhos representativos de projecções de
objectos tridimensionais válidos [Sugihara82, Sugihara84, Sugihara86]. O método de
Sugihara, baseado em técnicas de programação linear, é, no entanto, de difícil implementação, pois o rigor matemático exigido pela condição de viabilidade é de tal
ordem que muitos desenhos válidos, por força de pequenas imprecisões existentes nas
posições dos seus vértices, são rejeitados.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
a) possível
+
+
+
b) impossível
Figura 2-12 – Exemplos de desenhos correctamente etiquetados
Outro factor a ter em conta nos processos de reconstrução assentes nas técnicas de
etiquetagem de Huffman e Clowes prende-se com o facto de os objectos representados serem de carácter exclusivamente poliédrico7. Desenvolvimentos posteriores nestas técnicas permitem lidar, embora de uma forma heurística, limitada e insatisfatória
do ponto de vista matemático, com imagens de modelos curvos. É o caso dos trabalhos de Chakravarty [Chakravarty79] e de Lee et al. [Lee85], nos quais os objectos
são delimitados por superfícies quadráticas. Por fim, Malik desenvolveu um novo
6
Ver, por exemplo, a abordagem de Mackworth, fundamentada na utilização de figuras recíprocas num
espaço dual de gradientes [Mackworth73], bem como os aperfeiçoamentos que se lhe seguiram [Draper81, Wei87].
7
Um poliedro é um sólido geométrico limitado por faces poligonais planas.
2-14
Interacção caligráfica ambígua em sistemas computacionais de modelação
método de etiquetagem, matematicamente rigoroso, que é válido para toda uma classe
generalizada de sólidos, não necessariamente poliédricos [Malik87]. Na abordagem de
Malik, a multiplicidade de maneiras de etiquetar um desenho é reduzida mediante a
aplicação de uma regra de minimização local da complexidade: para cada vértice,
devem considerar-se apenas as soluções correspondentes ao menor número de faces
que nele se encontram.
No processo de reconstrução usado por Branco no sistema IDeS, os problemas suscitados pelas imprecisões do desenho e pelas ambiguidades decorrentes da sua interpretação são resolvidos mediante a aplicação de um conjunto de regras heurísticas e perceptuais, na mesma linha do trabalho desenvolvido por Lamb e Bandopadhay em
1990 [Lamb90]. Com base nestes preceitos é possível, na maior parte dos casos, converter os paralelogramos 2D do esboço nas faces rectangulares 3D correspondentes.
Nas situações em que isto não é possível, Branco socorre-se de um conceito original
de intervenções semânticas (discutido em pormenor na Secção 2.4.2) para disponibilizar a informação em falta.
Resumindo, o paradigma do desenho puro permite, embora com restrições, a criação
de modelos tridimensionais de uma forma natural e eficiente. A interacção é simples e
de fácil aprendizagem. Como contrapartida, os algoritmos de reconstrução em que se
fundamenta são complicados, limitados e, não obstante a evolução de que têm vindo a
ser objecto, insatisfatórios. As imprecisões do esboço não vão sendo corrigidas à
medida que este vai sendo executado, o que, por um lado, se traduz numa menor
intromissão, por parte do sistema, nos processos criativos do designer e, por conseguinte, numa maior liberdade de desenho para o utilizador. Por outro lado, tem como
consequência a eventual propagação e crescimento das referidas imprecisões, o que
Trabalho relacionado 2-15
representa uma dificuldade suplementar para o já complexo processo de interpretação
do esboço e de reconstrução do sólido nele representado. Por último, a inevitabilidade
da insuficiência de informação na conversão 2D/3D obriga à utilização de técnicas
complementares de modelação, sejam elas as intervenções semânticas ou as ferramentas convencionais de edição normalmente encontradas em sistemas comerciais.
2.4.2 Intervenções semânticas
Branco desenvolveu um conceito inovador de resolução das ambiguidades decorrentes
da interpretação de esboços que dá pelo nome de intervenção semântica. Nas situações em que as regras perceptuais usadas na sua abordagem não são suficientes para
determinar inequivocamente as intenções do utilizador, este toma a iniciativa de
“explicar” o desenho ao sistema, proporcionando-lhe, deste modo, a informação em
falta. A intervenção é feita com o recurso a um comando designado por Is A8, o qual,
quando invocado, altera o modo de funcionamento de outros comandos do sistema.
a) esboço
b) círculo (2D)
c) esfera (3D)
Figura 2-13 –Exemplo de intervenção semântica
A Figura 2-13 ilustra um exemplo de aplicação desta ideia. A linha suave e fechada
esboçada pelo utilizador (Figura 2-13a), uma vez seleccionada, constitui o ponto de
partida para uma intervenção semântica, a qual permite estabelecer se o objecto em
causa deverá ser interpretado como um círculo (Figura 2-13b) ou como uma esfera
8
É Um.
2-16
Interacção caligráfica ambígua em sistemas computacionais de modelação
(Figura 2-13c). A transformação efectuada tem, também, a vantagem de eliminar
imprecisões, o que facilita o processo de transição do modelo esboçado para o modelo
rigoroso correspondente.
O conceito de intervenção semântica é susceptível de ser aproveitado noutras vertentes do processo de design assistido por computador. São exemplos disto a imposição
de restrições de modelação e a inclusão, no objecto em desenvolvimento, de outros
objectos previamente criados e armazenados numa base de dados de componentes. A
Figura 2-14 ilustra este último aspecto. Na peça de mobiliário representada no desenho não é claro o significado de cada um dos rectângulos nela inscritos. A utilização
de intervenções semânticas permite estabelecer que um dos rectângulos corresponde,
por exemplo, a uma abertura existente na referida peça, enquanto outro representa
uma gaveta cuja definição consta de uma biblioteca de componentes de modelação.
abertura
gaveta
Figura 2-14 – Outros exemplos de intervenções semânticas
2.4.3 Colagem
Outra das ideias inovadoras desenvolvidas por Branco no seu trabalho consiste em
desenhar directamente sobre a projecção de modelos tridimensionais de objectos previamente construídos. Cada um dos traços 2D esboçados pelo utilizador é transforma-
Trabalho relacionado 2-17
do numa linha poligonal 3D que é consistente com a projecção em vigor e que se
adapta às faces do sólido por onde passa. Ou seja, a insuficiência de informação que
caracteriza a conversão 2D/3D e que se traduz, em cada ponto do desenho, por um
sistema indeterminado de duas equações a três incógnitas, é ultrapassada com o recurso à equação suplementar do plano da face na qual o ponto se situa.
Este conceito, designado por colagem, está exemplificado na Figura 2-15. O segmento
de recta desenhado sobre a projecção do objecto (Figura 2-15a) é transformado numa
linha poligonal 3D moldada, ou colada, às faces do mesmo (Figura 2-15b). Nas situações em que a linha resultante é fechada, o processo encarrega-se, ainda, de construir
uma malha de polígonos – polymesh – com a configuração da região delimitada pela
linha poligonal ou, em alternativa, da região complementar.
a)
b)
Figura 2-15 – Colagem de uma linha a um sólido
O conceito de colagem também foi aproveitado por Branco na execução, com base no
desenho, de operações booleanas. Na Figura 2-16 está representado o exemplo de uma
subtracção.
2-18
Interacção caligráfica ambígua em sistemas computacionais de modelação
Figura 2-16 – Exemplo de aplicação do conceito de colagem à edição de objectos
2.5 SKETCH / Jot
Zeleznik et al. [Zeleznik96] foram pioneiros na aplicação das interfaces gestuais aos
sistemas de modelação 3D. O desenho constitui o ponto de partida das acções do utilizador e os traços de que é composto proporcionam ao sistema a informação necessária
para determinar os objectos – primitivas – que devem ser construídos, bem como as
suas dimensões e o seu posicionamento na cena.
Figura 2-17 – Exemplos de cenas produzidas no sistema SKETCH
O sistema SKETCH representa uma tentativa de proporcionar ao designer um meio
eficiente de concepção e edição de cenas tridimensionais aproximadas, sendo a sua
utilização, por conseguinte, adequada nas situações em que a exactidão não constitui
um factor imperativo (Figura 2-17).
Trabalho relacionado 2-19
2.5.1 Dispositivos e mecanismos de interacção
Na abordagem de Zeleznik, a interacção é feita com base num rato de três botões9 e
numa tecla modificadora. Há dois tipos de entidades gestuais: cinco classes de elementos de desenho, efectuadas com o auxílio do primeiro botão do rato, e duas classes
de agentes de interacção, invocadas mediante a acção sobre o segundo botão. A manipulação da câmara é feita recorrendo ao terceiro botão. As Tabelas 2-1 e 2-2 descrevem as acções realizadas, respectivamente, com o primeiro e o terceiro botões do rato,
bem como os resultados que delas decorrem. As acções efectuadas com o segundo
botão – carregar e largar, carregar e arrastar – não têm representação visual e são usadas na remoção, cópia (em conjugação com a tecla shift) e transformação geométrica
de objectos.
Acção sobre o rato (primeiro botão)
Elemento de desenho
Carregar e largar
Ponto
Segmento de recta alinhado com o eixo coordenado cuja orientação, no plano de projecção,
mais se aproxima da do traço desenhado
Carregar e arrastar de imediato
Carregar e arrastar, seguido de um movimento
“impetuoso”, de modo a “arrancar” o segmento de
recta do eixo com o qual se encontra alinhado
Carregar, efectuar uma pausa e arrastar
Carregar em conjugação com a tecla shift e arrastar
Segmento de recta não alinhado com qualquer
um dos eixos coordenados
Desenho à mão livre
Desenho à mão livre sobre a superfície de objectos existentes na cena
Tabela 2-1 – As cinco classes de elementos de desenho do sistema SKETCH
Observe-se que, para além da utilização dos três botões do rato e de uma tecla modificadora, a identificação das intenções do utilizador assenta, também, na existência ou
não de uma pausa entre as acções de carregar num botão e de arrastar o cursor.
9
Os autores referem, no entanto, que o recurso a um ecrã táctil e a um estilete se traduz, provavelmente, numa solução mais vantajosa.
2-20
Interacção caligráfica ambígua em sistemas computacionais de modelação
Acção sobre o rato (terceiro botão)
Carregar e arrastar de imediato
Carregar, efectuar uma pausa e arrastar
Carregar na proximidade dos limites da janela e
arrastar
Carregar sobre a projecção de um objecto e largar
Carregar em conjugação com a tecla shift e largar
Comando de manipulação da câmara
Pan: a câmara desloca-se em função do movimento do cursor
Zoom: em função dos movimentos horizontais
do cursor
Pan vertical: em função dos movimentos verticais do cursor
Rotação da câmara em torno do centro do ecrã
Focagem: a câmara é deslocada de modo a centrar a projecção do objecto no plano de visualização
Alteração do estilo de rendering
Tabela 2-2 – Descrição dos comandos de manipulação directa da câmara no sistema SKETCH
2.5.2 Primitivas 3D
A construção de objectos complexos no sistema SKETCH obedece a um processo de
montagem de sólidos elementares – primitivas 3D – instanciados pelo desenho. Na
Tabela 2-3 está representado o repertório de primitivas deste sistema, bem como os
gestos (a vermelho) que lhes estão associados. As circunferências amarelas identificam os vértices10 que irão servir de referência aquando da colocação do objecto na
cena. Existem alguns aspectos neste repertório que importa, desde já, considerar.
Em primeiro lugar, os traços são os únicos elementos de desenho envolvidos na maior
parte dos gestos. No entanto, o ponto também é usado, designadamente na construção
da esfera, da pirâmide e da extrusão. No caso da esfera, a existência do ponto é justificada pela necessidade de distinguir o gesto de um outro – o lasso – que permite o
agrupamento de objectos. No caso da pirâmide, não seria possível11 substituir o ponto
por um segmento de recta ligado aos restantes segmentos, pois estaríamos na presença
10
Salient vertices.
11
A não ser que existisse um mecanismo de resolução de ambiguidades.
Trabalho relacionado 2-21
Bloco: três segmentos de recta perpendiculares que se
encontram num ponto
Bloco de arestas arredondadas: três segmentos de recta
perpendiculares que não se encontram
Esfera: uma linha curva fechada seguida de um ponto
Cilindro: dois segmentos de recta paralelos desenhados no
mesmo sentido
Cone: dois segmentos de recta não paralelos que se encontram num ponto
Tronco de cone: dois segmentos de recta não paralelos que
não se encontram
Pirâmide: dois segmentos de recta perpendiculares e um
ponto
Tronco de pirâmide: dois pares de segmentos de recta
perpendiculares
Triprisma: dois segmentos de recta perpendiculares e dois
segmentos de recta paralelos
Ducto de secção curvilínea: uma linha curva fechada, um
segmento de recta e uma linha curva. O segmento de recta
define a normal ao plano no qual a linha curva se insere
Ducto de secção rectangular: dois segmentos de recta
perpendiculares seguidos de uma linha curva
Objecto de revolução: linha curva aberta
Extrusão: um segmento de recta, uma sequência de pontos
e um eixo de extrusão
Desenho à mão livre: em conjugação com a tecla shift,
sobre a superfície do objecto apontada pelo cursor
Tabela 2-3 – As primitivas 3D do sistema SKETCH e os gestos que lhes dão origem
2-22
Interacção caligráfica ambígua em sistemas computacionais de modelação
de uma junção trivalente, a qual está reservada para o bloco. No caso da extrusão, não
é evidente a razão pela qual o polígono é definido com base num segmento de recta e
numa sequência de pontos, ao invés de uma sequência de segmentos12. Isto tem como
consequência que não seja fácil, para o utilizador, realizar a extrusão de um polígono
de contornos suaves, dada a multiplicidade de pontos envolvida.
Em segundo lugar, o reconhecimento – e, por inerência, a acção do utilizador – é condicionado, nalguns gestos, pelo sentido segundo o qual os traços que os compõem são
desenhados. É o caso, entre outros, do cilindro, do cone e do tronco de cone.
Em terceiro lugar, a ordem segundo a qual os diversos elementos que compõem
alguns gestos são esboçados, parece13 ser importante, o que se traduz, igualmente,
numa restrição à liberdade de desenho do utilizador.
Em quarto lugar, não foi prevista a construção de pirâmides e de troncos de pirâmide
que não sejam rectangulares, e a eventual inclusão destes sólidos no repertório de
primitivas do sistema obrigaria a uma reformulação da topologia dos gestos que instanciam esta classe de objectos.
Em quinto e último lugar, os ductos de secção curvilínea e de secção rectangular são
considerados separadamente, e os gestos que lhes correspondem diferem na sua topologia. No primeiro caso, a inexistência de um mecanismo de resolução de ambiguidades que permitisse superar a insuficiência de informação decorrente da representação
12
A razão para esta inconsistência terá, eventualmente, a ver com critérios de ordem estrutural que
visaram simplificar o processo de reconhecimento.
13
Zeleznik et al. não são muito claros neste aspecto, e não foi possível ao autor desta dissertação testar
o sistema SKETCH. No entanto, na descrição de alguns dos gestos – a esfera e o ducto de secção rectangular – é usada a expressão “followed by” [Zeleznik96], o que indicia a importância da ordem no
processo de reconhecimento.
Trabalho relacionado 2-23
pelo desenho de um objecto tridimensional, implica que o utilizador seja obrigado a
esboçar um segmento de recta suplementar, de modo a definir a normal ao plano no
qual a linha curva que descreve a primitiva se insere. Já no segundo caso, não foi
adoptado idêntico expediente, pelo que a definição do plano não é clara.
2.5.3 Operações booleanas
No sistema SKETCH, a subtracção CSG14 de uma primitiva recém-criada a um sólido
previamente construído é inferida com base na comparação do sentido de desenho dos
traços que compõem o gesto da primitiva com a normal à superfície do sólido. A
Figura 2-18 ilustra este procedimento.
Figura 2-18 – Subtracção CSG no sistema SKETCH
Um dos traços que constituem o gesto do bloco de menores dimensões (representado,
na figura, por uma seta vermelha) foi esboçado em direcção à superfície do bloco
maior. O produto escalar deste segmento orientado com a normal à superfície (representada pela seta roxa a tracejado) é, por conseguinte, negativo, e é com base no sinal
desta grandeza que o sistema deduz a necessidade de efectuar uma subtracção. Tivesse o traço em questão sido desenhado no sentido contrário e o produto escalar seria
positivo, não havendo, nesse caso, lugar à execução de qualquer operação CSG.
14
Constructive Solid Geometry.
2-24
Interacção caligráfica ambígua em sistemas computacionais de modelação
2.5.4 Redimensionamento de objectos 3D
O sistema SKETCH permite ao utilizador redimensionar algumas primitivas mediante
uma técnica de oversketching que consiste em desenhar, em sentidos opostos, dois
traços aproximadamente coincidentes e paralelos à aresta que se pretende editar (Figura 2-19).
Figura 2-19 – Redimensionamento de objectos no sistema SKETCH
No entanto, apenas os sólidos cujos gestos são constituídos por segmentos de linha
recta são susceptíveis de ser redimensionados por este processo. O redimensionamento de objectos construídos com base no desenho à mão livre estava, à data da publicação do artigo de Zeleznik et al. [Zeleznik96], em fase de desenvolvimento e baseava o
seu funcionamento no paradigma de interacção de Baudel [Baudel94] (Secção 2.12).
2.5.5 Transformações geométricas e outras operações de edição
A execução de transformações geométricas no sistema SKETCH constitui um aspecto
interessante e original da abordagem de Zeleznik que merece ser considerado.
As translações e rotações são condicionadas por um pequeno conjunto de restrições de
transformação. Por omissão, sempre que é invocado o agente de interacção descrito
pela acção de carregar (no segundo botão do rato) e arrastar, é efectuada a translação
do sólido apontado pelo cursor ao longo da superfície plana sobre a qual foi construído. No entanto, através da conjugação daquele agente de interacção com elementos de
desenho apropriados, a translação pode ser objecto de restrições adicionais, ou pode
Trabalho relacionado 2-25
ser convertida numa rotação. Na Figura 2-20 estão ilustrados exemplos destas situações. Os traços a vermelho e a azul representam, respectivamente, elementos de desenho e agentes de interacção; as setas a roxo descrevem as transformações efectuadas.
a)
b)
c)
Figura 2-20 – Transformações geométricas com restrições
Se o utilizador esboçar um segmento de recta alinhado com um dos eixos coordenados
e invocar o agente de interacção segundo uma direcção paralela à do segmento, a
translação resultante é restringida a essa mesma direcção (translação 1D, Figura 220a). Se, pelo contrário, a direcção do agente de interacção for perpendicular à do
segmento de recta, a transformação obtida é uma rotação em torno do eixo representado pelo segmento (rotação 1D, Figura 2-20b). Se, em vez de um segmento de linha
recta, o utilizador esboçar dois segmentos perpendiculares entre si e alinhados segundo dois dos três eixos coordenados, a translação resultante é restringida ao plano definido pelos referidos segmentos (translação 2D, Figura 2-20c).
2-26
Interacção caligráfica ambígua em sistemas computacionais de modelação
A realização de transformações de scaling, bem como de outras operações de edição,
baseia-se em procedimentos de interacção diferentes dos usados nas translações e
rotações (Figura 2-21).
a)
b)
c)
Figura 2-21 – Agrupamento de objectos e operações associadas
Os objectos a transformar são, em primeiro lugar, agrupados com o auxílio do lasso.
Segue-se a invocação do agente de interacção. Quando este é aplicado à região delimitada pela curva que representa o lasso, obtém-se uma forma alternativa de translação (Figura 2-21a) ou, caso a tecla shift esteja premida, uma cópia dos objectos seleccionados (Figura 2-21c). Se, pelo contrário, o agente for aplicado à curva propriamente dita, a operação resultante é uma transformação de scaling (Figura 2-21b).
O trabalho de Zeleznik et al. prosseguiu com o desenvolvimento do protótipo Jot
[Forsberg97], no qual a funcionalidade do sistema SKETCH foi aumentada através da
combinação da acção gestual de uma caneta com outros dispositivos de entrada, dotados de seis graus de liberdade (6DOF15), num ambiente imersivo de realidade virtual.
15
Six degrees-of-freedom.
Trabalho relacionado 2-27
A interacção é feita com as duas mãos [Zeleznik97], o que permite, por exemplo, usar
a mão dominante para desenhar e a outra para controlar a câmara. Além disso, os dispositivos 6DOF podem ser usados de uma forma muito flexível, quer como representações físicas de objectos virtuais, quer como ferramentas de selecção, observação e
manipulação desses mesmos objectos [Pierce97].
2.6 Smart Paper
Barata [Barata97] desenvolveu um editor de esboços 2D de apoio ao desenho de
arquitectura que incorpora uma interface caligráfica. O sistema permite construir plantas simples de estruturas – edifícios – compostas por paredes, portas e janelas. Também permite a cotagem do desenho e a exportação do mesmo para um sistema comercial de CAD.
O módulo de reconhecimento caligráfico fundamenta-se no algoritmo de representantes difusos proposto por Jorge na sua dissertação de Doutoramento [Jorge94]. Além
das formas geométricas simples – primitivas – necessárias à construção da planta, o
sistema está apto a reconhecer os gestos associados a três comandos de edição: apagar, desfazer (undo) e refazer (redo) (Figura 2-22).
Apagar
Desfazer
Refazer
Figura 2-22 – Gestos de comando do sistema Smart Paper
O reconhecimento de caracteres, usado na cotagem do desenho, está a cargo de um
segundo módulo, disponibilizado comercialmente pela CIC Corporation. A escrita à
mão das grandezas representativas das cotas é feita, não na área principal de trabalho,
2-28
Interacção caligráfica ambígua em sistemas computacionais de modelação
mas numa superfície separada, situada numa caixa de diálogo que é exibida sempre
que ocorrer o reconhecimento do gesto de cotagem.
Um dos aspectos mais interessantes do módulo de Barata prende-se com o facto de o
reconhecimento de gestos compostos por múltiplos traços se basear nas relações espaciais – adjacências – e não nas relações temporais existentes entre eles16. Estas últimas
são normalmente estabelecidas17 mediante a utilização de um temporizador que mede
o intervalo de tempo decorrido entre o desenho de dois traços consecutivos. Se o referido intervalo não exceder um determinado limite – timeout – os traços são considerados como sendo parte integrante do mesmo gesto. Ao considerar relações de proximidade espacial e não temporal, Barata contorna eficazmente o problema da pressão que
o recurso a um temporizador sempre exerce sobre o utilizador no decurso das suas
actividades de desenho.
2.7 Pegasus
Igarashi et al. descrevem uma abordagem ao design geométrico 2D, designada por
embelezamento interactivo [Igarashi97, Igarashi98], que transforma os traços desenhados à mão livre em segmentos de recta que satisfazem determinadas restrições
geométricas, tais como paralelismo, perpendicularidade, congruência e simetria, entre
outras (Tabela 2-4).
16
Isto é válido apenas para os gestos correspondentes às primitivas de desenho, pois os que estão associados aos comandos de edição são constituídos por um único traço.
17
Ver, por exemplo, o sistema CALI, na Secção 2.14 deste capítulo.
Trabalho relacionado 2-29
Descrição
Traço desenhado Segmento obtido
Ligação (a um vértice)
Ligação (a um segmento)
Paralelismo
Perpendicularidade
Alinhamento
Congruência
Simetria (horizontal)
Igualdade de intervalos
Tabela 2-4 – Restrições geométricas suportadas pelo sistema Pegasus
A abordagem de Igarashi foi concretizada num protótipo designado por Pegasus, o
qual está preparado para lidar com as ambiguidades próprias da interpretação de esboços, gerando na área de trabalho os diversos candidatos que decorrem da aplicação
das diferentes restrições, após o que o utilizador selecciona o candidato pretendido
com um toque da caneta sobre a representação visual do mesmo.
A principal desvantagem deste método de desambiguação prende-se, segundo os próprios autores, com o facto de ser difícil ao utilizador seleccionar o segmento pretendi-
2-30
Interacção caligráfica ambígua em sistemas computacionais de modelação
do de entre os demais candidatos, dado estes, normalmente, se sobreporem mutuamente numa pequena fracção da janela de trabalho.
Outro aspecto menos positivo tem a ver com o facto de o sistema suportar um só elemento de desenho: o segmento de recta. Isto implica que os objectos produzidos neste
sistema sejam compostos exclusivamente pelos referidos segmentos e pelas linhas
poligonais que com eles podem ser construídas, não havendo lugar à inclusão de contornos suaves no processo de concepção da cena. Ora os contornos suaves constituem
um importante factor de embelezamento, como se pode ver no contra-exemplo da
Figura 2-23.
Figura 2-23 – Exemplo de uma cena produzida no sistema Pegasus
2.8 Teddy
Igarashi et al. [Igarashi99] desenvolveram um sistema – Teddy – dotado de uma interface caligráfica que permite criar objectos tridimensionais de formas livres, tais como
animais de peluche e outros objectos rotundos. Na Figura 2-24 pode ver-se o aspecto
da interface e na Figura 2-25 estão representados diversos modelos que foram produzidos neste sistema e posteriormente pintados num editor comercial.
Trabalho relacionado 2-31
Figura 2-24 – O sistema Teddy
O utilizador do sistema Teddy começa por esboçar o contorno 2D do objecto pretendido, após o que o sistema procede à construção de uma superfície poligonal 3D compatível com o referido contorno. O modelo recém-criado pode, em seguida, ser objecto dos mais variados aperfeiçoamentos, os quais são efectuados com o recurso a um
pequeno conjunto de ferramentas de edição.
Figura 2-25 – Modelos produzidos no sistema Teddy e pintados num editor comercial
A acção do utilizador sobre o sistema é feita com o auxílio de um rato de dois botões
ou, em alternativa, de um estilete e do respectivo ecrã táctil. Não são usadas teclas
modificadoras e o botão secundário do rato/estilete é empregue exclusivamente nas
operações de manipulação directa da câmara. Estas baseiam o seu funcionamento no
2-32
Interacção caligráfica ambígua em sistemas computacionais de modelação
conhecido modelo de trackball virtual proposto por Hultquist no início da década de
90 [Hultquist90].
Botão “Init”
Botão “Bend”
CRIAÇÃO
DEFORMAÇÃO
Fechado
Primeiro traço
Especificar a referência
Segundo traço
Especificar o objectivo
Criar um novo objecto
PINTURA
No interior do objecto, aberto
Pintar na superfície do objecto
No interior do objecto, fechado
Especificar a área a extrudir/suavizar
Início e fim no exterior do objecto
Cortar o objecto
Risco
Apagar os traços pintados
EXTRUSÃO
Traço normal
Extrudir a área
Risco
Suavizar a área
Carregar e largar
Sair do modo de extrusão
Legenda
MODO
Traço
Acção
Figura 2-26 – Operações gestuais suportadas pelo sistema Teddy
A interface caligráfica do sistema Teddy baseia o reconhecimento na conjugação de
dois factores: as características – posição e forma – dos traços desenhados e o modo
de interacção em vigor no momento. Dois desses modos são iniciados com o recurso a
técnicas de manipulação directa18. A Figura 2-26 descreve as operações suportadas
pelo sistema, bem como os gestos que as instanciam e os modos de interacção utilizados. Na Tabela 2-5 estão representados exemplos de aplicação das referidas operações.
18
Mais concretamente, mediante a acção sobre dois botões – Init e Bend – localizados na parte inferior
da janela de trabalho.
Trabalho relacionado 2-33
Criação
Estado inicial
Traço de
criação
Resultado da
criação
Vista rodada
Traço de
pintura
Resultado da
pintura
Vista rodada
Estado inicial
Traço fechado
Vista rodada
Traço de
extrusão
Estado inicial
Traço de corte
Resultado do
corte
Vista rodada
Estado inicial
Risco de
remoção
Resultado da
remoção
Traço fechado
Risco de
suavização
Resultado da
suavização
Pintura
Extrusão
Resultado da
extrusão
Vista rodada
Corte
Remoção
Suavização
Vista rodada
Tabela 2-5 – Exemplos de aplicação das operações gestuais do sistema Teddy
O processo é iniciado mediante a acção do utilizador sobre o botão Init. O sistema
passa ao modo de interacção designado por “criação”, no qual o desenho de uma linha
fechada desencadeia a construção de uma malha poligonal 3D de configuração compatível com o contorno da linha. Uma vez concluído este procedimento, o sistema
passa a um novo modo de interacção, denominado “pintura”.
2-34
Interacção caligráfica ambígua em sistemas computacionais de modelação
Uma vez no modo de pintura, é possível efectuar diversas operações: pintar directamente na superfície do modelo; iniciar os processos de construção de saliências e
cavidades, por um lado, e de suavização da superfície do objecto, por outro; executar
cortes e, por último, remover pinturas indesejadas. Todas estas operações, com excepção da pintura e da remoção, levam o sistema a comutar para um terceiro modo de
interacção, designado por “extrusão”. Neste modo concluem-se os procedimentos – o
desenho de um segundo traço – necessários quer à construção de saliências e cavidades, quer à suavização da superfície do objecto. O modo de extrusão pode, também,
ser abandonado mediante uma acção de carregar e largar o botão primário, regressando o sistema ao modo de pintura.
Existe ainda um quarto modo de interacção, denominado “deformação”, que é desencadeado pela acção do utilizador sobre o botão Bend. A Figura 2-27 ilustra dois
exemplos da operação que é possível efectuar neste modo.
Figura 2-27 – Exemplos de deformação de objectos no sistema Teddy
O utilizador desenha dois traços: uma linha de referência (representada a vermelho na
figura) e uma linha-objectivo (a azul na figura). Com base nesta informação, o sistema
encarrega-se de deduzir e efectuar as deformações apropriadas do modelo, de modo a
transformar o primeiro traço no segundo.
Trabalho relacionado 2-35
Segundo os autores, um estudo informal de usabilidade revelou que um utilizador
inexperiente necessita de cerca de 10 minutos para efectuar a aprendizagem da interface e de mais alguns minutos para construir modelos 3D interessantes. O carácter
pouco rigoroso das formas livres obtidas constitui, em princípio, uma limitação
importante do sistema. No entanto, os autores exploram este atributo argumentando
que confere ao objecto uma maior expressividade e a aparência de ter sido feito à
mão, factores que contribuem para aumentar o realismo dos modelos concebidos.
Além da falta de precisão, há outras limitações no sistema Teddy que importa salientar. Não é possível criar cenas tridimensionais compostas por mais do que um objecto
e não existem operações que permitam construir modelos complexos com base na
combinação de sólidos elementares. Além disso, e não obstante a existência de um
modo de extrusão que permite efectuar saliências, cavidades e cortes, não está disponível qualquer comando que possibilite a execução de furos, pelo que a diversidade
dos objectos susceptíveis de serem produzidos neste sistema está limitada pela topologia, necessariamente esférica, que lhes é subjacente.
Figura 2-28 – Modelos produzidos e pintados nos sistemas Teddy e Chameleon
O sistema Teddy foi, entretanto, complementado com um editor de pintura denominado Chameleon, e da junção dos dois resultou o sistema SmoothTeddy. Este permite ao
2-36
Interacção caligráfica ambígua em sistemas computacionais de modelação
utilizador criar e pintar modelos de formas livres num ambiente integrado, dispensando assim a necessidade de recorrer a outros produtos (Figura 2-28).
2.9 Translucent sketchpad
Encarnação, Bimber et al. [Encarnação99] desenvolveram um sistema, a que deram o
nome de bloco translúcido de esboços, que combina as metáforas tradicionais de tampo de secretária e o reconhecimento caligráfico numa interface de realidade virtual
aumentada (Figura 2-29). Os dispositivos de interacção utilizados são uma mesa virtual munida de um ecrã de 53” x 40”, óculos estereoscópicos, um painel rectangular
de 8” x 10” construído em Plexiglas e um tubo de plástico com a configuração de uma
caneta. Os óculos, o painel e a caneta estão munidos de sensores de rastreio com seis
graus de liberdade, de modo a informar o sistema das suas posições e orientações. A
baixa reflectividade dos materiais empregues na concepção do painel e da caneta leva
a que estes dispositivos se tornem quase invisíveis em condições de luminosidade
ambiente reduzida, sendo a sua percepção visual substituída por uma representação
virtual da responsabilidade do sistema [Schmalstieg99]. A percepção táctil permanece, no entanto, inalterada.
Figura 2-29 – O bloco translúcido de esboços de Encarnação, Bimber et al.
O módulo de reconhecimento caligráfico baseia o seu funcionamento em algoritmos
de lógica difusa [Zadeh87, Bimber99a]. É susceptível de ser treinado e suporta gestos
Trabalho relacionado 2-37
compostos por múltiplos traços. Na Figura 2-30 está representado o repertório de gestos de comando do bloco translúcido e a Figura 2-31 ilustra alguns exemplos de aplicação dos mesmos.
Apagar
Desfazer
Seleccionar
Remover a
selecção
Figura 2-30 – Gestos de comando do bloco translúcido
O sistema incorpora diversos modos de interacção, sendo que a selecção do modo pretendido se baseia, igualmente, numa acção gestual por parte do utilizador. Na Figura
2-32 está representado o repertório de gestos que foi criado para este efeito.
Seleccionar
Apagar
Desfazer
Figura 2-31 – Exemplos de aplicação de comandos no bloco translúcido
2-38
Interacção caligráfica ambígua em sistemas computacionais de modelação
Menu
dependente
do contexto
Pintura
Ferramentas
de janela
Selecção com
rede de pesca
Criação de
objectos
Figura 2-32 – Gestos de alteração de modo do bloco translúcido
A criação de objectos tridimensionais simples é feita directamente no espaço virtual,
mediante o recurso a gestos icónicos que evocam os contornos geométricos da vista
superior dos referidos objectos (Figuras 2-33 e 2-34). Existem, no entanto, algumas
excepções a este procedimento, que serão descritas mais adiante.
Cubo
Esfera
Toro
Cilindro
Pirâmide
Tronco de
pirâmide
Cone
Tronco de
cone
Figura 2-33 – Gestos de criação de objectos do bloco translúcido
Cada gesto é composto por dois ou três traços, esboçados segundo uma ordem bem
estabelecida. De um modo geral, o primeiro traço define o contorno da base do futuro
objecto; o segundo estabelece a profundidade (caso do cubo) ou a altura (casos da
pirâmide e do cone) do mesmo; os sólidos truncados requerem um traço adicional, de
modo a distingui-los dos objectos não truncados correspondentes.
A inexistência de um mecanismo de resolução de ambiguidades levou a que tenham
sido concebidas soluções de excepção para os gestos que instanciam a esfera, o toro e
o cilindro. O primeiro é composto por um traço circular e por um arco de circunferência, de modo a realçar a curvatura do sólido em todas as dimensões; o segundo é cons-
Trabalho relacionado 2-39
tituído por dois traços circulares; o terceiro é feito de duas linhas paralelas que evocam o contorno da vista lateral – e não da vista superior – do objecto.
Tronco de cone
Toro
Figura 2-34 – Exemplos de criação de objectos no bloco translúcido
O bloco de esboços translúcido foi posteriormente aperfeiçoado e generalizado por
Bimber, Encarnação et al. numa arquitectura hierárquica composta por oito camadas,
susceptível de ser parcial ou totalmente incorporada em aplicações que têm no reconhecimento caligráfico em ambientes virtuais o principal paradigma de interacção
[Bimber00]. O módulo de reconhecimento dinâmico, designado por IMGR19, também
foi objecto de um refinamento, vendo o seu repertório de primitivas estruturado e
ampliado, de modo a incluir objectos de formas livres, tais como extrusões e revoluções. O desenho pode ser feito quer em 2D, na superfície do painel transparente, quer
em 3D [Bimber99b], o que se traduz num melhor aproveitamento das características
19
Interface for Motion-based Gesture Recognition.
2-40
Interacção caligráfica ambígua em sistemas computacionais de modelação
do espaço virtual (Figura 2-35). Também as transformações geométricas e a definição
de fontes de iluminação recorrem ao desenho em três dimensões (Figura 2-36).
Figura 2-35 – Exemplo de um esboço 3D feito à mão livre
A arquitectura de Bimber et al. passou a incluir outras modalidades de interacção, tais
como o reconhecimento da informação manuscrita e da fala. A fala é usada, entre
outras tarefas, na comutação entre dois modos de desenho: um modo para criar primitivas 2D tais como pontos, segmentos de recta, arcos e circunferências, e outro para o
desenho à mão livre. Segundo os autores seria possível, em princípio, que a identificação do modo pretendido estivesse a cargo da camada responsável pelo reconhecimento gestual, desde que o desvio nas características das duas categorias de traços
estivesse permanentemente acima de um determinado limiar de identificação. No
entanto, esta situação nem sempre se verifica, pelo que o recurso à fala foi a solução
adoptada para eliminar eventuais conflitos na classificação dos gestos.
Figura 2-36 – Sequência de transformações geométricas efectuadas com base no desenho 3D
São várias as aplicações que recorrem parcial ou totalmente à arquitectura de Bimber
et al. De entre elas, destacam-se as seguintes:
Trabalho relacionado 2-41
•
CADesk, uma aplicação vocacionada para o CAD e o design conceptual,
sucessora do bloco de esboços translúcido [Encarnação99];
•
Virtual Mission Planning, um sistema de planeamento estratégico e de Diplomacia Virtual (Figura 2-37);
Figura 2-37 – O sistema Virtual Mission Planning
•
ARCADE20, um sistema de modelação 3D e uma plataforma de apoio à investigação de novas metodologias de interacção [Stork95, Stork00a, Stork00b]
(Figura 2-38);
Figura 2-38 – O sistema ARCADE
•
SketchAR, uma aplicação de CAS21 que explora a interacção 3D e os ambientes de realidade virtual ou aumentada no desenho à mão livre de superfícies
tridimensionais [Amicis02] (Figura 2-39).
20
Advanced Realism CAD Environment.
2-42
Interacção caligráfica ambígua em sistemas computacionais de modelação
Figura 2-39 – O sistema SketchAR
2.10 OOPS
Mankoff et al. passam em revista algumas das interfaces existentes cujo funcionamento se baseia nalgum tipo de reconhecimento22, e dão um especial destaque ao problema da ambiguidade e às técnicas usadas na sua resolução [Mankoff00b]. Com base
neste estudo desenvolveram um toolkit de interfaces com o utilizador designado por
OOPS – Organized Option Pruning System – que consiste numa biblioteca de técnicas
reutilizáveis de correcção de erros – denominadas técnicas de mediação – complementadas com a infra-estrutura necessária ao tratamento da ambiguidade [Mankoff00a]. O toolkit OOPS foi usado no desenvolvimento do protótipo Burlap – uma
ferramenta computacional de apoio às fases iniciais do design de GUIs23 – uma versão
simplificada do sistema SILK de Landay e Myers [Landay95], já analisado na Secção
2.3 deste documento.
21
Computer Aided Styling.
22
Não só gestual mas também da fala e da escrita, entre outros.
23
Graphical User Interfaces.
Trabalho relacionado 2-43
a)
b)
c)
d)
Figura 2-40 – Sequência de utilização do sistema Burlap
A Figura 2-40 ilustra uma sequência de utilização deste protótipo [Mankoff01]. Após
criar um esboço de uma interface composta por uma barra de scroll, uma área de
desenho, dois menus, um conjunto de três botões e um botão suplementar de impressão (Figura 2-40a), o designer esboça o gesto correspondente a um botão de rádio
(Figura 2-40b). No entanto, o sistema de mediação tem dificuldade em distinguir este
gesto do correspondente a uma check box24, pelo que exibe uma lista na qual confronta o utilizador com ambas as opções (Figura 2-40b). Uma vez desfeita a ambiguidade,
24
O primeiro é parcialmente composto por uma pequena circunferência; o segundo, por um rectângulo
de pequenas dimensões.
2-44
Interacção caligráfica ambígua em sistemas computacionais de modelação
o designer acrescenta um segundo botão de rádio (Figura 2-40c). Esta circunstância
leva a que o sistema necessite de saber se os dois botões deverão ser considerados
separadamente ou, pelo contrário, como parte integrante de uma sequência de
botões25. Uma nova lista é apresentada ao utilizador, de modo a que este possa, mais
uma vez, resolver a ambiguidade (Figura 2-40c). Por último, o designer desencadeia o
processo de construção da interface, obtendo o resultado ilustrado na Figura 2-40d.
Mankoff designa a técnica de mediação acima descrita por escolha. Ao utilizador é
dada a possibilidade de escolher uma de entre as diversas interpretações possíveis
para a sua acção. Existem vários aspectos a considerar na forma como a escolha se
processa:
•
Disposição (layout): descreve a posição e a orientação das opções na janela de
trabalho. Existem diversas maneiras de dispor as alternativas no ecrã, das
quais a mais comum é o menu linear convencional;
•
Instanciação: refere o instante temporal em que a lista de opções surge no
ecrã e as circunstâncias que levaram ao seu aparecimento;
•
Informação contextual adicional: refere-se a toda e qualquer informação
suplementar sobre o modo como cada uma das alternativas foi gerada, ou a
forma como será usada, caso seja escolhida;
25
Este aspecto é importante, pois os botões de rádio de uma sequência são mutuamente exclusivos.
Trabalho relacionado 2-45
•
Interacção: descreve o método segundo o qual o utilizador selecciona a opção
pretendida. O mais comum consiste em carregar e largar o botão predominante
do rato com o cursor posicionado sobre a representação visual da opção;
•
Feedback: descreve a forma de representação – normalmente visual – das
diversas alternativas. A mais comum é o texto, mas existem outras, de que são
exemplos as representações icónicas e os desenhos.
Mankoff descreve uma segunda técnica de mediação que dá pelo nome de repetição.
O utilizador repete, total ou parcialmente, a acção que desencadeou o erro, de modo a
corrigi-lo. A Figura 2-41 ilustra um exemplo de mediação por repetição. O utilizador
esboça o gesto – uma circunferência e uma linha que deveria ser ondulada – correspondente a um botão de rádio (Figura 2-41a). O não reconhecimento do gesto por parte do sistema leva o utilizador a repetir o desenho do último traço, desta vez da maneira correcta (Figura 2-41b). O sistema de reconhecimento volta a entrar em acção e a
identificação do gesto ocorre sem problemas (Figura 2-41c).
a)
b)
c)
Figura 2-41 – Exemplo de mediação por repetição (reparação parcial)
A mediação por repetição pode ser realizada de três maneiras distintas, a saber:
•
Modalidade: neste caso, a repetição envolve o recurso a uma modalidade
alternativa – e menos propensa a erros – de interacção. Por exemplo, em
2-46
Interacção caligráfica ambígua em sistemas computacionais de modelação
alguns sistemas de reconhecimento de informação manuscrita26 é dada ao utilizador a possibilidade de usar um teclado virtual na correcção de eventuais
erros de interpretação;
•
Reparação parcial: trata-se do exemplo acima descrito e ilustrado na Figura
2-41, no qual apenas um dos dois traços que constituem o gesto requer uma
correcção por parte do utilizador;
•
Undo: a mediação por repetição pode ou não envolver o uso do comando
undo. Nos erros por omissão, em que o sistema rejeita toda e qualquer interpretação possível para a acção do utilizador, não há lugar à execução deste
comando, pois a referida acção não teve consequências. Noutras circunstâncias, é necessário o recurso ao comando undo ou a outro que o substitua – delete, por exemplo – antes de se proceder à reintrodução da informação que
desencadeou o erro.
Mankoff descreve também três classes de técnicas automáticas de mediação, ou seja,
técnicas que não requerem a intervenção do utilizador. São elas:
•
Limiar de decisão (thresholding): alguns sistemas de reconhecimento têm a
capacidade de medir o grau de confiança em cada uma das interpretações possíveis para a acção do utilizador. Da conversão dessa medida numa estimativa
da probabilidade de exactidão da interpretação que lhe está associada, e da
comparação deste valor com um dado limiar de decisão resulta que, caso o
primeiro seja inferior ao segundo, a interpretação em causa seja rejeitada;
26
Newton MessagePad e Microsoft Pen for Windows, entre outros.
Trabalho relacionado 2-47
•
Regras: neste caso, a determinação da interpretação correcta é feita mediante
a aplicação de um conjunto de regras predefinidas. No sistema Burlap, por
exemplo, existe uma regra que estabelece que, sempre que o utilizador esboçar
um traço muito curto sobre algum objecto de interacção, tal traço deverá ser
interpretado, não como um traço genuíno27, mas como um mero click28. Esta
situação é particularmente frequente nas interfaces de caneta e seria fastidioso
para o utilizador estar a ser permanentemente confrontado com a lista de
opções resultante da aplicação de uma técnica de mediação por escolha;
•
Análise estatística: nas situações em que não é possível efectuar com segurança uma estimativa das probabilidades de exactidão das diversas opções,
existe uma alternativa que consiste em manter um registo dos erros de interpretação cometidos no passado, bem como do contexto em vigor no instante
em que os mesmos aconteceram. O recurso a uma análise estatística de toda
esta informação permitirá reduzir a ocorrência de erros em situações futuras. A
análise também é susceptível de ser usada nas restantes técnicas de mediação
automática, permitindo efectuar ajustamentos nos valores dos graus de confiança das diversas interpretações, ou constituindo uma ajuda inestimável na
criação de melhores regras ou na melhor definição das circunstâncias que
determinam a sua aplicação.
27
Traduzido por uma acção de carregar, arrastar e largar.
28
Ou seja, uma simples acção de carregar e largar.
2-48
Interacção caligráfica ambígua em sistemas computacionais de modelação
2.11 Stilton
Turner et al. desenvolveram um sistema de modelação, designado por Stilton, que
permite a construção de modelos de objectos tridimensionais numa projecção em
perspectiva de um cenário em que o “chão” e as “paredes” são representados por
fotografias panorâmicas [Turner00]. O sistema assemelha-se a um browser VRML, na
medida em que permite ao utilizador a navegação no interior do referido cenário. Este
desenha o contorno dos objectos num plano bidimensional imaginário situado à sua
frente, após o que é invocado um processo de reconstrução geométrica 3D que baseia
o seu funcionamento num algoritmo proposto por Marill [Marill91] e aperfeiçoado
por Leclerc e Fishler [Leclerc92] e por Lipson e Shpitalni [Lipson96].
Os benefícios e os inconvenientes que decorrem da utilização desta classe de algoritmos já foram expostos em pormenor na Secção 2.4.1 deste capítulo. No caso particular da abordagem de Turner et al., resta acrescentar que o esboço representativo do
objecto em concepção deve incluir quer as arestas visíveis, quer as ocultas. Este
aspecto tem a vantagem de eliminar à partida muitas das interpretações possíveis para
a representação do modelo, mas tem o inconveniente de aumentar o esforço e o tempo
despendidos pelo utilizador. A título de comparação, refira-se que a construção de um
paralelepípedo requer o desenho de doze traços no sistema Stilton, contra nove nas
abordagens em que a representação das arestas invisíveis não é necessária – os sistemas Digital Clay e IDeS, por exemplo – e três em abordagens CSG como as dos sistemas SKETCH e GIDeS.
2.12 O paradigma de interacção de Baudel
Baudel desenvolveu uma técnica de interacção que permite a edição de splines de uma
forma natural, baseada no desenho de traços de correcção e não na especificação de
Trabalho relacionado 2-49
tangentes ou de pontos de controlo [Baudel94]. Com efeito, os dois últimos conceitos,
se bem que familiares no campo da engenharia e, por força das circunstâncias, em
áreas como a do design industrial, são estranhos à classe dos designers gráficos, os
quais preferem basear o processo de edição em acções de natureza gestual – o desenho – e em ideias mais abstractas como o equilíbrio geral de formas.
A interface criada por Baudel para testar a sua abordagem, se bem que fundamentada
no desenho, não contempla o reconhecimento caligráfico29. Existem quatro modos de
interacção, acessíveis através do teclado: um modo de criação de linhas curvas (desenho à mão livre); um modo de edição e outro de remoção de partes dessas linhas; e
um modo de junção de um par de curvas abertas numa única linha fechada. O sistema
baseia o seu funcionamento em algoritmos de reparametrização desenvolvidos especificamente para esse efeito, em conjugação com o algoritmo de curve fitting proposto
por Schneider [Schneider88, Schneider90]. Baudel refere que ponderou a possibilidade de recorrer a técnicas de reconhecimento gestual30 para estabelecer automaticamente a distinção entre os modos de edição e de remoção, ou o recurso a informação
contextual para unificar os modos de edição e de junção. Esta possibilidade foi, no
entanto, afastada, de modo a evitar a confusão que, segundo o autor, seria suscitada
pela inevitável ocorrência de erros de interpretação.
O principal problema do paradigma de interacção de Baudel prende-se com o número
de traços de correcção que é necessário efectuar para obter o resultado pretendido.
Com efeito, a avaliação de usabilidade efectuada pelo próprio autor permite constatar
29
Isto é, não existe qualquer tentativa, por parte do sistema, de efectuar uma interpretação semântica
das acções gestuais do utilizador.
30
Nomeadamente, o algoritmo de Rubine [Rubine91b].
2-50
Interacção caligráfica ambígua em sistemas computacionais de modelação
que o desenho de um único traço não é, na maioria dos casos, suficiente para estabelecer a forma definitiva da parte da curva que se pretende editar. Pelo contrário, o processo de correcção do esboço é iterativo31 e o contorno desejado só é obtido após toda
uma sequência, mais ou menos extensa, de traços de refinamento. Esta situação parece
dever-se ao facto de o conjunto de parâmetros32 usado na determinação da curva de
substituição nem sempre ser o que melhor se adequa aos propósitos do designer.
2.13 Sketch-N-Make
Bloomenthal et al. desenvolveram um sistema que permite o fabrico automatizado de
peças prismáticas33 em metal ou plástico com base no desenho [Bloomenthal98]. O
utilizador começa por esboçar num plano de referência – o “chão” da cena – o contorno (directriz) do objecto pretendido, socorrendo-se, para tal, de um repertório de gestos que instanciam três classes de primitivas 2D: pontos, segmentos de linha recta e
circunferências (Figura 2-42). O sistema encarrega-se de deduzir as restrições geométricas que deverão ser impostas às entidades recém-criadas pelos elementos de desenho já existentes. Além disso, é dada ao utilizador a possibilidade de estabelecer relações numéricas precisas entre as dimensões dos objectos, quer mediante a introdução
de valores, quer recorrendo a técnicas de drag-and-drop.
31
E também, desejavelmente, convergente, mas esse aspecto depende fundamentalmente da habilidade
do utilizador.
32
33
A tensão da spline, entre outros.
Uma peça prismática é um objecto delimitado pela superfície que se obtém deslocando uma linha
recta (geratriz) paralelamente a si própria ao longo do percurso definido por uma linha poligonal (directriz) com a qual não é complanar.
Trabalho relacionado 2-51
Figura 2-42 – Exemplo de um modelo produzido no sistema Sketch-N-Make
A criação da geometria 3D correspondente ao contorno esboçado é desencadeada pelo
desenho de um segmento de recta (geratriz) perpendicular ao plano de referência. O
modelo assim construído pode, posteriormente, ser objecto de alterações, de que é
exemplo a execução de cavidades e furos. O processo é semelhante ao usado na construção do objecto original, com duas diferenças: o plano que serve de referência ao
desenho da directriz é, desta vez, o correspondente à superfície de topo do modelo, e a
especificação da geratriz deverá ser efectuada no sentido descendente.
A interface caligráfica do protótipo Sketch-N-Make constitui uma versão modificada
da interface originalmente concebida para o sistema SKETCH de Zeleznik et al.
[Zeleznik96], pelo que a discussão das suas virtudes e imperfeições, já abordadas em
pormenor na Secção 2.5 deste capítulo, não irá ser repetida aqui.
2.14 CALI
Fonseca et al. conceberam uma biblioteca de componentes – CALI – passível de ser
aproveitada no desenvolvimento de interfaces caligráficas orientadas, principalmente,
para o desenho de arquitectura e a construção de diagramas técnicos, tais como circuitos eléctricos, lógicos e fluxogramas [Fonseca00a, Fonseca01, Fonseca02a]. O algoritmo utilizado é uma evolução de um trabalho anterior dos mesmos autores [Jorge99]
2-52
Interacção caligráfica ambígua em sistemas computacionais de modelação
e baseia o reconhecimento das formas na determinação de um conjunto de características geométricas gerais que traduzem, essencialmente, as relações entre os perímetros
e as áreas de três polígonos especiais: o triângulo e o quadrilátero de maior área inscritos no polígono convexo correspondente à forma a identificar [Boyce85], e o rectângulo envolvente de menor área [Freeman75]. O polígono convexo é calculado com
base num algoritmo proposto por Graham [O’Rourke98]. As incertezas e as imprecisões decorrentes do desenho à mão livre são geridas com o recurso a algoritmos de
lógica difusa [Bezdek92, Fonseca00b], os quais permitem associar graus de certeza às
formas reconhecidas e, por conseguinte, tratar de uma maneira natural as ambiguidades.
O módulo de reconhecimento do sistema CALI está apto a identificar gestos de comando compostos por apenas um traço (Figura 2-43) e diversas formas geométricas elementares – primitivas de desenho – constituídas por um ou mais traços, tais como
triângulos, rectângulos, losangos, circunferências, elipses, segmentos de linha recta e
flechas. O processo é insensível à transformação geométrica de rotação e admite três
tipos diferentes de traço: normal, tracejado ou grosso34.
Apagar
Linha ondulada
Copiar
Mover
Desfazer
Figura 2-43 – Gestos de comando da biblioteca CALI
34
Os traços grossos são obtidos mediante o delineamento de vários traços normais em sobreposição.
Trabalho relacionado 2-53
A identificação dos traços pertencentes a uma mesma forma geométrica baseia-se nas
relações temporais existentes entre eles. Isto é, sempre que o designer conclui a execução de um traço, entra em acção um temporizador ajustado para um determinado
intervalo de tempo. Se o utilizador iniciar o desenho de um novo traço antes de esgotado o referido intervalo, ambos os traços são considerados como sendo parte integrante do mesmo gesto, o temporizador é reiniciado e o ciclo repete-se. Se, pelo contrário, o intervalo de tempo se esgotar sem que tenha havido lugar a uma nova acção
por parte do designer, o processo de desenho é dado como concluído e o sistema de
reconhecimento entra em acção.
Esta solução, se bem que engenhosa, apresenta três inconvenientes. Em primeiro
lugar, impõe que os traços constituintes de um mesmo gesto sejam esboçados de forma consecutiva35. Em segundo lugar, exige que o utilizador inicie o desenho de um
novo traço antes que o intervalo de tempo decorrido desde a conclusão do traço anterior se tenha esgotado. Em terceiro e último lugar, uma vez concluído o delineamento
do último traço, o designer é obrigado a esperar até que o intervalo de tempo se esgote
e o processo de reconhecimento se inicie.
A biblioteca CALI foi usada pelos seus autores no aperfeiçoamento de um trabalho
anterior, um editor multimodal de formas geométricas elementares, designado por
Eddy [Fonseca98]. Nesta nova versão foi dada prioridade ao tratamento da ambiguidade, tendo sido adoptada uma abordagem semelhante à das listas icónicas de expectativas de comandos do sistema GIDeS (Figura 2-44). A principal diferença reside no
35
Ou seja, as tarefas de desenho não podem ser interrompidas. Por exemplo, não é permitido ao utilizador desenhar parte de uma dada forma geométrica, em seguida esboçar uma segunda primitiva ou
gesto de comando e, por fim, concluir o desenho da forma geométrica que havia iniciado em primeiro
lugar.
2-54
Interacção caligráfica ambígua em sistemas computacionais de modelação
facto de, nas listas de Fonseca et al., todas as opções serem exibidas em permanência,
estando os botões correspondentes às alternativas que não se adequam às circunstâncias desactivados. No sistema GIDeS, pelo contrário, a adaptação dinâmica das listas
de expectativas ao contexto de utilização vai mais longe, não chegando a ser exibidas
as opções que não fazem sentido nesse mesmo contexto.
Figura 2-44 – Resolução de ambiguidades no editor caligráfico de Fonseca et al.
2.15 Chateau
Igarashi et al. desenvolveram um sistema de modelação, denominado Chateau, que
permite a construção expedita, com base no desenho constrangido36, de cenas tridimensionais razoavelmente complexas e precisas [Igarashi01] (Figura 2-45).
Figura 2-45 – Exemplos de cenas produzidas no sistema Chateau
O aspecto mais relevante da interface prende-se com o facto de, para além do acto de
desenhar propriamente dito – efectuado com o botão principal do rato – e das opera-
36
E não no desenho à mão livre.
Trabalho relacionado 2-55
ções de manipulação directa da câmara37 – realizadas com o auxílio do botão secundário – existir um terceiro tipo de acções do utilizador: o fornecimento de pistas, ou
indícios38, que constituem o ponto de partida para uma tentativa, por parte do sistema,
de interpretação das intenções do designer, confrontando-o com um conjunto de predições e sugestões que reflectem diferentes opções de construção e/ou de alteração da
geometria da cena. O próprio acto de desenhar desencadeia os mecanismos de predição e de sugestão, pois o último elemento esboçado fica automaticamente seleccionado. A Figura 2-46 ilustra um exemplo do funcionamento deste processo.
Figura 2-46 –Mecanismos de predição e de sugestão do sistema Chateau
37
38
Estas baseiam o seu funcionamento no algoritmo Unicam, proposto por Zeleznik et al. [Zeleznik99].
Hints no original. Esta acção é normalmente concretizada através da selecção de elementos de desenho previamente esboçados.
2-56
Interacção caligráfica ambígua em sistemas computacionais de modelação
O utilizador procedeu à selecção de dois dos segmentos de recta39 que constituem a
cena (representados a laranja na janela principal da figura). Com base nestas pistas, o
sistema sugere as seguintes linhas de actuação:
•
O desenho de um novo segmento de recta (representado a rosa na figura), o
qual se caracteriza pelo facto de obedecer a um determinado conjunto de restrições geométricas dependentes do contexto. No exemplo em análise, o segmento em questão está ligado à extremidade livre do segmento que foi seleccionado – ou desenhado – em último lugar, sendo paralelo e tendo a mesma
dimensão do outro segmento seleccionado. Este mecanismo de predição de
linhas baseia o seu funcionamento num trabalho anterior de Igarashi et al.: o
sistema Pegasus, já apresentado e discutido na Secção 2.7 desta dissertação;
•
O estabelecimento do plano em que se inscrevem os segmentos seleccionados
como um plano auxiliar de desenho. Esta sugestão é apresentada ao utilizador
sob a forma de um modelo em escala reduzida da globalidade da cena, no canto inferior esquerdo da janela de trabalho;
•
A construção de uma superfície – triangular ou rectangular – delimitada pelo
polígono constituído pelos elementos seleccionados e por um ou dois segmentos de recta adicionais, a criar pelo sistema (na figura, respectivamente a
segunda e a terceira sugestões constantes da lista exibida no canto inferior
esquerdo da janela de trabalho).
39
O segmento de linha recta é o único elemento de desenho suportado pelo sistema Chateau, uma limitação importante que será analisada mais adiante neste documento.
Trabalho relacionado 2-57
O designer é livre de aceitar ou de rejeitar as predições e sugestões do sistema. A aceitação é feita mediante um simples click no segmento de recta – no caso das predições
– ou no modelo em escala reduzida – no caso das sugestões – representativo da pretensão do utilizador.
Tabela 2-6 – Repertório de sugestões do sistema Chateau
O exemplo descrito reproduz apenas um pequeno subconjunto do repertório de sugestões – num total de vinte – disponibilizado pelo sistema Chateau (Tabela 2-6). Além
disso, a arquitectura do protótipo é modular, no sentido em que cada sugestão é processada por uma unidade independente, que os autores designam por motor de sugestões. Este aspecto tem a vantagem de facilitar o desenvolvimento e a posterior inclu-
2-58
Interacção caligráfica ambígua em sistemas computacionais de modelação
são no sistema de módulos adicionais, os quais serão a fonte de novos tipos de sugestões. Na Tabela 2-7 estão representados quatro exemplos de motores de sugestões
implementados por utilizadores de ensaios. Há, no entanto, um factor a ter em conta
em todo este processo: os padrões de reconhecimento que desencadeiam a acção dos
motores de sugestões devem ser, na medida do possível, mutuamente exclusivos, sob
pena de o número de sugestões simultâneas com que o designer é confrontado ser
demasiado elevado, o que compromete a usabilidade da interface40.
Tabela 2-7 – Exemplos de novos motores de sugestões
Quer isto dizer que, não obstante a interface estar apta a gerir as ambiguidades decorrentes da interpretação das acções do utilizador, os seus criadores optaram por minimizar a sua ocorrência. E fizeram-no de duas maneiras distintas: através do conceito
do fornecimento de pistas e mediante o estabelecimento de padrões de reconhecimento mutuamente exclusivos.
A avaliação informal de usabilidade permitiu, segundo os autores, constatar que bastam cerca de 30 minutos para efectuar a aprendizagem do comportamento do sistema
e poucas horas para construir diversos modelos de complexidade razoável (Figura 247). O conceito de sugestão foi qualificado pelos participantes como sendo apelativo e
40
Por outras palavras, a modularidade da arquitectura não é tão efectiva quanto seria desejável, pois a
adição de novos motores de sugestões deverá ser acompanhada de uma revisão e eventual redefinição
dos padrões de reconhecimento dos módulos já existentes.
Trabalho relacionado 2-59
útil, tendo os motores básicos de sugestões – os seis primeiros da Tabela 2-6 – sido os
que recolheram maior aceitação41.
Figura 2-47 – Modelos criados aquando da avaliação de usabilidade do sistema Chateau
Os autores apontam, também, algumas limitações da interface, de entre as quais se
destacam as seguintes:
•
A dificuldade em determinar o conjunto de pistas que é necessário fornecer ao
sistema, de modo a desencadear a sugestão que melhor se adequa às pretensões do utilizador42. Os autores referem a necessidade de se dispor de um guia
visual de aprendizagem e referência de sugestões, semelhante ao ilustrado na
Tabela 2-6;
41
Na realidade, bastam dois motores – o correspondente ao estabelecimento de um plano auxiliar de
desenho e o que sugere a construção de uma superfície plana a partir de uma linha poligonal fechada –
para efectuar todas as operações suportadas pelo sistema. Os demais motores são redundantes e destinam-se a aumentar a eficiência das tarefas típicas de modelação [Igarashi01].
42
Este problema é agravado pelo facto de, em alguns casos, a ordem segundo a qual as pistas são fornecidas ser relevante.
2-60
•
Interacção caligráfica ambígua em sistemas computacionais de modelação
A dificuldade em seleccionar o elemento de desenho correspondente à pista
que se pretende fornecer, nos casos em que a complexidade da cena tridimensional é elevada;
•
A dificuldade em interpretar e identificar as sugestões do sistema, dada a exiguidade da escala envolvida na representação por imagens em miniatura –
thumbnails – da totalidade da cena;
•
A ordem pela qual as sugestões são exibidas é constante e essencialmente arbitrária43. Os autores sugerem critérios alternativos de ordenação, tais como: a
exibição, nos primeiros lugares, das sugestões que já tenham sido usadas no
passado recente; a ordenação com base em preceitos de natureza contextual; e
a disposição das sugestões segundo um critério que tenha em linha de conta
uma organização hierárquica preestabelecida das mesmas;
•
A não contemplação de primitivas curvas de desenho44, bem como de sugestões de construção de cilindros, superfícies de revolução e cantos arredondados. Os autores referem a intenção de, a longo prazo, aperfeiçoar a interface
no sentido de esta poder ser usada no âmbito dos sistemas de modelação de
formas livres com base no desenho.
43
Reflecte a ordem segundo a qual os diversos motores de sugestões entram em funcionamento. Por
exemplo, a sugestão correspondente ao estabelecimento de um plano auxiliar de desenho – a primeira
da Tabela 2-6 – surgirá sempre em primeiro lugar; a sugestão de construção da superfície plana correspondente a uma linha poligonal fechada – a segunda da mesma tabela – aparecerá em segundo ou em
primeiro lugar; e assim sucessivamente.
44
Esta limitação ficou bem patente aquando da realização da sessão de ensaio do sistema. Atente-se na
terceira sugestão da Tabela 2-7 e constate-se que um dos participantes na referida sessão decidiu
implementar um motor que sugerisse a conversão de uma sequência de segmentos de recta – uma polyline, portanto – numa spline correspondente.
Trabalho relacionado 2-61
2.16 SketchUp
SketchUp é um sistema comercial, desenvolvido pela @Last Software, de apoio às
fases conceptuais do design 3D [@LastSoftware] (Figura 2-48). Não obstante a interacção se basear em técnicas WIMP de manipulação directa, a construção de geometria tridimensional é fundamentada no desenho, pelo que importa aqui realçar as
características mais importantes deste produto.
Figura 2-48 – O sistema SketchUp
Os elementos de desenho suportados são o segmento de recta, o rectângulo, os polígonos regulares, o arco de circunferência, a circunferência e o traço à mão livre. Sempre que da utilização de uma ou mais destas entidades resultarem percursos fechados,
as áreas delimitadas pelos mesmos serão automaticamente preenchidas pelas superfícies planas correspondentes. Cada uma destas superfícies pode, por sua vez, ser objec-
2-62
Interacção caligráfica ambígua em sistemas computacionais de modelação
to de uma extrusão efectuada segundo a direcção definida pela normal ao plano em
que a superfície se inscreve45 (Figura 2-49).
Figura 2-49 – Exemplo de aplicação da ferramenta push/pull
Também estão disponíveis ferramentas de transformação geométrica que tanto podem
ser aplicadas a um sólido no seu todo, como apenas a alguns dos seus elementos constituintes – vértices, arestas e faces. No primeiro caso, está-se na presença de transformações geométricas de corpo rígido; no segundo, pelo contrário, o objecto é deformado de modo a acomodar a transformação parcial da sua geometria. Nas Figuras 2-50a
e 2-50b estão representadas, respectivamente, a translação de uma falsa aresta existente na face superior de um bloco, e a rotação da superfície de topo de um prisma.
a) translação de uma aresta
b) rotação de uma face
Figura 2-50 – Exemplos de aplicação das ferramentas move/copy e rotate
45
A operação em causa designa-se por push/pull, pois pode ser realizada quer num sentido, quer no
sentido oposto. Este aspecto é importante, pois permite que a mesma ferramenta seja aproveitada quer
na adição, quer na remoção de volume a um objecto, ou seja, permite executar não só saliências, mas
também cavidades, furos e cortes.
Trabalho relacionado 2-63
A principal limitação na funcionalidade do sistema SketchUp parece estar relacionada
com a criação de modelos delimitados por superfícies curvas. A ferramenta push/pull
torna a construção dos sólidos de extrusão simples de efectuar, podendo o perfil que
lhes dá origem ter a forma que o utilizador muito bem entender. Este procedimento
também se aplica ao cilindro, que mais não é do que a extrusão de um círculo segundo
uma direcção perpendicular ao plano do mesmo. O cone e o tronco de cone podem ser
obtidos com facilidade a partir do cilindro, usando a ferramenta move/copy para alterar o diâmetro e/ou a base daquele objecto. Já quando se trata de criar os sólidos ilustrados na Figura 2-51, a situação é um pouco mais complicada. Os parágrafos que se
seguem descrevem as diligências feitas pelo autor deste documento no sentido de
encontrar um método, tão expedito quanto possível46, de construção destes modelos.
Esfera
Toro
Objecto de revolução
Figura 2-51 – Exemplos de sólidos de construção difícil
A esfera está disponível na biblioteca de componentes que acompanha o sistema, pelo
que não foi necessário construí-la.
Para modelar o toro, o autor começou por criar uma circunferência e um pequeno círculo, tendo o cuidado de posicionar e orientar este último de modo a que o seu centro
46
Dado tratar-se de um utilizador inexperiente do sistema SketchUp, o autor não garante a inexistência
de procedimentos mais eficientes do que os que aqui se descrevem.
2-64
Interacção caligráfica ambígua em sistemas computacionais de modelação
coincidisse com um dos falsos vértices da circunferência, e que o seu eixo fosse coincidente com a tangente à circunferência no referido vértice. Em seguida recorreu à
ferramenta rotate para criar e rodar uma cópia do círculo, fazendo coincidir o seu centro com outro falso vértice da circunferência, adjacente ao primeiro. Procedeu, então,
à união com segmentos de recta de cada um dos vértices falsos de um dos círculos ao
vértice falso correspondente do outro círculo, criando assim uma secção toroidal. Por
fim, recorreu novamente à ferramenta rotate para replicar e rodar a referida secção as
vezes necessárias para fechar o modelo.
Para criar o objecto de revolução, o autor começou por construir uma pilha de cilindros todos iguais. Em seguida recorreu ao utensílio move/copy para alterar os diâmetros das bases – ou dos topos – destes sólidos, de modo a convertê-los em troncos de
cone e, por conseguinte, reproduzir a forma pretendida para o perfil do modelo47.
Não obstante a existência desta limitação, a interacção com o sistema SketchUp é, de
um modo geral, simples e agradável e a aprendizagem do seu comportamento processa-se com rapidez e sem grandes sobressaltos. Apesar de vocacionado, segundo os
seus criadores, para as fases conceptuais do design, o sistema dispõe de alguns mecanismos que conferem rigor aos processos de modelação. São estes mecanismos – as
restrições geométricas, as linhas de construção e a cotagem de objectos – que se passam a descrever nas secções que se seguem.
47
Este procedimento é idêntico, na sua essência, ao da edição de splines com base na especificação de
pontos de controlo, um conceito que só por força das circunstâncias é familiar à classe dos designers
(ver a Secção 2.12).
Trabalho relacionado 2-65
2.16.1
Restrições geométricas
O sistema SketchUp dispõe de um mecanismo de sugestão de restrições geométricas
que baseia o seu funcionamento em técnicas de snapping. A Figura 2-52 ilustra a aplicação do mesmo ao processo de construção de uma pirâmide rectangular.
Figura 2-52 – Sequência de construção de uma pirâmide rectangular
2-66
Interacção caligráfica ambígua em sistemas computacionais de modelação
A representação visual das restrições inclui pontos e segmentos de recta coloridos,
devidamente acompanhados de pequenos textos explicativos – tips. A cada cor está
associada uma restrição diferente. Assim, as extremidades dos segmentos e arestas são
representadas pela cor verde, os pontos médios pela cor ciano, as relações de paralelismo aos três eixos coordenados pelas cores vermelha, verde e azul, etc. O texto, por
sua vez, ajuda o designer a familiarizar-se com os significados das diversas cores e
constitui uma forma redundante de transmitir informação, de grande importância para
os utilizadores daltónicos [Hix93].
No exemplo da figura, o rectângulo que constitui a base da futura pirâmide está alinhado com os eixos X e Y, pelo que o centro geométrico do polígono pode ser encontrado no ponto de intersecção de duas linhas rectas imaginárias que passam pelos pontos médios de duas arestas adjacentes e são paralelas aos referidos eixos. O centro do
polígono constitui o ponto de partida para o desenho de um segmento de recta paralelo ao eixo Z, em cuja extremidade livre se encontra o ápice da futura pirâmide. O processo conclui-se unindo este ponto a cada um dos quatro vértices do rectângulo48.
2.16.2
Linhas de construção
O sistema SketchUp dispõe de uma ferramenta, denominada protractor49, que permite
efectuar a medição de ângulos e criar linhas de construção. As restrições geométricas
sugeridas pelo mecanismo de snapping assistem o utilizador na tarefa de definir com
precisão a posição e a orientação destas linhas. As linhas de construção, por sua vez,
48
A maneira aqui apresentada de construir uma pirâmide rectangular constitui apenas um exemplo de
aplicação das restrições geométricas do sistema SketchUp. Existe uma forma alternativa e mais expedita de construir o mesmo sólido, que consiste em unir o centro geométrico do rectângulo a cada um dos
seus vértices e usar a ferramenta move/copy para deslocar aquele ponto ao longo do eixo Z.
49
Transferidor.
Trabalho relacionado 2-67
darão origem ao aparecimento de novas restrições geométricas, as quais poderão ser
usadas pelo designer na definição rigorosa do modelo que estiver a ser concebido.
a)
b)
c)
d)
Figura 2-53 – Sequência de criação de duas linhas de construção
A Figura 2-53 ilustra uma sequência de criação de duas linhas de construção. Os pontos a verde assinalam os vértices do polígono e constituem uma manifestação da acção
do mecanismo de snapping. O utilizador começa por posicionar o transferidor na
cena, tendo o cuidado de fazer com que o plano deste utensílio coincida com o plano
em que deverá estar inscrita a linha que pretende criar. Deverá, também, ter o cuidado
de fazer coincidir o centro do transferidor com um ponto por onde a linha deverá passar (Figuras 2-53a e 2-53c). Segue-se a rotação do utensílio em torno do seu centro, de
modo a estabelecer a orientação desejada para a linha (Figuras 2-53b e 2-53d). Uma
vez concluído o processo de criação de ambas as entidades (representadas a cinzento e
a tracejado na figura), seria possível, por exemplo, determinar com precisão o centro
2-68
Interacção caligráfica ambígua em sistemas computacionais de modelação
geométrico do polígono, pois este coincide com o ponto de intersecção das linhas de
construção, estando este último acessível através do mecanismo de snapping50.
2.16.3
Cotagem de objectos
O sistema SketchUp dispõe de duas ferramentas de auxílio ao processo de cotagem de
objectos. A primeira destina-se apenas a criar uma reprodução visual das grandezas
que se pretende representar, não permitindo alterar as dimensões do modelo. A
segunda – uma fita métrica – permite efectuar a medição de grandezas lineares e, caso
o utilizador assim o entenda, modificar os valores medidos. Neste último caso, o sólido será objecto de transformações uniformes de scaling, de modo a reflectir as alterações efectuadas.
Figura 2-54 – Cotagem e redimensionamento de objectos
50
Na realidade não teria sido necessário recorrer à criação de linhas de construção para determinar com
rigor o centro do polígono. Este ponto em particular está, à partida, incluído no repertório das restrições
geométricas suportadas pelo sistema.
Trabalho relacionado 2-69
A Figura 2-54 ilustra um exemplo deste processo. O designer começou por construir
um cilindro com uma altura de 4 m e um diâmetro de 5 m. Em seguida usou a fita – na
figura, o traço azul delimitado por pontos verdes51 – para medir a altura do sólido. O
valor obtido – 4.00 m – aparece representado numa pequena caixa situada no canto
inferior direito da janela de trabalho. O utilizador decide, então, recorrer ao teclado
para alterar esta grandeza. O novo valor – 2.00 m – desencadeia o redimensionamento
uniforme do objecto, dando assim origem a um cilindro com 2 m de altura e 2.5 m de
diâmetro.
2.17 Conclusão
Neste capítulo procedeu-se a uma apresentação dos trabalhos mais importantes que
têm vindo a ser realizados por outros autores nas áreas da interacção caligráfica e dos
sistemas computacionais de apoio ao design. Também foram objecto de estudo alguns
trabalhos que, não obstante fundamentarem a sua interacção noutras metáforas que
não a do papel e do lápis, apresentam aspectos característicos que se enquadram no
âmbito desta dissertação. As principais vantagens e inconvenientes das abordagens
subjacentes a todos estes trabalhos foram objecto de uma atenção redobrada, feita sob
a perspectiva do utilizador e visando o apuramento dos benefícios e prejuízos que a
sua eventual incorporação em futuras gerações de sistemas comerciais de modelação
implicaria. Tais atributos aparecem resumidos nas Tabelas 2-8 e 2-9 e irão constituir o
ponto de partida para a discussão, no capítulo que se segue, dos princípios que serviram de base à implementação do protótipo GIDeS.
51
As cores reflectem, mais uma vez, a acção do mecanismo de sugestão de restrições geométricas.
2-70
Interacção caligráfica ambígua em sistemas computacionais de modelação
Aspectos positivos
Possibilidade de treinar os processos de reconhecimento com
base em exemplos fornecidos pelo utilizador
Aptidão para reconhecer gestos compostos por mais do que
um traço
Identificação dos traços componentes de um gesto com base
em relações de natureza espacial
Insensibilidade dos processos de reconhecimento à ordenação
dos traços que compõem os gestos
Insensibilidade dos processos de reconhecimento ao sentido de
desenho dos traços
Insensibilidade dos processos de reconhecimento às transformações geométricas
Aptidão para reconhecer diferentes tipos de traços
Modalidades complementares de interacção natural
Correcção de esboços com base em técnicas de oversketching
Redimensionamento de objectos 3D com base em técnicas de
oversketching
Transformações geométricas de hierarquias de objectos
Modelação rigorosa com base em restrições
Modelação rigorosa com base em linhas de construção
Modelação rigorosa com base na cotagem de objectos
Facilidade em construir sólidos de extrusão
Aptidão para gerir ambiguidades
Simplicidade, naturalidade e eficiência do paradigma de interacção
Intervenções semânticas enquanto técnica de desambiguação,
de imposição de restrições de modelação e de inclusão de
componentes de bases de dados
Colagem
Sistemas
Electronic Cocktail Napkin / BoE
SILK
Translucent sketchpad
Electronic Cocktail Napkin / BoE
SKETCH
Smart Paper
Translucent sketchpad
Sketch-N-Make
CALI
Smart Paper
Smart Paper
CALI
Smart Paper
CALI
Smart Paper
CALI
Smart Paper (normal, tracejado)
CALI (normal, tracejado, grosso)
Smart Paper (escrita)
Translucent sketchpad (escrita e fala)
Paradigma de interacção de Baudel
SKETCH
Electronic Cocktail Napkin / BoE
SKETCH
Pegasus
Sketch-N-Make
Chateau
SketchUp
SketchUp
Smart Paper
SketchUp
SketchUp
SILK
Pegasus
CALI
Chateau
IDeS
Teddy
IDeS
IDeS
Tabela 2-8 – Síntese dos principais aspectos positivos dos trabalhos investigados
Trabalho relacionado 2-71
Aspectos negativos
Inaptidão para reconhecer gestos compostos por mais do que um
traço
Identificação dos traços componentes de um gesto com base em
relações de natureza temporal
Sensibilidade dos processos de reconhecimento à ordenação dos
traços que compõem os gestos
Sensibilidade dos processos de reconhecimento ao sentido de
desenho dos traços
Sensibilidade dos processos de reconhecimento às transformações geométricas
Interacção com mais do que um botão ou com teclas modificadoras
Lentidão de convergência por parte dos processos iterativos de
oversketching
Inconsistências no repertório dos gestos que instanciam primitivas 3D
Modelação não rigorosa
Inaptidão para produzir cenas complexas, compostas por mais
do que um objecto
Limitações à complexidade e diversidade topológica dos objectos
Inaptidão para gerir ambiguidades
Exclusividade mútua dos padrões de reconhecimento
Dificuldade em determinar os indícios necessários ao desencadeamento das diversas sugestões
Dificuldade em seleccionar os elementos de desenho correspondentes aos indícios que se pretende fornecer
Dificuldade em interpretar ou seleccionar as predições e sugestões do sistema
Inexistência de critérios de ordenação de sugestões
Inexistência de acções por omissão
Inexistência de primitivas 2D/3D de contornos suaves ou formas livres
Dificuldade em construir certos tipos de sólidos de contornos
suaves
Ónus da iniciativa na interpretação semântica das acções do
utilizador
Propagação das imprecisões do desenho
Limitações dos algoritmos de reconstrução 3D: aplicáveis apenas a sólidos compostos por faces poligonais planas e vértices
trivalentes; condições de viabilidade insuficientes ou de difícil
implementação
Obrigatoriedade de desenhar as arestas ocultas dos objectos 3D
Recurso a equipamento sofisticado, volumoso e dispendioso
Sistemas
SILK
CALI
Electronic Cocktail Napkin / BoE
SKETCH
Sketch-N-Make
SILK
SKETCH
Sketch-N-Make
Electronic Cocktail Napkin / BoE
SILK
SILK
SKETCH
Paradigma de interacção de Baudel
SKETCH
Translucent sketchpad
SKETCH
Teddy
Teddy
Teddy
SKETCH
Smart Paper
Translucent sketchpad
Paradigma de interacção de Baudel
Sketch-N-Make
SKETCH (obrigatória)
Chateau (desejável)
Chateau
Chateau
Pegasus
Chateau
Chateau
Chateau
Pegasus
Chateau
SketchUp
IDeS (intervenções semânticas)
Chateau (fornecimento de indícios)
IDeS
Digital Clay
IDeS
Stilton
Stilton
Translucent sketchpad
Tabela 2-9 – Síntese dos principais aspectos negativos dos trabalhos investigados
Capítulo 3
Discussão
Paradigma do desenho incremental
Reconhecimento caligráfico
Arquitectura
Técnicas de mediação
Dispositivos e mecanismos de interacção
Primitivas 3D
Operações booleanas
Listas de expectativas e interfaces RISC
Padrões de reconhecimento
Representação visual das sugestões
Ordenação das opções
Acção por omissão
Listas de expectativas versus intervenções semânticas
Listas de expectativas versus fornecimento de indícios
Primitivas curvas e correcção ambígua de esboços
Restrições geométricas e linhas de construção
Edição e transformação geométrica de alto nível
Conclusão
3 Discussão
Neste capítulo proceder-se-á a uma exposição aprofundada das ideias que, no seu conjunto, constituem a abordagem ao problema enunciado no início desta dissertação e
das razões pelas quais a referida abordagem representa uma contribuição efectiva para
a resolução desse problema. Mais concretamente, serão analisados o paradigma do
desenho incremental (Secção 3.1), as contribuições dadas no âmbito do reconhecimento caligráfico e das arquitecturas que lhe são subjacentes (Secção 3.2), as listas de
expectativas enquanto mecanismo de resolução de ambiguidades e o conceito de interfaces RISC que delas decorre (Secção 3.3), a correcção ambígua de esboços (Secção
3.4), as restrições geométricas e as linhas de construção enquanto técnicas de modelação rigorosa de objectos e cenas tridimensionais complexos (Secção 3.5), e a edição e
transformação geométrica de alto nível (Secção 3.6). Como ponto de referência para
esta discussão serão usados os trabalhos realizados por outros autores que foram descritos no capítulo anterior.
3.1 Paradigma do desenho incremental
O paradigma do desenho incremental consiste num processo construtivo de produção
de objectos complexos com base num conjunto restrito de formas elementares – primitivas 3D – e de comandos de manipulação. Pode ser considerado uma variante da
abordagem CSG adoptada em alguns sistemas comerciais de modelação, mas distingue-se desta por dois factores fundamentais: por um lado, a interacção assenta no
reconhecimento caligráfico dos gestos – desenhos – esboçados pelo utilizador; por
outro, a construção de primitivas e a execução de alguns dos comandos de edição,
3-2
Interacção caligráfica ambígua em sistemas computacionais de modelação
Bloco: três segmentos de recta perpendiculares que se
encontram num ponto
Esfera: uma circunferência
Cilindro: uma elipse e um segmento de recta perpendicular
ao plano do círculo representado pela elipse
Cone: uma elipse e um segmento de recta oblíquo. A
extremidade livre do segmento está situada nas proximidades do eixo do círculo representado pela elipse
Tronco de cone: uma elipse e um segmento de recta oblíquo. A extremidade livre do segmento não está situada nas
proximidades do eixo do círculo representado pela elipse
Prisma: uma linha poligonal fechada e um segmento de
recta perpendicular ao plano do polígono
Pirâmide: uma linha poligonal fechada e um segmento de
recta oblíquo. A extremidade livre do segmento está situada
nas proximidades do eixo do polígono
Tronco de pirâmide: uma linha poligonal fechada e um
segmento de recta oblíquo. A extremidade livre do segmento não está situada nas proximidades do eixo do polígono
Ducto: uma linha fechada e uma linha aberta
Superfície de revolução: uma elipse e uma linha aberta
Extrusão: uma linha fechada e um segmento de recta perpendicular ao plano do polígono representado pela linha
fechada
Tabela 3-1 – As primitivas 3D do sistema GIDeS e os gestos que lhes dão origem
Discussão
3-3
designadamente as operações booleanas de união e subtracção, são sugeridas automaticamente pelo sistema1 ao invés de serem invocadas explicitamente por quem o está a
usar. Na Tabela 3-1 está representado o repertório de primitivas 3D do protótipo
GIDeS, bem como os gestos que as instanciam.
Tendo como suporte o desenho, a abordagem adoptada é adequada às fases iniciais do
design, na medida em que se aproxima, na sua facilidade de utilização, do conjunto
papel/lápis normalmente usado pelos designers. Ao fazê-lo de forma incremental, esta
abordagem permite também a concepção rigorosa2, com base na montagem de instâncias dos sólidos elementares acima referidos, de modelos tridimensionais consideravelmente complexos, não pondo em causa a simplicidade e a naturalidade dos processos de interacção [Pereira03a, Pereira03b].
O paradigma do desenho incremental é consideravelmente diferente do estabelecido
por Branco na sua tese de Doutoramento (o paradigma do desenho puro; ver a Secção
2.4.1 do Capítulo 2). Por um lado, a interacção caligráfica representa uma dificuldade
acrescida pela eventual ocorrência de erros durante o processo de reconhecimento dos
gestos esboçados pelo utilizador. Por outro, a conversão de duas para três dimensões
existe apenas ao nível da identificação das configurações que instanciam os sólidos de
base (primitivas 3D), pelo que os métodos de construção dos mesmos são substancialmente mais simples do que os algoritmos de reconstrução usados por Branco, não
havendo a necessidade de recorrer a técnicas de etiquetagem do desenho. Este factor
1
2
Mediante a exibição de listas de expectativas (Secção 3.3).
Os aspectos ligados à precisão da modelação resultam da conjugação do paradigma do desenho
incremental com as restrições geométricas e as linhas de construção, e serão discutidos na Secção 3.5
deste capítulo.
3-4
Interacção caligráfica ambígua em sistemas computacionais de modelação
elimina, logo à partida, todos os problemas decorrentes das limitações – sólidos compostos por faces poligonais planas e vértices trivalentes; condições de viabilidade
insuficientes ou de difícil implementação – características desta classe de algoritmos e
técnicas3 (Figura 3-1).
vértices não trivalentes
superfície curva
Figura 3-1 – Exemplos de sólidos de reconstrução difícil
As dificuldades relacionadas com eventuais erros de reconhecimento e as ambiguidades existentes na interpretação do desenho são resolvidas de uma forma integrada pelo
recurso às listas de expectativas [Pereira01c]. As imprecisões introduzidas no esboço
vão sendo detectadas e corrigidas à medida que vão aparecendo, o que evita a sua
propagação e a consequente obtenção de resultados incorrectos ou diferentes dos pretendidos pelo utilizador. A par da correcção de imprecisões, as restrições geométricas
que vão sendo aplicadas e o auxílio proporcionado pelas linhas de construção conferem ao traçado um rigor substancial, abrindo deste modo o caminho à utilização dos
sistemas de desenho incremental nas etapas finais do processo de design.
3
A exequibilidade física das primitivas reconhecidas pelo sistema GIDeS está assegurada à partida; os
vértices não têm de ser, necessariamente, trivalentes – o ápice de uma pirâmide não triangular, por
exemplo; e nem todas as primitivas são poliedros – é o caso da esfera, do cilindro, do cone, do tronco
de cone e da superfície de revolução; a extrusão e o ducto podem, também, ser delimitados por superfícies curvas.
Discussão
3-5
Como contrapartida, o paradigma descrito nesta dissertação é um pouco menos familiar e mais intrusivo do que o defendido por Branco. Além disso, a construção incremental de modelos complexos com base num conjunto de sólidos elementares pode
constituir um processo mais demorado e, como tal, menos eficiente do que a sua
reconstrução com base no desenho puro4.
O paradigma do desenho incremental permite também ultrapassar alguns dos inconvenientes evidenciados pelo sistema Teddy de Igarashi et al. (Secção 2.8 do Capítulo
2), como sejam a criação de cenas tridimensionais complexas, compostas por mais do
que um objecto, e a produção de modelos, também eles complexos, dotados de outras
topologias que não a esférica. Este último aspecto pode ser alcançado de duas maneiras distintas: mediante a simples combinação de sólidos elementares ou através da utilização das ferramentas de edição (Secção 3.6), nomeadamente a de corte, que permite
efectuar não só saliências, cavidades e cortes, mas também furos, alterando deste
modo a topologia do objecto em concepção.
3.2 Reconhecimento caligráfico
A abordagem caligráfica que é defendida nesta dissertação apresenta características
muito próprias no que se refere à arquitectura em que se fundamenta, às técnicas de
correcção de erros e de resolução de ambiguidades a que recorre, aos dispositivos e
mecanismos de interacção adoptados, e às soluções que foram encontradas no sentido
de permitir a adaptação do sistema de modelação ao estilo próprio de trabalho de cada
designer – e não o contrário – de modo a não condicionar o comportamento deste
4
Na Secção 6.1.1 do Capítulo 6 é apresentado, no âmbito do trabalho a realizar futuramente, o conceito
de um paradigma híbrido de interacção, no qual se procura conjugar os méritos de cada uma destas
abordagens.
3-6
Interacção caligráfica ambígua em sistemas computacionais de modelação
último. Todos estes aspectos contribuem para minimizar a carga cognitiva imposta ao
utilizador sem pôr em causa a liberdade de desenho do mesmo e contribuem, por conseguinte, para melhorar a usabilidade da interface.
3.2.1 Arquitectura
O sistema de reconhecimento caligráfico do protótipo GIDeS obedece, tal como foi
referido na Secção 1.1.3 do Capítulo 1, a uma disposição em cascata dos diversos subsistemas que o constituem. Quer isto dizer que o traço esboçado pelo utilizador5 é
processado de uma forma sequencial pelos subsistemas de reconhecimento de comandos, primitivas 2D, primitivas 3D e operações booleanas (Figura 3-2).
Traço
Reconhecimento de
comandos
Reconhecimento de
primitivas 2D
Reconhecimento de
primitivas 3D
Reconhecimento de
operações booleanas
Figura 3-2 – Arquitectura em cascata do sistema de reconhecimento do protótipo GIDeS
5
E também os efeitos que vão decorrendo das sucessivas interpretações desse traço.
Discussão
3-7
Dada a diversidade das funções que desempenham, estes subsistemas apresentam
características diferentes e fundamentam-se em algoritmos de identificação também
diferentes6.
O subsistema de reconhecimento de comandos assenta em dois módulos, o primeiro
dos quais consiste numa versão aperfeiçoada [Pereira00b] do algoritmo de Rubine
[Rubine91a]. Esta está descrita em pormenor na Secção 4.2.3 do Capítulo 4. Permite o
reconhecimento de gestos compostos por mais do que um traço, sendo a ordem
segundo a qual o utilizador desenha os diversos traços irrelevante; torna o reconhecimento insensível ao sentido dos traços desenhados pelo utilizador; condiciona o reconhecimento a outros aspectos que não tenham necessariamente a ver com a geometria
do gesto; e está apta a lidar com ambiguidades.
O reconhecimento de gestos de comando compostos por múltiplos traços baseia-se
quer nas relações temporais, quer nas relações espaciais existentes entre eles (ver a
Secção 4.2.3 e a Figura 4-9 no Capítulo 4). Esta conjugação de factores implica, por
um lado, que os diversos traços tenham de ser esboçados de uma forma consecutiva, o
que é aceitável e desejável em gestos de comando. Por outro lado, não obriga ao respeito por uma ordem predeterminada de desenho dos mesmos, com as consequentes
desvantagens que tal facto implicaria.
A sensibilidade às transformações geométricas está patente nesta versão melhorada do
algoritmo de Rubine, pelo que o subsistema de reconhecimento de comandos contempla um segundo módulo, no qual cada gesto possui o seu próprio algoritmo de classi-
6
Na Secção 4.2.1 e na Figura 4-2 do Capítulo 4 é feita uma descrição pormenorizada da forma como
todos estes subsistemas estão interligados.
3-8
Interacção caligráfica ambígua em sistemas computacionais de modelação
ficação. Isto permite, em cada caso, tornar o processo de reconhecimento sensível ou
não às transformações geométricas, bem como classificar gestos que, pelo facto de
apresentarem características geométricas variáveis, não são susceptíveis de serem
identificados pelo primeiro módulo.
Existe ainda um gesto em particular, partilhado pelos comandos de apagar e de aplicar
texturas, cujo reconhecimento, numa versão posterior do sistema GIDeS, deixou de
estar a cargo do segundo módulo, tendo o gesto sido retirado de uma biblioteca de
componentes para interfaces caligráficas designada por CALI [Fonseca00a] (Secção
2.14 do Capítulo 2)7. Nesta, o reconhecimento assenta em algoritmos que recorrem à
lógica difusa para lidar com as incertezas e as imprecisões características do desenho
à mão livre [Bezdek92, Fonseca00b].
Os subsistemas de reconhecimento de primitivas 2D e 3D também se fundamentam
em algoritmos específicos – um para cada primitiva – de identificação de características. Para além da análise feita à geometria do gesto, são tomados em consideração
outros aspectos distintivos, tais como a sua topologia8 e a suavidade dos traços que o
constituem9. Em ambos os subsistemas, a ordem pela qual os diversos traços são desenhados e o sentido de desenho de cada traço são irrelevantes, o que se traduz numa
redução das restrições impostas à acção do utilizador e, por conseguinte, num maior
respeito pela liberdade de desenho do mesmo. Neste aspecto em particular, a aborda-
7
Não obstante o protótipo GIDeS, ao contrário da biblioteca CALI, suportar gestos de comando compostos por múltiplos traços, é fácil proceder à incorporação no primeiro dos componentes da segunda.
8
9
No caso do subsistema de reconhecimento de primitivas 3D.
No caso do subsistema de reconhecimento de primitivas 2D. O módulo de identificação da suavidade
do traço possui, ainda, a propriedade de aprender com os seus próprios erros, o que conduz a uma
melhor adaptação da interface à maneira própria de desenhar de cada utilizador (Secção 3.2.2).
Discussão
3-9
gem usada no sistema GIDeS é semelhante à de Barata (o sistema Smart Paper; ver a
Secção 2.6 do Capítulo 2), no sentido em que apenas as relações de adjacência10 são
tidas em consideração. Ou seja, sempre que o designer efectuar o gesto que instancia
uma determinada primitiva, não só os traços que constituem o gesto não têm de obedecer a nenhuma ordem em particular, como nem sequer têm de ser esboçados de
forma consecutiva. Isto traduz-se numa maneira de desenhar natural e livre de restrições, bastante próxima da que decorre da utilização da folha de papel e do lápis.
As relações de adjacência derivam, no caso concreto das primitivas 3D, do facto de os
traços constituintes de cada um dos gestos que lhes correspondem estarem ligados
entre si (ver a Tabela 3-1 na Secção 3.1 deste capítulo). Aliás o paradigma do desenho
incremental, traduzido, neste caso, na acção dos mecanismos de gravidade, colabora
com o utilizador no sentido de facilitar a concretização desse objectivo. Quer isto
dizer que, do ponto de vista do sistema, um gesto é representado por um subgrafo
conexo do grafo correspondente à totalidade do desenho. O subsistema de reconhecimento de primitivas 3D identifica, então, os componentes do gesto como sendo o
último traço esboçado pelo utilizador e todos aqueles que a ele estiverem directa ou
indirectamente ligados, dispensando deste modo o recurso a um temporizador e contornando eficazmente os inconvenientes, já abordados na Secção 2.14 do Capítulo 2,
que sempre surgem associados à utilização deste tipo de dispositivos.
A arquitectura em cascata do sistema de reconhecimento permite, ao contrário do que
sucede noutras abordagens (o sistema SILK de Landay e Myers, por exemplo; ver a
Secção 2.3 do Capítulo 2), que todos os gestos, sejam eles gestos de comando ou ges-
10
Isto é, as relações de natureza exclusivamente espacial.
3-10
Interacção caligráfica ambígua em sistemas computacionais de modelação
tos correspondentes a primitivas 2D e 3D, sejam efectuados da mesma maneira, a
saber, mediante a acção do utilizador sobre o botão localizado na extremidade do estilete. O botão lateral fica, deste modo, disponível para as operações de manipulação
directa da câmara. Esta forma de interacção parece ser mais natural do que a adoptada
por Landay e Myers, pois a pressão exercida sobre o botão existente na ponta do estilete decorre automática e implicitamente do próprio acto de desenhar, ao contrário do
que sucede com o botão lateral, que implica uma acção explícita e consciente da parte
do utilizador.
No que se refere ao mecanismo de resolução de ambiguidades, também a abordagem
do sistema GIDeS difere da de Landay e Myers. Os próprios gestos de comando são
susceptíveis de ser interpretados de forma ambígua, salvaguardando assim eventuais
erros decorrentes do processo de reconhecimento, e as listas de expectativas – conjuntos de ícones, no caso dos comandos, e de modelos em escala reduzida, no caso das
primitivas 2D e 3D – dão ao utilizador uma visão integrada de todas as opções disponíveis em função do contexto existente [Pereira00a]. No caso particular das listas de
expectativas de primitivas 2D e 3D existe uma maneira redundante de seleccionar a
opção pretendida, baseada na exibição de modelos em escala natural. À semelhança
do que se verifica no sistema SILK, permite ao utilizador percorrer sequencialmente
as diversas opções. A interacção, no entanto, é diferente, recorrendo a um simples
toque do estilete sobre a área abrangida pela primitiva, ao invés de exigir a invocação
de um comando gestual.
3.2.2 Técnicas de mediação
Quase todas as variantes das técnicas de mediação descritas por Mankoff (Secção 2.10
do Capítulo 2) estão presentes na abordagem defendida nesta tese. Para além da
Discussão
3-11
mediação por escolha, representada pelas listas de expectativas (Secção 3.3), e da
mediação por repetição, traduzida no mecanismo de correcção de esboços (Secção
3.4), também as técnicas de mediação automática foram tidas em consideração. Mais
concretamente, a variante traduzida na aplicação de um conjunto de regras de desambiguação foi incorporada no sistema GIDeS num contexto muito semelhante ao
exemplificado por Mankoff11. Já as técnicas de aplicação de limiares de decisão e de
análise estatística da informação também foram usadas, mas em circunstâncias diferentes das referidas pela autora. Por um lado, a mediação automática tem a vantagem
de não ser intrusiva, pois não requer a intervenção do utilizador; por outro, tem o
inconveniente de não ser infalível, dando ocasionalmente origem a resultados incorrectos que se vão somar aos erros de interpretação que esta técnica se propõe corrigir.
Este problema foi contornado usando os limiares de decisão e a análise estatística, não
como técnicas automáticas de desambiguação, mas como simples critérios de ordenação das diversas interpretações nas listas de expectativas, isto é, num contexto de
mediação por escolha. Este aspecto é mais importante do que pode parecer à primeira
vista, pois a sugestão que aparece em primeiro lugar nas listas de expectativas é a
interpretação escolhida nas situações em que o utilizador não manifesta explicitamente a sua preferência (acção por omissão).
As vantagens desta abordagem são evidentes: a ocorrência de erros de interpretação
nunca poderá vir a ser totalmente evitada, mas ao dispor as coisas de forma a que esta
se manifeste tão-somente ao nível da ordenação das diversas alternativas, e não ao
11
Ou seja, na interpretação de pequenos traços como simples clicks.
3-12
Interacção caligráfica ambígua em sistemas computacionais de modelação
nível da aceitação ou rejeição das mesmas, minimizam-se os efeitos negativos da referida ocorrência sobre a eficiência da interacção e a usabilidade da interface.
Mais concretamente, a técnica dos limiares de decisão foi usada no processo de classificação da suavidade dos traços esboçados pelo utilizador. Calcula-se uma estimativa
da probabilidade de o traço ser suave. Se o valor calculado for igual ou superior ao de
um determinado limiar, o sistema sugere em primeiro lugar uma primitiva suave (normalmente uma spline) e em segundo uma angulosa (polyline); se, pelo contrário, o
valor da estimativa for inferior ao do limiar de decisão, a ordem é a inversa.
Nas situações em que o utilizador não escolhe a primeira opção da lista – acção por
omissão – o sistema apercebe-se de que foi cometido um erro de interpretação e procede a um ajustamento no valor do limiar de decisão, de forma a reduzir a possibilidade de o referido erro voltar a acontecer. A Figura 3-3 ilustra os princípios básicos
deste processo de reconhecimento adaptável. Para uma descrição mais pormenorizada
do mesmo e da equação matemática que determina o valor do limiar de decisão, consultar a Secção 4.2.5 do Capítulo 4.
1.00
1.00
1.00
Legenda
0.75
Linhas suaves
0.50
Linhas angulosas
0.25
0.00
0.00
a)
Limiar de decisão
0.00
b)
c)
Figura 3-3 – Reconhecimento adaptável
Inicialmente o limiar de decisão assume um valor neutro (0.5), de modo a não privilegiar o reconhecimento de nenhuma das categorias de traços (Figura 3-3a: a extensão
Discussão
3-13
das regiões coloridas a rosa – linhas suaves – e a azul – linhas angulosas – é idêntica).
Nas situações em que o utilizador desenha um traço suave e o sistema sugere uma
linha angulosa, o valor do limiar de decisão é reduzido, aumentando deste modo a
predisposição do sistema para o reconhecimento do primeiro tipo de traços e reduzindo na mesma proporção a propensão para o reconhecimento do segundo (Figura 33b). Se, pelo contrário, o utilizador pretendia uma linha angulosa e o sistema sugere
um traço suave, o limiar de decisão assume valores mais elevados, privilegiando daí
em diante o reconhecimento do primeiro tipo e dificultando a identificação do segundo (Figura 3-3c).
A técnica da análise estatística é usada na ordenação das opções das listas de expectativas de primitivas 3D. O sistema regista a frequência com que cada primitiva é escolhida pelo utilizador e ordena as sugestões por ordem decrescente dessa grandeza.
Este procedimento parece ser controverso, pois se por um lado a ordenação das
opções se traduz numa tentativa de adaptação do sistema ao designer, por outro representa uma violação do princípio da inércia na visualização [Hix93]. As listas de
expectativas do sistema GIDeS estão preparadas quer para uma ordenação fixa – isto
é, predefinida – das opções correspondentes às primitivas 3D, quer para uma ordenação variável em função das escolhas anteriores do utilizador. Ambas as configurações
foram objecto de análise aquando da sessão de avaliação da usabilidade do protótipo,
tendo a segunda recolhido a preferência da generalidade dos participantes (ver as Secções 5.3.3 e 5.3.5 do Capítulo 5).
3.2.3 Dispositivos e mecanismos de interacção
A abordagem apresentada nesta dissertação difere das adoptadas por outros autores,
designadamente por Zeleznik et al. (o sistema SKETCH; ver a Secção 2.5.1 do Capí-
3-14
Interacção caligráfica ambígua em sistemas computacionais de modelação
tulo 2), na medida em que defende a utilização, nesta classe de sistemas, de um estilete e de um ecrã táctil em substituição do rato e do ecrã convencionais. Com efeito, os
testes de usabilidade efectuados com o protótipo GIDeS revelaram que a interacção
com base em dispositivos tradicionais se traduz num aumento médio do tempo de
execução das tarefas de modelação da ordem dos 89.4% (ver a Secção 5.3.4.4 do
Capítulo 5). Também as opiniões dos utilizadores, traduzidas nas respostas a dois
questionários, revelaram uma preferência acentuada pela utilização do conjunto estilete/ecrã táctil (Secções 5.3.3 e 5.3.5, Capítulo 5).
Outro aspecto segundo o qual as abordagens são diferentes prende-se com os elementos de desenho. No sistema GIDeS existe apenas um, o traço. É esboçado directamente sobre a superfície do ecrã, com base na acção implícita do utilizador sobre o botão
localizado na extremidade do estilete. Uma vez concluído, o traço é submetido a um
processo de reconhecimento que o identifica como sendo um segmento de recta, uma
linha poligonal, uma circunferência, uma elipse ou uma linha curva genérica. O eventual alinhamento dos segmentos de recta com as projecções dos eixos coordenados
está a cargo de um mecanismo de gravidade angular. As ambiguidades, sempre que
existirem, são resolvidas mediante a exibição de listas de expectativas.
No sistema GIDeS, a manipulação da câmara é feita com o recurso ao botão lateral do
estilete12. Quando isto acontece, surge uma lista de expectativas que permite ao utilizador seleccionar uma das seguintes operações: pan, zoom, viewpoint e restabelecimento da isometria (Figura 3-4a). Numa versão posterior do protótipo foram acres-
12
A utilização deste botão é, no entanto, facultativa, pois existem comandos de carácter gestual que
desempenham as mesmas funções.
Discussão
3-15
centadas opções que permitem a comutação eficiente de vistas (Figura 3-4b; ver a
Secção 5.3.6.2 do Capítulo 5).
a) primeira versão
b) segunda versão
Figura 3-4 – Lista de expectativas de operações de câmara
No que se refere aos agentes de interacção do sistema SKETCH e aos comandos que
lhes estão associados – remoção, cópia e transformação geométrica de objectos – não
existe, no protótipo GIDeS, a necessidade de recorrer a um botão adicional para os
desencadear. A remoção é feita com base no próprio desenho, riscando os sólidos que
se pretende apagar. O gesto também é aplicável na remoção de elementos não desejados de desenho, o que se traduz numa redução no número de gestos de comando e,
por conseguinte, na diminuição da carga cognitiva imposta ao utilizador. A cópia, juntamente com outras operações, baseia-se na utilização de um vulgar clipboard, acessível através da manipulação directa das opções – cut, copy e paste – de um menu de
edição ou, em alternativa, de uma barra de ferramentas. A realização de transformações geométricas recorre a modos de interacção que são próprios dessas mesmas
transformações.
Em conclusão, na abordagem traduzida no sistema GIDeS procurou-se explorar a
ambiguidade no sentido de simplificar a acção do utilizador. São usados apenas dois
botões, sendo um deles facultativo, e não há lugar à utilização de quaisquer teclas
modificadoras. A acção é quase exclusivamente do tipo carregar e arrastar (isto é,
desenhar), com a excepção da selecção de objectos, que se baseia na acção de carregar
3-16
Interacção caligráfica ambígua em sistemas computacionais de modelação
e largar13. Também a existência de pausas foi restringida a uma única situação, de
ocorrência esporádica14.
Também a abordagem que aqui se defende difere radicalmente da adoptada por
Encarnação et al. (o sistema Translucent Sketchpad; ver a Secção 2.9 do Capítulo 2)
no que se refere aos dispositivos e mecanismos de interacção utilizados. A segunda
requer equipamento sofisticado, volumoso e dispendioso, ao contrário da primeira
que, pelo facto de se basear na metáfora do papel e do lápis, é minimalista em termos
do hardware utilizado. Este aspecto é particularmente importante quando considerado
sob uma perspectiva de trabalho em equipa, isto é, num contexto multi-utilizador. No
caso do sistema GIDeS, cada um dos elementos da equipa estará munido de um computador e ecrã táctil, os quais poderão ser parte integrante de um único dispositivo15,
constituindo assim uma solução portátil e pouco dispendiosa. A ligação entre os
diversos computadores poderá ser obtida mediante o recurso a uma rede local sem
fios, de modo a não comprometer o referido factor de portabilidade. No caso do bloco
de esboços translúcido, e não obstante os autores terem recorrido a um ambiente de
realidade aumentada que permite o trabalho em equipa (Studierstube, [Schmalstieg96]), a replicação de todo o hardware de imersão pelos diferentes utilizadores
constitui uma alternativa muito dispendiosa. Poder-se-ia pensar numa solução de
13
No entanto, a selecção de objectos também pode ser feita através de uma acção do tipo carregar e
arrastar, esboçando um gesto – o laço – que foi concebido especificamente para esse fim. O gesto em
causa também se aplica na selecção de elementos de desenho, o que se traduz, mais uma vez, numa
redução no número de gestos de comando e na consequente diminuição da carga cognitiva imposta ao
utilizador.
14
Mais concretamente, na alteração do modo de interacção correspondente à transformação geométrica
que está em vigor num determinado momento. Na Secção 6.1.2 do Capítulo 6 é apresentada uma alternativa a este procedimento, que tem como base o recurso a outras modalidades de interacção natural,
designadamente a fala.
15
Um Tablet PC.
Discussão
3-17
compromisso, baseada na utilização de uma só mesa virtual16, em redor da qual estariam dispostos todos os elementos da equipa. No entanto, esta solução não parece ser
viável, na medida em que a imagem estereoscópica produzida pelo sistema está calibrada em função da localização no espaço de um dos utilizadores, a saber, aquele
cujos óculos estão munidos de um dispositivo de rastreio. Os restantes utilizadores
ocupam posições distintas do primeiro e, por conseguinte, terão uma percepção visual
incorrecta do ambiente virtual em que estão imersos. Existem algumas maneiras de
contornar este problema, de que são exemplos o recurso a uma mesa virtual complementada com o Virtual Showcase17, a retroprojecção estereoscópica passiva18 e os
óculos de realidade virtual ou aumentada19, mas todas elas apresentam inconvenientes. Refira-se, todavia, que estas dificuldades decorrem tão-somente das limitações
tecnológicas que se verificam hoje em dia, pelo que o problema tenderá a resolver-se
por si próprio num futuro próximo.
Ao contrário do que se verifica no Translucent Sketchpad, a abordagem do sistema
GIDeS não contempla, por enquanto, outras modalidades de interacção que não o
reconhecimento caligráfico20. A distinção entre traços específicos de desenho, como
sejam os segmentos de recta, as elipses e circunferências, e os traços genéricos esbo-
16
A mesa virtual constitui, sem dúvida, a peça de equipamento mais dispendiosa do sistema de Encarnação et al.
17
Trata-se de um sistema multi-utilizador de realidade aumentada que baseia o seu funcionamento na
projecção de imagens por uma pirâmide ou cone invertidos [Bimber01a, Bimber01b].
18
Os sistemas passivos, ao contrário dos activos, não requerem óculos munidos de sensores de rastreio,
pelo que a localização espacial dos utilizadores é irrelevante.
19
20
Em substituição da mesa virtual.
No entanto, o reconhecimento da fala e da informação manuscrita está previsto nesta abordagem e
encontra-se já em fase de implementação. Ver as Secções 6.1.2 e 6.1.9 do Capítulo 6.
3-18
Interacção caligráfica ambígua em sistemas computacionais de modelação
çados à mão livre, é estabelecida pelo próprio módulo de reconhecimento de primitivas 2D, não requerendo, portanto, a intervenção do utilizador21. Os inconvenientes
referidos por Bimber e Encarnação (Secção 2.9 do Capítulo 2) foram contornados de
duas formas: por um lado, tornando o processo de reconhecimento susceptível de
aprender com os seus próprios erros e de se adaptar à maneira própria de desenhar de
cada utilizador22; por outro, recorrendo às listas de expectativas para resolver eventuais ambiguidades ou erros de interpretação.
Figura 3-5 – O Projecto SmartSketches
As abordagens adoptadas nos sistemas SketchAR e GIDeS estão a ser objecto de uma
fusão realizada no âmbito do Projecto SmartSketches, um projecto financiado pela
União Europeia que visa a introdução de ferramentas computacionais nas fases ini-
21
Numa versão preliminar do sistema, cabia ao utilizador o encargo de estabelecer esta distinção,
mediante a acção sobre um botão localizado na barra de ferramentas da janela principal. No entanto,
cedo se verificou a inadequação desta solução.
22
Ou seja, o limiar de decisão que estabelece a diferença entre as duas categorias de traços não é estático, variando num e noutro sentido consoante o acerto ou não das decisões anteriores. O feedback necessário a todo este processo é obtido da acção do utilizador sobre as listas de expectativas (ver a Secção
4.2.5 do Capítulo 4).
Discussão
3-19
ciais do processo de design23. A concretização deste objectivo requer o desenvolvimento de novas interfaces que combinem, entre outras modalidades, o reconhecimento de esboços, gestos e fala, em diversos contextos de utilização tais como os PDAs24,
os ecrãs de grandes dimensões e os ambientes imersivos (Figura 3-5).
3.2.4 Primitivas 3D
Outro aspecto segundo o qual a abordagem adoptada no sistema GIDeS difere da de
Zeleznik prende-se com a definição do repertório dos gestos que instanciam primitivas 3D (consultar a Tabela 3-1 na Secção 3.1 deste capítulo e confrontar com a Tabela
2-3 na Secção 2.5.2 do Capítulo 2). Procurou-se obter um arranjo mais natural, flexível e consistente, em que o traço é o único elemento de desenho utilizado. A incorporação, no processo de reconhecimento, de um mecanismo de resolução de ambiguidades dispensou a necessidade de escolher criteriosamente uma configuração adequada
para os diferentes gestos, de modo a que cada um correspondesse de forma inequívoca
a uma e uma só primitiva. Ou seja, a definição do repertório gestual regeu-se, no sistema GIDeS, por preceitos de natureza exclusivamente comportamental, e os testes de
usabilidade posteriormente efectuados vieram confirmar o acerto desta linha de orientação25.
Os prismas, pirâmides e troncos de pirâmide incluídos no repertório de primitivas do
sistema GIDeS não têm de ser, necessariamente, quadrangulares. O número de seg-
23
SmartSketches: A Multimodal Approach to Improve Usability in the Early Stages of Product Design.
Information Society Technologies (IST) Programme, Contract no. IST-2000-28169.
24
25
Personal Design Assistants.
Ver, nas Secções 5.3.3 e 5.3.5 do Capítulo 5, as opiniões dos utilizadores traduzidas nas respostas às
questões 14 e 5, respectivamente do primeiro e segundo questionários.
3-20
Interacção caligráfica ambígua em sistemas computacionais de modelação
mentos de recta da linha poligonal fechada que representa o topo ou a base do futuro
sólido determina o número de faces laterais do mesmo. Além disso, a similitude de
formas do prisma, pirâmide e tronco de pirâmide, por um lado, e do cilindro, cone e
tronco de cone, por outro, foi conservada nos gestos que lhes estão associados, uma
vez que estes diferem apenas na natureza da linha fechada – uma linha poligonal, no
primeiro caso, e uma elipse, no segundo – que os compõem. Este pormenor é importante, na medida em que contribui para que a carga cognitiva imposta ao utilizador
seja menor.
Figura 3-6 – Exemplo de dois ductos de secção rectangular instanciados pelo mesmo gesto
Para terminar, a construção de ductos no sistema GIDeS não estabelece qualquer distinção no que diz respeito ao tipo de secção. No gesto que instancia esta primitiva, a
secção é descrita por uma linha fechada, cujo contorno tanto pode ser poligonal – o
que inclui o caso rectangular – como curvilíneo26. Também não existe a necessidade
de especificar o plano no qual a linha aberta se insere, pois a lista de expectativas
26
Idêntico procedimento foi adoptado no caso da extrusão. Recorde-se que a construção desta primitiva
no sistema SKETCH é feita com o recurso a um segmento de recta e a uma sequência de pontos, o que
dificulta a extrusão de superfícies de contornos suaves.
Discussão
3-21
entretanto criada exibe todas as opções possíveis em função do contexto27, limitandose o utilizador a escolher a que melhor o assistir nos seus propósitos (Figura 3-6).
Também da comparação da abordagem adoptada por Encarnação et al. (Secção 2.9 do
Capítulo 2) com a que orientou a concepção do sistema GIDeS resultam alguns aspectos que importa salientar.
Embora o recurso aos ambientes imersivos possa resolver os problemas suscitados
pela interpretação de desenhos representativos de projecções de cenas tridimensionais,
a indefinição no reconhecimento e classificação dos gestos do utilizador subsiste. A
não existência de mecanismos de desambiguação influenciou de forma decisiva a
definição do repertório destes gestos, obrigando a algumas situações de excepção que
prejudicam a consistência da interface e contribuem para um aumento da carga cognitiva imposta ao utilizador.
No sistema GIDeS, pelo contrário, o processo de reconhecimento é complementado
por um mecanismo de geração de listas de expectativas, o qual administra quaisquer
ambiguidades que possam vir a ocorrer aquando da identificação dos diferentes gestos. Este aspecto elimina a necessidade de tratar algumas das primitivas de uma forma
diferenciada, contribuindo assim para a obtenção de um repertório mais consistente,
natural e de fácil aprendizagem.
27
Poder-se-á pensar que existem sempre duas interpretações possíveis para o gesto que instancia o ducto. Por exemplo, se o polígono que descreve a secção estiver inserido no plano XY, a linha que representa o perfil poderá assentar quer no plano XZ, quer no plano YZ. No entanto, há situações em que
isto não é verdade, pois a curvatura da linha de perfil pode, num dado plano, exibir valores significativamente elevados, o que implicaria que algumas das faces do ducto ficassem viradas do avesso. O
módulo de reconhecimento de primitivas 3D do sistema GIDeS é suficientemente elaborado para detectar e rejeitar estas situações.
3-22
Interacção caligráfica ambígua em sistemas computacionais de modelação
Além disso, os gestos no sistema GIDeS não constituem representações icónicas, rígidas e pré-estabelecidas das primitivas 3D que instanciam. Pelo contrário, representam
com precisão a geometria dos objectos, à medida que estes vão sendo construídos, e o
seu reconhecimento é dotado de uma grande flexibilidade, pelas razões que a seguir se
discriminam.
Figura 3-7 – Maneiras diversas de invocar a construção do mesmo bloco
Figura 3-8 – Maneiras diversas de invocar a construção do mesmo tronco de cone
Em primeiro lugar, a porção da geometria do objecto que é necessário desenhar para
que a identificação tenha lugar não está rigidamente estabelecida. Nas Figuras 3-7 e 38 estão representadas (a negro) diversas maneiras de instanciar um bloco e um tronco
de cone, respectivamente (os traços cinzentos destinam-se apenas a facilitar a compreensão das figuras e não são parte integrante dos gestos). Repare-se que, no caso do
bloco, é irrelevante a escolha das arestas a desenhar, desde que, no seu conjunto, formem uma junção trivalente. As arestas invisíveis também constituem elementos válidos de identificação do gesto. Já no caso do tronco de cone, a elipse tanto pode repre-
Discussão
3-23
sentar a base como o topo da primitiva e o utilizador é livre28 de escolher o segmento
de recta que define a geratriz da superfície cónica.
30º
45º
60º
15º
30º
45º
Figura 3-9 – Variação do gesto do prisma quadrangular em função dos ângulos de projecção
Em segundo lugar, para que o gesto constitua uma representação geométrica exacta da
projecção do objecto, é necessário ter em conta a orientação da câmara, a qual é susceptível de ser alterada pelo utilizador. Por outras palavras, a configuração dos gestos
varia em função dos ângulos – horizontal e vertical – de projecção (Figura 3-9) e o
processo de reconhecimento deve ser suficientemente maleável para funcionar independentemente destas variações.
Em terceiro lugar, e tal como já foi referido na Secção 3.2.1, o processo de reconhecimento de primitivas no sistema GIDeS baseia-se em algoritmos que não impõem
28
Na verdade existe uma limitação a esta liberdade de escolha. O segmento de recta não deverá cruzar
a elipse, sob pena de alterar a topologia do gesto e impossibilitar o reconhecimento do mesmo. Na Secção 6.1.6 do Capítulo 6 é apresentada uma abordagem à resolução deste problema.
3-24
Interacção caligráfica ambígua em sistemas computacionais de modelação
quaisquer condições ao utilizador no que se refere ao número de traços de que cada
gesto deverá ser composto, nem à ordem pela qual os referidos traços deverão ser
desenhados, nem sequer ao sentido segundo o qual cada traço deverá ser esboçado. A
utilização deste tipo de algoritmos em sistemas computacionais de apoio ao design
parece ser a mais adequada, na medida em que não limita a liberdade de desenho do
utilizador. Branco demonstra de uma forma quantitativa a importância deste problema
[Branco02]. Considere-se um desenho composto por n traços. Tendo em conta que,
com papel e lápis, a sequência pela qual os diversos traços são esboçados é arbitrária,
existem n! maneiras distintas de efectuar o mesmo desenho. Por outro lado, se se considerar que cada traço pode ser esboçado quer num sentido, quer no sentido oposto,
existem 2n formas diferentes de executar o desenho. Da conjugação destes dois factores – sequência dos traços e sentido de cada traço – resulta que é possível esboçar um
desenho composto por n traços de 2n . n! maneiras distintas, uma grandeza que cresce
muito rapidamente com o valor de n. E este cálculo não tem em conta o facto de o
número de traços de que um desenho é composto poder variar consoante a vontade do
utilizador29.
3.2.5 Operações booleanas
O sistema GIDeS incorpora um mecanismo de reconhecimento automático da união e
da subtracção booleanas. No entanto, a abordagem adoptada é diferente da de Zeleznik (Secção 2.5.3 do Capítulo 2) pois não se baseia no sentido de desenho dos traços,
o que confere ao utilizador a liberdade de esboçar da forma que melhor lhe aprouver.
29
Por exemplo, o utilizador pode optar por esboçar um polígono de quatro lados de uma só vez, ou
seja, com um único traço. Mas também pode optar por desenhar o mesmo polígono de muitas outras
maneiras, com dois, três ou quatro traços.
Discussão
3-25
Extremidade
livre
Extremidade
fixa
a) orientação do segmento
b) subtracção
c) união
Figura 3-10 – Operações booleanas no sistema GIDeS
Tomando como exemplo o gesto que instancia o bloco, existe para o traço um sentido
invariável, predeterminado, que não depende do sentido segundo o qual o mesmo foi
desenhado. Trata-se do sentido que vai da extremidade fixa para a extremidade livre
do segmento de recta (Figura 3-10a). O mesmo acontece com os gestos das restantes
primitivas, com uma excepção: na esfera, por força da sua simetria, não existem
direcções privilegiadas.
Quando o sentido predeterminado do segmento de recta se opõe ao da normal à superfície, o produto escalar destes dois vectores é negativo e o sistema sugere a realização
de uma subtracção (Figura 3-10b). Pelo contrário, quando os sentidos coincidem e o
produto escalar é positivo, é sugerida a execução de uma união booleana (Figura 310c). Por vezes o valor do produto escalar ou é nulo ou, tratando-se a primitiva de
uma esfera, não é susceptível de ser calculado. Nestas situações, o sistema apresenta,
sob a forma de uma lista de expectativas, os resultados decorrentes da realização de
ambas as operações, cabendo ao utilizador a função de escolher a que melhor servir os
seus intentos.
3.3 Listas de expectativas e interfaces RISC
As listas de expectativas constituem o mecanismo segundo o qual o sistema GIDeS,
em caso de indecisão, interroga o utilizador sobre a acção que deverá ser desencadea-
3-26
Interacção caligráfica ambígua em sistemas computacionais de modelação
da. Existem listas de expectativas de comandos, primitivas de desenho, primitivas 3D
e operações booleanas (ver as Figuras 3-11, 3-13, 3-16 e 3-17, mais adiante neste
capítulo). As de comandos assumem a forma de uma barra de ícones, enquanto as restantes são sequências, no espaço e/ou no tempo30, de modelos em escala reduzida dos
objectos 2D ou 3D existentes ou passíveis de vir a existir na cena.
As listas de expectativas podem ser consideradas, na perspectiva de Mankoff, como
uma técnica de mediação por escolha com características muito próprias no que se
refere à disposição, instanciação, informação contextual adicional, interacção e feedback (Secção 2.10 do Capítulo 2). Estas características são susceptíveis de ser configuradas e as diversas configurações possíveis foram objecto de uma avaliação de usabilidade por parte de um conjunto de utilizadores de sistemas computacionais de
apoio ao design. Na Secção 5.3.3 do Capítulo 5 é feita uma descrição pormenorizada
destas configurações e das pontuações que lhes foram atribuídas.
As vantagens inerentes à utilização de listas de expectativas são múltiplas. Em primeiro lugar, permitem limitar a extensão do repertório de gestos necessários ao desencadeamento das funcionalidades suportadas pelo sistema e reduzir, por conseguinte, a
carga cognitiva imposta ao utilizador.
Em segundo lugar, constituem uma forma ergonómica e tecnicamente interessante de
gerir de forma integrada e consistente as ambiguidades intrínsecas aos processos naturais de transmissão de informação – de que o desenho é um exemplo – os erros cometidos pelo utilizador e eventuais erros de classificação cometidos pelo sistema. Deste
30
Consoante a configuração que tiver sido adoptada.
Discussão
3-27
modo a ambiguidade, que noutros sistemas de reconhecimento gestual constitui uma
desvantagem, é transformada pelo mecanismo de listas de expectativas num benefício
para o utilizador, na medida em que evita o recurso a heurísticas de reconhecimento e
classificação de gestos as quais, não importa quão elaboradas possam ser, acabam
inevitavelmente por falhar.
Em terceiro lugar, ao suscitarem reacções da parte do utilizador, constituem um veículo privilegiado de obtenção de informação – feedback – a qual é aproveitada na adaptação do sistema ao estilo próprio de trabalho desse utilizador e às maiores ou menores exigências de precisão que caracterizam, em cada circunstância, a actividade de
desenho.
Em quarto lugar, são processos não intrusivos, respeitadores da liberdade de desenho
do utilizador, na medida em que apenas fazem sugestões, e não imposições.
Em quinto lugar, resolvem o compromisso que decorre do facto de os processos de
classificação deverem, por um lado, ser bastante exigentes (o que se traduz na ocorrência de muitos falsos negativos) e, por outro lado, tolerantes (falsos positivos), permitindo deste modo obter o melhor de dois mundos e não o menos mau de ambos.
Em sexto e último lugar, restringem eventuais efeitos negativos introduzidos por
outros módulos do sistema, como sejam o pré-processamento dos traços esboçados
pelo utilizador e a acção gravitacional sobre o desenho, considerando dois níveis de
agressividade diferentes e confrontando o designer com as diversas opções resultantes
da consideração desses dois níveis31. Desta forma resolvem o compromisso que sem-
31
Para uma descrição pormenorizada da forma como as listas de expectativas se relacionam com estes
dois mecanismos, consultar as Secções 4.2.2.4.2 e 4.2.4 do Capítulo 4.
3-28
Interacção caligráfica ambígua em sistemas computacionais de modelação
pre tem de existir na escolha correcta dos parâmetros de funcionamento destes módulos. Também permitem que os algoritmos de pré-processamento sejam simples e, por
conseguinte, pouco exigentes em termos dos recursos computacionais exigidos.
O conceito de interface sugestiva de Igarashi et al. (o sistema Chateau; ver a Secção
2.15 do Capítulo 2) é o que mais se aproxima do das listas de expectativas que aqui se
defende, pelo que se impõe estabelecer uma comparação das duas abordagens.
3.3.1 Padrões de reconhecimento
No sistema Chateau existiu a preocupação de estabelecer, na medida do possível,
padrões de reconhecimento mutuamente exclusivos, no sentido de minimizar a ocorrência de ambiguidades e, por conseguinte, limitar o número de sugestões simultâneas
que são apresentadas ao utilizador32. Quer isto dizer que foram usados outros critérios
que não os de natureza exclusivamente comportamental na definição dos padrões de
reconhecimento, o que pode ter consequências negativas ao nível da usabilidade da
interface. Este problema, no entanto, não é tão grave como o que se verifica nos sistemas que não estão capacitados para gerir a ambiguidade33, uma vez que a propriedade da mútua exclusividade, sendo desejável, não constitui um factor imperativo na
abordagem de Igarashi et al.
Já no que se refere ao sistema GIDeS, a definição do repertório de gestos não obedeceu a quaisquer critérios de ordem estrutural, não tendo sido necessária – como no
sistema SKETCH – nem sequer desejável – como no sistema Chateau – uma escolha
32
A proliferação de sugestões parece ser o principal problema da abordagem de Igarashi et al. e tenderse-á a agravar à medida que o número de motores de sugestões for aumentando (os autores referem a
possibilidade de se usarem centenas destes mecanismos).
33
O sistema SKETCH de Zeleznik et al., por exemplo (ver a Secção 2.5 do Capítulo 2).
Discussão
3-29
ponderada da configuração dos diferentes gestos, de modo a que cada um instancie,
obrigatória ou preferencialmente, um e um só comando ou primitiva. Pelo contrário, a
ambiguidade intrínseca aos processos de interpretação do desenho foi reforçada,
explorando-a no sentido de reduzir a extensão do repertório de gestos e, por conseguinte, minimizar a carga cognitiva imposta ao utilizador34. Este princípio da negação
da mútua exclusividade permitiu criar o conceito de interface RISC – Reduced Instruction Set Calligraphic interface [Pereira01a, Pereira01b] – o qual já foi apresentado na Secção 1.1.9 do Capítulo 1. Os parágrafos que se seguem descrevem alguns
exemplos demonstrativos da sua aplicação.
a) apagar
b) aplicar/remover uma textura
c) ambiguidade de comandos
Figura 3-11 – Lista de expectativas de comandos
Na Figura 3-11 está representada uma ambiguidade forçada: dois comandos – o de
apagar e o de aplicar ou remover uma textura a um sólido – partilham o mesmo gesto
de riscar (a azul na figura). A característica que os distingue é de natureza puramente
contextual e reside no facto de o traço de apagar ter de intersectar a fronteira correspondente à projecção do objecto (Figura 3-11a), por oposição ao traço de textura, que
tem de ser inteiramente desenhado sobre a superfície do mesmo (Figura 3-11b). No
entanto, o designer pode optar por apagar ou aplicar uma mesma textura a um conjunto de sólidos previamente seleccionados. Nestas circunstâncias, o sistema GIDeS não
34
A importância deste factor é acrescida pelo facto de as interfaces caligráficas não beneficiarem da
propriedade de self-disclosure que caracteriza as suas congéneres WIMP.
3-30
Interacção caligráfica ambígua em sistemas computacionais de modelação
dispõe de informação contextual suficiente para identificar o comando pretendido,
pelo que é gerada uma lista de expectativas de comandos que resolve a ambiguidade
(Figura 3-11c).
Figura 3-12 – Comandos de ampliação/redução de imagem
A Figura 3-12 ilustra outro exemplo das interfaces RISC em acção. Não obstante o
utilizador ter a possibilidade de invocar facilmente os comandos de manipulação da
câmara com o recurso ao botão lateral do estilete, existem também gestos de comando
definidos para esse efeito. No caso particular do grupo de comandos de ampliação e
redução de imagem – zoomin, zoomout e zoomall – os gestos que lhes estão associados (a azul na figura) são idênticos, servindo a lista de expectativas (à direita na figura) para desambiguar a acção do utilizador.
Figura 3-13 – Lista de expectativas de primitivas de desenho
A Figura 3-13 mostra como uma lista de expectativas pode fazer uso da ambiguidade
intrínseca aos processos de reconhecimento caligráfico e transformá-la numa maisvalia para o utilizador. O módulo de reconhecimento de primitivas de desenho começa
por classificar o traço como sendo suave ou anguloso, após o que a lista de expectativas adequada ao contexto é gerada com as diversas opções ordenadas em função da
classificação que foi feita. No exemplo, o designer esboçou um traço suave (represen-
Discussão
3-31
tado a azul) semelhante a uma elipse, e a primeira sugestão da lista – a opção por
omissão – consiste efectivamente naquela primitiva, mas a verdade é que existe a possibilidade de o utilizador pretender uma linha curva genérica a qual, sendo parecida, é
não obstante diferente de uma elipse. A segunda sugestão da lista, uma spline fechada,
vem de encontro às expectativas do designer35. A terceira opção – uma linha poligonal
fechada – prevê a possibilidade de o sistema ter interpretado incorrectamente a pretensão do utilizador de esboçar uma linha suave, pelo que também é sugerida a correspondente linha angulosa.
Este exemplo ilustra igualmente a forma como o emprego de listas de expectativas
veio resolver um dos problemas mais delicados que afectam a generalidade dos sistemas de reconhecimento gestual. Estes processos de classificação não devem, por um
lado, ser demasiado rigorosos, sob pena de a taxa de ocorrência de falsos negativos
ser elevada. No reverso da medalha, o sistema não deve, de igual modo, ser demasiado tolerante, caso contrário a taxa de incidência de falsos positivos aumentará significativamente. A utilização de listas de expectativas permite que os módulos de reconhecimento sejam ajustados no sentido de serem amplamente tolerantes à imprecisão
dos traços esboçados, sendo que a ocorrência de eventuais falsos positivos não vai
prejudicar o utilizador, uma vez que este pode pura e simplesmente ignorar as sugestões que não lhe convêm e prosseguir com o seu trabalho.
A Figura 3-14 ilustra outro exemplo deste princípio em acção. O desenho composto
pela elipse e pelo segmento de recta (a cheio na figura) sugerem quer um cone, quer
35
Por outras palavras, se os processos de identificação de elipses e de linhas curvas genéricas fossem
mutuamente exclusivos, uma eventual má interpretação da acção do utilizador obrigaria este último a
rejeitar a sugestão e a tentar de novo. Pior ainda, nada garantiria o sucesso desta nova tentativa.
3-32
Interacção caligráfica ambígua em sistemas computacionais de modelação
um tronco de cone. A distinção entre estas duas primitivas é feita tendo em conta a
distância do ponto A ao ponto O. Num sistema em que não haja lugar ao tratamento da
ambiguidade, ou em cuja concepção tenham sido adoptados critérios de exclusividade
mútua na definição dos padrões de reconhecimento, a escolha incidirá sobre a primeira ou a segunda das opções, consoante o ponto A se encontrar, respectivamente, mais
próximo ou mais afastado de O do que um determinado limiar de decisão l. Mas podia
ter-se dado o caso de o utilizador pretender um tronco de cone cuja face de topo teria
um diâmetro tão pequeno que levaria o sistema, erradamente, a optar por um cone. O
inverso também poderia acontecer: se o designer pretendesse um cone mas esboçasse
de forma menos cuidada o segmento de recta, o sistema poderia optar, mais uma vez
erradamente, pelo tronco de cone.
lmax
lmin
O
A
l
Figura 3-14 – Ambiguidade cone/tronco de cone
No sistema GIDeS existem dois limiares de decisão, lmin e lmax. Se a distância de A a O
for inferior a lmin, o gesto é classificado como sendo um cone, não havendo lugar a
qualquer ambiguidade. Caso a distância seja superior a lmax, tem lugar o reconhecimento de um tronco de cone, mais uma vez sem ambiguidade. Mas se a distância de A
a O estiver compreendida entre aqueles dois limiares, existe uma ambiguidade no processo de classificação do gesto, pelo que é gerada uma lista de expectativas a sugerir
ambas as primitivas.
Discussão
Controlo da
ambiguidade
OA < lmin
3-33
Controlo da
ambiguidade
lmin ≤ OA ≤ lmax
Cone
OA > lmax
Tronco de cone
Reforço da
ambiguidade
Figura 3-15 – Controlo e reforço da ambiguidade
A situação pode ser melhor compreendida se se atentar nos conjuntos da Figura 3-15.
A elipse azul e a rosa representam, respectivamente, os conjuntos dos padrões de
reconhecimento do cone e do tronco de cone. Repare-se que a intersecção dos mesmos não constitui um conjunto vazio. Nos casos em que OA < lmin ou OA > lmax existe
um controlo efectivo da ambiguidade, a opção correspondente ao tronco de cone ou
ao cone não constará da lista de expectativas, pelo que o número de sugestões simultâneas é eficazmente limitado sem a necessidade de recorrer à solução de mútua
exclusividade proposta por Igarashi et al. Nas situações em que se verifica a condição
lmin < OA < lmax, pelo contrário, existe um reforço da ambiguidade e ambas as opções
estarão presentes na lista de expectativas. Esta será, por conseguinte, um pouco mais
extensa do que nos dois casos anteriores, mas as vantagens decorrentes desta situação
– a eliminação, à partida, dos custos inerentes a uma eventual má interpretação das
pretensões do utilizador – compensam amplamente aquele inconveniente36.
36
Na Secção 6.1.3 do Capítulo 6 é apresentada uma abordagem ao problema de sugerir um número
virtualmente infinito de expectativas sem, com isso, comprometer a usabilidade da interface.
3-34
Interacção caligráfica ambígua em sistemas computacionais de modelação
Para finalizar a discussão deste ponto, atente-se na Figura 3-16. Nela está representada uma lista de expectativas de primitivas 3D. Repare-se, uma vez mais, na forma
como uma interface RISC permite que o mesmo gesto (representado a negro, à
esquerda na figura) seja interpretado de diferentes maneiras, neste caso como um
tronco de cone, uma superfície de revolução e uma secção cilíndrica com duas orientações espaciais distintas. Tivessem sido adoptados critérios de exclusividade mútua e
teria sido necessário definir gestos diferentes para as diferentes primitivas, com o consequente e indesejável aumento da carga cognitiva imposta ao utilizador.
Figura 3-16 – Lista de expectativas de primitivas 3D
3.3.2 Representação visual das sugestões
Um dos inconvenientes das listas de sugestões do sistema Chateau está relacionado
com a sua representação visual. Com efeito, a escala envolvida nessa representação é
de tal forma reduzida, que dificulta a correcta identificação e interpretação, por parte
do utilizador, das operações que estiverem a ser sugeridas.
A origem deste problema reside no facto de cada uma das imagens em miniatura –
thumbnails – reproduzir a totalidade – e não uma pequena parte – da cena que se irá
obter caso se aceite a sugestão que lhe está associada.
Discussão
3-35
Nas listas de expectativas do sistema GIDeS, pelo contrário, a atenção está concentrada numa pequena parte da cena, a saber, a porção correspondente ao objecto37, seja ele
uma primitiva 2D ou 3D, que está a ser construído ou modificado. Isto permite usar
escalas menos reduzidas do que as que estão envolvidas na abordagem de Igarashi et
al., não criando, por conseguinte, quaisquer problemas ao utilizador. Atente-se novamente na Figura 3-16 e observe-se o aspecto gráfico das diversas opções da lista, em
que os modelos em escala reduzida de cada uma das primitivas reflectem com clareza
e rigor o resultado que virá a ser obtido pelo designer.
As listas de expectativas também não padecem do problema da sobreposição de
opções descrito por Igarashi et al. no contexto do sistema Pegasus (Secção 2.7 do
Capítulo 2). Com efeito, de entre as diversas configurações possíveis para estas listas,
a que reuniu a preferência dos utilizadores38 apresenta os diversos candidatos de duas
formas redundantes (Secção 5.3.3 do Capítulo 5): a primeira consiste, como já foi
referido, em exibir versões em escala reduzida de todas as opções em simultâneo.
Estas estão dispostas lado a lado, numa janela criada para esse efeito no canto superior
esquerdo da área de trabalho, pelo que não há lugar à sobreposição das diferentes
expectativas. Na segunda é criada uma sequência temporal, em escala natural e na
própria área de trabalho, das opções que estão disponíveis para o utilizador. Também
neste caso, o facto de se tratar de uma sequência temporal, sob controlo humano, evita
o problema da sobreposição. Igarashi et al. adoptaram, aliás, uma solução semelhante
no sistema Chateau, a qual consiste em deslocar o cursor ao longo das imagens em
37
38
Ou ao par de objectos, no caso das listas de expectativas de operações booleanas.
Expressa aquando da realização da sessão de avaliação de usabilidade do sistema GIDeS (ver o Capítulo 5).
3-36
Interacção caligráfica ambígua em sistemas computacionais de modelação
miniatura, sem largar o botão principal do rato. A janela principal da aplicação reflecte, em cada instante, a cena reproduzida na imagem apontada pelo cursor. A operação
termina quando o utilizador larga o botão com o cursor localizado quer numa imagem
em miniatura – o que corresponde a aceitar a sugestão que lhe está associada – quer
sobre a área de trabalho – o que é interpretado como uma rejeição de todas as sugestões.
3.3.3 Ordenação das opções
Outro aspecto mencionado por Igarashi et al. prende-se com a conveniência em adoptar critérios apropriados de ordenação das sugestões que constam das listas do sistema
Chateau. De momento, a disposição das diversas alternativas não só é fixa, como também é arbitrária.
Algumas das classes de listas de expectativas do protótipo GIDeS contemplam, desde
já, esta funcionalidade. No caso dos comandos e das operações booleanas, em que o
número de sugestões apresentadas é, normalmente, muito reduzido, a situação é idêntica à do sistema Chateau: o critério é constante, preservando assim a inércia da visualização. No caso das primitivas de desenho, a ordenação rege-se por preceitos de natureza probabilística. Mais concretamente, baseia-se em estimativas de probabilidade
efectuadas pela unidade de reconhecimento da suavidade dos traços esboçados. As
primitivas suaves precederão as angulosas ou vice-versa, consoante a confiança na
identificação de um traço suave excede ou não um determinado limiar de decisão. Por
último, no caso das primitivas 3D, existe a possibilidade de configurar o sistema no
sentido de adoptar um critério fixo ou, pelo contrário, variável em função das escolhas
anteriores do utilizador.
Discussão
3-37
3.3.4 Acção por omissão
Nas situações em que o sistema de reconhecimento dispõe de aptidão para atribuir um
grau de confiança – e uma correspondente estimativa da probabilidade de acerto – a
cada uma das interpretações possíveis para a acção do utilizador, é da maior conveniência que a opção mais provável adquira o estatuto de opção por omissão. Quer isto
dizer que, caso não exista, da parte do designer, uma actuação explícita no sentido de
aceitar uma das sugestões com que foi confrontado, o sistema deverá assumir a escolha implícita da alternativa que oferece maior grau de confiança39. As vantagens que
decorrem desta maneira de proceder são evidentes: se se admitir que, na maior parte
das situações, a opção mais provável é a que efectivamente corresponde à linha de
actuação pretendida pelo utilizador, este pode prosseguir o seu trabalho sem necessitar
de seleccionar a referida opção, o que resulta numa economia de tempo e de esforço
despendidos e, por conseguinte, numa maior usabilidade da interface.
Os motores de sugestões do sistema Chateau não estão preparados para avaliar os
graus de confiança das operações que sugerem. A sua reacção é meramente positiva
ou negativa, consoante o conjunto de pistas fornecidas condiz ou não com os padrões
de reconhecimento que constam da sua programação. Não surpreende, portanto, que
na abordagem de Igarashi et al. não tenha sido adoptado o conceito de opção por
omissão.
No sistema GIDeS a situação é um pouco mais complexa e varia consoante o tipo de
expectativas que está ser considerado. No caso dos comandos, não existe opção por
39
A existência de uma acção por omissão não implica que o utilizador não possa, se assim o entender,
rejeitar a totalidade das opções que lhe foram sugeridas (ver a nota de rodapé 51, na página 3-45 deste
capítulo e a Secção 5.3.6.1 do Capítulo 5).
3-38
Interacção caligráfica ambígua em sistemas computacionais de modelação
omissão. Se o utilizador ignorar as sugestões do módulo de reconhecimento de
comandos, o gesto é passado ao módulo seguinte40, o qual tentará interpretar os traços
que constituem o referido gesto como eventuais primitivas 2D.
Já no que se refere a estas primitivas, o procedimento é diferente. A opção por omissão é a correspondente à primeira alternativa da lista de expectativas, pelo que o critério adoptado na sua determinação – uma estimativa de probabilidade baseada na suavidade do traço – é o mesmo que foi usado para ordenar a lista (Secção 3.3.3).
No que às primitivas 3D diz respeito, gerou-se alguma controvérsia sobre se deveria
ou não existir uma opção por omissão. No caso de existir, seria sugerida a construção
do sólido correspondente à primeira opção da lista de expectativas. A não existir, o
desenho prevaleceria, não havendo portanto lugar à criação de nenhum dos objectos
constantes da referida lista. O dilema foi solucionado mediante a adopção de duas
configurações distintas para o sistema, de modo a que ambas as possibilidades pudessem ser objecto de avaliação por parte de potenciais utilizadores. Os resultados obtidos vieram confirmar uma acentuada preferência pelo prevalecimento do desenho e,
por conseguinte, pela inexistência de uma opção por omissão41.
Também no caso das uniões e subtracções booleanas se optou por não estabelecer
uma acção por omissão. A determinação da operação adequada a cada situação
baseia-se no cálculo do produto escalar de dois vectores. Existem, no entanto, circuns-
40
Recorde-se que, no sistema GIDeS, a arquitectura subjacente ao processo de reconhecimento caligráfico se caracteriza por uma disposição em cascata dos módulos que a constituem (Secção 3.2.1).
41
Nas Secções 5.3.3 e 5.3.5 do Capítulo 5 podem ser consultadas as pontuações alcançadas por cada
uma das configurações e na Secção 5.3.4.1 do mesmo capítulo é feita uma exposição pormenorizada
das razões invocadas pelos participantes na manifestação desta preferência.
Discussão
3-39
tâncias em que esta grandeza ou é nula, ou não é susceptível de ser calculada (Figura
3-17). Quando assim acontece, não está disponível qualquer tipo de informação que
permita concluir pela maior ou menor probabilidade de uma operação em relação à
outra. A inexistência de uma acção por omissão reflecte a neutralidade do sistema
face a ambas.
Figura 3-17 – Lista de expectativas de operações booleanas
3.3.5 Listas de expectativas versus intervenções semânticas
Na abordagem traduzida no sistema GIDeS não existe o conceito de intervenção
semântica defendido por Branco na sua dissertação de Doutoramento (Secção 2.4.2 do
Capítulo 2). As ambiguidades existentes na interpretação dos esboços são resolvidas
mediante a exibição de listas de expectativas. Além disso, o número de comandos disponíveis é muito reduzido – interface RISC. Ou seja, ao invés de ser o utilizador,
mediante a invocação de um comando, a tomar a iniciativa de “explicar” o desenho ao
sistema, cabe a este último a tarefa de inferir todas as alternativas que decorrem da
sua análise e interpretação. A apresentação destas alternativas é feita sob a forma de
uma lista de expectativas do sistema, limitando-se o designer a escolher a opção que
melhor servir os seus intentos42. O processo também é eficaz na eliminação de impre-
42
Ou a rejeitá-las a todas, caso isso não se verifique.
3-40
Interacção caligráfica ambígua em sistemas computacionais de modelação
cisões e na consequente obtenção de um modelo rigoroso, bem como na imposição de
restrições de modelação.
b) expectativas 2D
a) esboço
c) expectativas 3D
Figura 3-18 – Exemplo de interpretações semânticas no sistema GIDeS
A Figura 3-18 ilustra a aplicação deste conceito ao exemplo do círculo e da esfera
referido por Branco. Uma vez concluído, o esboço do utilizador (Figura 3-18a) é
submetido a um processo de reconhecimento de primitivas 2D que procura determinar
as diversas interpretações do desenho43. Estas são reportadas ao utilizador sob a forma
da lista de expectativas representada na Figura 3-18b. Repare-se que a circunferência
é uma das opções disponíveis. Se o designer a escolher, o processo subsequente de
reconhecimento de primitivas 3D identifica o traçado como correspondendo, possivelmente, à projecção de uma esfera, pelo que sugere, mais uma vez sob a forma de
uma lista de expectativas, a sua construção (Figura 3-18c). O utilizador é livre de
aceitar ou rejeitar a sugestão do sistema.
Esta inversão dos papéis do utilizador e do computador, traduzida na transferência do
ónus da iniciativa do primeiro para o segundo, e a consequente redução no repertório
43
O carácter caligráfico da interface implica que este processo aja em permanência, o que dispensa a
selecção prévia do esboço e a invocação de um comando de classificação.
Discussão
3-41
de comandos disponíveis, vem, aliás, ao encontro das ideias defendidas por Nielsen
em [Nielsen93a] e citadas por Branco na sua dissertação [Branco96]. Na Tabela 3-2
estão representados doze critérios de comparação das características da actual44 geração de interfaces com as de uma potencial próxima geração. Dois desses critérios aparecem em destaque e merecem uma atenção especial.
Geração actual
Próxima geração
Centro da atenção do
utilizador
Controlo do computador
Controlo do domínio da tarefa
Papel do computador
Obedecer literalmente às ordens do
utilizador
Controlo da interface
Pelo utilizador (isto é, a interface
está explicitamente visível)
Sintaxe
Compostos objecto – acção
Visibilidade dos
objectos
Fluxo de interacção
Essencial para o uso da interacção
directa
Um dispositivo de cada vez
Baixa (teclado) a muito baixa
(rato)
Interpretar as acções do utilizador e
fazer o que lhe parecer mais apropriado
Pelo computador (o utilizador deixará de
se preocupar com a interface enquanto
tal)
Nenhuma (um único símbolo corresponderá a uma unidade de interacção)
Alguns objectos poderão estar implícitos
ou invisíveis
Fluxos paralelos para vários dispositivos
Largura de banda
Alta a muito alta (realidades virtuais)
Feedback face às
acções do utilizador
Possível num nível léxico
Alternância de vez
Sim; o utilizador e o computador
esperam um pelo outro
Dispositivos de interacção
Ecrã, rato e teclado
Programação pelo
utilizador
Linguagens imperativas e mal
estruturadas para a realização de
macro-rotinas
Programação por demonstração e linguagens gráficas não imperativas
Pacotes de software
Aplicações monolíticas
Módulos prontos para serem ligados e
usados
Necessita de um profundo conhecimento
do objecto ao nível semântico
Não; o utilizador e o computador poderão prosseguir sem ter de esperar um
pelo outro
Embebidos no ambiente, incluindo os
compartimentos completos e o próprio
edifício
Tabela 3-2 – Comparação das gerações corrente e futura de interfaces com o utilizador
Repare-se que, no segundo critério, Nielsen defende uma evolução no papel do computador, no sentido de este deixar de obedecer literalmente às ordens do utilizador45 e
passar, ao invés, a interpretar os possíveis significados das suas acções e a agir da
44
Estes critérios foram estabelecidos por Nielsen em 1993.
45
Isto é, os comandos deixam de existir enquanto ordens absolutas.
3-42
Interacção caligráfica ambígua em sistemas computacionais de modelação
forma que lhe parecer mais adequada. De notar, também, o oitavo critério, no qual a
reacção, ou feedback, do sistema às acções do utilizador evolui de um nível meramente sintáctico para um contexto mais complexo de interpretação semântica do objecto.
3.3.6 Listas de expectativas versus fornecimento de indícios
No sistema GIDeS não existe o equivalente à ideia de basear o funcionamento dos
motores de sugestões num conjunto de pistas fornecidas pelo utilizador. Os únicos
indícios usados na tentativa de interpretação das intenções do designer são o próprio
desenho e o contexto em que o mesmo se insere. Mais concretamente, o reconhecimento é feito com base na análise das propriedades topológicas e geométricas46 do
último traço47 esboçado pelo designer – no caso dos comandos e das primitivas 2D –
ou do subgrafo composto pelo último traço esboçado e por todos os elementos de
desenho que a ele estiverem ligados – no caso das primitivas 3D. O sistema Chateau,
por seu lado, fundamenta a sua actuação na identificação de padrões, também eles
topológicos e geométricos, dos elementos de desenho – pistas – seleccionados pelo
utilizador. Ambos complementam a sua actividade com informação dependente do
contexto.
Por outras palavras, ambas as abordagens procuram restringir o campo de acção dos
processos de reconhecimento a uma pequena parte do desenho, e não à sua globalidade. A diferença reside no facto de, no sistema GIDeS, essa delimitação ocorrer de
46
A consideração das características temporais também promete revelar-se de grande utilidade, desde
que não seja usada na tomada de decisões drásticas, tais como a aceitação ou a rejeição de eventuais
candidatos. Na Secção 6.1.5 do Capítulo 6 são apresentadas algumas ideias para o aproveitamento desta informação temporal.
47
Ou dos últimos traços. Recorde-se que os comandos, no sistema GIDeS, podem ser instanciados por
gestos compostos por mais do que um traço, desde que esboçados em sequência.
Discussão
3-43
forma natural e automática, sem o recurso a uma intervenção explícita do utilizador48.
Esta particularidade não só se traduz numa economia do esforço e do tempo despendidos pelo designer, como também elimina alguns dos inconvenientes referidos por
Igarashi et al. [Igarashi01], nomeadamente, a dificuldade em reter o conhecimento das
pistas necessárias ao desencadeamento de uma dada sugestão49, e as contrariedades
existentes na especificação dessas mesmas pistas, nas situações de maior complexidade dos modelos em concepção. Também o inconveniente que resulta do facto de
algumas das sugestões estarem dependentes da ordem pela qual os elementos de desenho tiverem sido seleccionados não se verifica no sistema GIDeS. Neste, como já é
sabido, todo o processo de reconhecimento caligráfico, seja de comandos, de primitivas 2D e 3D, ou de operações booleanas, é insensível quer ao sentido dos traços, quer
à ordem segundo a qual os mesmos foram esboçados.
Tal como Branco, Igarashi et al. referem a tendência, advogada por Nielsen, de evolução das interfaces com o utilizador no sentido de usar a informação contextual de
modo a reduzir o número de operações explícitas de comando do sistema50 [Nielsen93a, Branco96, Igarashi01] (Ver a Secção 3.3.5 e a Tabela 3-2). Ou seja, os papéis
do computador e do utilizador invertem-se, deixando o primeiro de obedecer literalmente às ordens do segundo e passando, ao invés, a interpretar as suas acções no contexto em que as mesmas foram desencadeadas e a tomar as decisões que lhe parecerem mais adequadas.
48
Este aspecto ilustra, mais uma vez, os benefícios decorrentes da existência de uma estreita colaboração entre os mecanismos de gravidade e os processos de reconhecimento caligráfico (Secção 3.2.1).
49
50
Ou seja, a carga cognitiva imposta ao utilizador é maior no caso do sistema Chateau.
A interface do sistema Chateau contempla apenas dois comandos explícitos: a selecção e a remoção
de elementos de desenho.
3-44
Interacção caligráfica ambígua em sistemas computacionais de modelação
Se compararmos as três abordagens – a de Branco, a de Igarashi e a que nesta dissertação se discute – no âmbito das ideias preconizadas por Nielsen para a próxima geração de interfaces com o utilizador, pode constatar-se que, num dos extremos da escala, se encontra o conceito de intervenção semântica de Branco: o ónus da interpretação do desenho está do lado do utilizador, cabendo a este não só a tarefa de seleccionar os elementos que requerem uma explicação, como também o encargo de transmitir
ao sistema essa mesma interpretação (mediante a invocação do operador Is A).
No outro extremo da escala encontra-se a abordagem adoptada no sistema GIDeS:
toda a interpretação do desenho está a cargo do computador, não existindo quaisquer
mecanismos, para além do próprio desenho, que indiciem as intenções subjacentes à
acção do utilizador. A ambiguidade é encarada de uma forma natural, aceitando a sua
inevitabilidade e explorando-a no sentido de melhorar a usabilidade da interface.
A abordagem de Igarashi et al. ocupa um lugar intermédio na escala evolutiva estabelecida por Nielsen: também neste caso a interpretação do desenho é da responsabilidade do sistema, mas a concretização deste objectivo requer auxílio humano, traduzido no fornecimento de pistas que indiciem as intenções do utilizador. Ou seja, a iniciativa está, ainda, do lado do designer. Além disso, e não obstante o sistema estar
capacitado para gerir as ambiguidades decorrentes do processo de interpretação do
desenho, houve ainda uma tentativa deliberada de minimizar a sua ocorrência, quer
através do próprio conceito de fornecimento de indícios, quer mediante a definição de
padrões de reconhecimento mutuamente exclusivos.
Discussão
3-45
3.4 Primitivas curvas e correcção ambígua de esboços
O sistema GIDeS inclui no seu repertório de primitivas 2D tanto as linhas angulosas –
segmentos de recta e linha poligonais – como as linhas suaves – circunferências, elipses e splines. A classificação do carácter anguloso ou suave de uma linha está a cargo,
como se sabe, do sistema de reconhecimento de primitivas de desenho, o qual foi
dotado de um mecanismo de aprendizagem que lhe permite adaptar-se rapidamente ao
estilo próprio de trabalho de cada utilizador. A conjugação de linhas curvas, em particular das splines, com o mecanismo de correcção ambígua de esboços proporciona ao
designer um meio simples e eficiente de embelezamento das formas em concepção.
Esta funcionalidade não foi contemplada na abordagem do protótipo Pegasus (Secção
2.7 do Capítulo 2) nem, tão-pouco, do sistema Chateau (Secção 2.15 do Capítulo 2).
Com efeito, um dos inconvenientes apontados por Igarashi et al. a este último prendese com o facto de a interface não suportar o esboço à mão livre nem, tão-pouco, o
desenho de linhas curvas regulares, pelo que a construção de objectos tridimensionais
de formas livres ou de contornos suaves fica inviabilizada à partida.
O mecanismo de auxílio à correcção de esboços – oversketching – constitui um exemplo da variante da técnica de mediação por repetição que Mankoff designa por reparação parcial (Secção 2.10 do Capítulo 2). A variante que consiste em desfazer a acção
mal interpretada antes de se proceder à sua repetição também é possível, mediante a
invocação do gesto correspondente ao comando de apagar51. Quanto à variante tradu-
51
O comando undo, não obstante ter um gesto associado, não foi, por enquanto, implementado. Existe,
todavia, uma alternativa, expressa sob a forma de uma opção suplementar nas listas de expectativas de
desenho, que consiste em rejeitar todas as interpretações sugeridas pelo sistema de reconhecimento.
Esta opção, que poderia ser designada por don’t do, está descrita na Secção 5.3.6.1 do Capítulo 5.
3-46
Interacção caligráfica ambígua em sistemas computacionais de modelação
zida na repetição mediante o recurso a modalidades de interacção alternativas, não foi
implementada no protótipo GIDeS52.
Da comparação da abordagem defendida nesta dissertação com a adoptada por Baudel
(Secção 2.12 do Capítulo 2) resulta que, no caso do sistema GIDeS, o reconhecimento
caligráfico é uma realidade e os problemas, referidos por aquele autor, decorrentes de
uma interpretação errada ou ambígua dos gestos do utilizador foram resolvidos, como
já foi referido, com base na utilização de listas de expectativas.
No caso concreto do mecanismo de correcção de esboços – oversketching – e apesar
das técnicas usadas na sua implementação serem diferentes das propostas por Baudel53, o espírito que presidiu ao seu desenvolvimento foi o mesmo: munir o utilizador
de um utensílio de edição baseado no conceito familiar do desenho à mão livre, e não
em concepções artificiais como a especificação de tangentes e de pontos de controlo.
No protótipo GIDeS, a complexidade do processo de correcção é acrescida pelo facto
de este tomar em consideração não só linhas curvas – splines – mas também linhas
poligonais – polylines – e, sempre que as circunstâncias o justificarem, segmentos de
linha recta. As diversas alternativas são apresentadas ao designer sob a forma de listas
de expectativas, e a reparametrização subsequente da linha depende, como é óbvio, da
opção que tiver sido seleccionada pelo utilizador.
52
Esta variante poderia ser aproveitada no estabelecimento de uma forma redundante de execução do
comando undo (mediante a manipulação directa de um botão localizado na barra de ferramentas, por
exemplo). Com efeito, a incorrecta interpretação do gesto associado a este comando pode constituir um
problema de difícil resolução para o utilizador.
53
Na Secção 4.2.5.2.3 do Capítulo 4 é feita uma descrição pormenorizada destas técnicas.
Discussão
3-47
As listas de expectativas também seriam de grande utilidade em contextos como o do
sistema de Baudel, no qual a única classe de linhas tida em consideração é a spline.
Recorde-se que o processo iterativo de correcção dos traços do utilizador converge
lentamente para a solução desejada, o que parece dever-se ao facto de os parâmetros
usados na configuração das curvas de substituição54 nem sempre serem os mais adequados aos desígnios do designer. A consideração de vários conjuntos diferentes destes parâmetros e a confrontação do utilizador com uma lista de expectativas na qual
são apresentadas as splines correspondentes permitiria acelerar a convergência do
processo de correcção e melhorar a usabilidade da interface.
3.5 Restrições geométricas e linhas de construção
No protótipo GIDeS, à semelhança do que sucede com o sistema Pegasus (Secção 2.7
do Capítulo 2) e não obstante o enquadramento ser diferente55, também são usadas
restrições, quer como um possível factor de embelezamento, quer como um instrumento de obtenção de resultados rigorosos. No entanto, o leque de restrições não é, de
momento, tão vasto quanto o de Igarashi. Na Secção 6.1.7 do Capítulo 6 é discutido, a
título de trabalho futuro, o alargamento do repertório de restrições e os benefícios que
tal alargamento poderá trazer ao utilizador dos sistemas de desenho assistido por
computador.
Por outro lado, e apesar do reduzido número de restrições geométricas actualmente
disponíveis, os benefícios que estas proporcionam são amplamente reforçados quando
54
55
A tensão da spline, por exemplo.
O primeiro é um sistema computacional de apoio à modelação 3D, enquanto o segundo está vocacionado apenas para o desenho 2D.
3-48
Interacção caligráfica ambígua em sistemas computacionais de modelação
as mesmas são usadas em conjugação com as linhas de construção, um conceito familiar a todos os desenhadores e que, até ao momento, só é contemplado pelo sistema
SketchUp (Secção 2.16 do Capítulo 2). No entanto, a interacção neste último não é
caligráfica, recorrendo ao invés às metáforas tradicionais do tampo da secretária, as
quais só por força das circunstâncias são familiares aos utilizadores desta classe de
sistemas.
A aplicação de restrições geométricas não está limitada, no sistema GIDeS, aos campos do desenho e da construção de primitivas 3D. Também as transformações geométricas e outras operações de edição de sólidos obedecem a restrições, como se verá na
secção que se segue. Este aspecto é de importância fundamental na obtenção de resultados rigorosos e no consequente alargamento do âmbito de utilização dos sistemas
caligráficos a todas as etapas do processo de design.
3.6 Edição e transformação geométrica de alto nível
O sistema GIDeS dispõe de um conjunto de ferramentas de edição e transformação
geométrica de alto nível que visa simplificar e acelerar o trabalho do designer. As
acções decorrentes dos utensílios em causa são desencadeadas pelo próprio desenho
em modos de interacção específicos e consistem em sequências animadas de translações e rotações dos objectos da sua aplicação. As restrições geométricas, já referidas
na Secção 3.5, também desempenham um papel activo em todo este processo.
Existe um utensílio que permite restringir o deslocamento de um objecto a um plano
paralelo ao do “chão” da cena ou, nas situações em que isso não é possível, a um plano paralelo ao plano de projecção. Nas situações em que o objecto se encontra em
contacto com outro sólido, é possível restringir o deslocamento do mesmo ao plano da
Discussão
3-49
face à qual se encontra ligado. Por último, existe um modo de colagem de objectos
que, com base no desenho de uma única linha, infere as transformações – uma translação e, consoante os casos, uma ou duas rotações – necessárias para unir os dois sólidos. Os parâmetros destas transformações são calculados pelo sistema com base na
aplicação de três tipos de restrições: a coincidência dos planos das faces, o alinhamento de arestas e a coincidência de vértices.
À semelhança do que se verifica no Electronic Cocktail Napkin (ver o exemplo da
Figura 2-6 na Secção 2.2 do Capítulo 2), os objectos podem ser associados entre si
mediante a execução de uma colagem. No exemplo da Figura 3-19a pode ver-se uma
chaminé colada a um telhado, e o deslocamento de um destes sólidos implica uma
transformação idêntica no outro.
a)
b)
Figura 3-19 – Satisfação de restrições por parte do sistema GIDeS
A colagem não é, no entanto, uma operação comutativa, ou seja, colar um objecto A a
um objecto B não tem o mesmo significado que colar o objecto B ao objecto A. Isto
permite estabelecer uma hierarquia de sólidos, a qual é aproveitada por uma operação
especial de translação, designada por ajustamento. No exemplo da figura, o ajusta-
3-50
Interacção caligráfica ambígua em sistemas computacionais de modelação
mento do telhado implica uma translação idêntica de todos os objectos – a chaminé,
neste caso – que a ele foram colados56. Mas o ajustamento da chaminé serve apenas
para acertar, ou ajustar, a posição relativa deste objecto face ao sólido – o telhado, no
exemplo – ao qual se encontra colado, sendo que este último não sofre quaisquer alterações (Figura 3-19b).
Já da comparação com o trabalho de Branco (o sistema IDeS; ver a Secção 2.4.3 do
Capítulo 2), resulta que na abordagem que serve de suporte ao sistema GIDeS não se
encontra a funcionalidade da construção de malhas poligonais com base no desenho,
não obstante a sua utilidade em estudos de decoração de superfícies realizados em
sectores da indústria como a cerâmica e o calçado, entre outros [Branco90, Branco96].
No entanto, o conceito de colagem enquanto mecanismo de adaptação de um desenho
2D a um objecto 3D também existe naquele sistema, e é aproveitado em diversos
aspectos da sua utilização e funcionamento, como sejam a construção directa de primitivas sobre a superfície de outros sólidos, a execução de cortes, furos, cavidades e
saliências, e a edição rigorosa com base no desenho de linhas de construção.
No protótipo GIDeS, ao contrário do que sucede no sistema SKETCH de Zeleznik et
al. (Secção 2.5.4 do Capítulo 2), as técnicas de oversketching não foram aproveitadas
no redimensionamento de objectos tridimensionais. A sua finalidade é, como já é
sabido, a de corrigir o desenho (Secção 3.4). As transformações de scaling não estão,
por enquanto, implementadas, prevendo-se a sua inclusão num mecanismo de cotagem mais geral, elaborado e preciso do que o do sistema SKETCH (Secção 6.1.9 do
56
Implicaria também o deslocamento de todos os sólidos hipoteticamente colados à chaminé, bem
como de todos os sólidos eventualmente colados a esses sólidos, e assim sucessivamente.
Discussão
3-51
Capítulo 6). Ao contrário do que se verifica no protótipo Smart Paper (Secção 2.6 do
Capítulo 2), a introdução dos valores representativos das cotas dos sólidos deverá ser
feita na própria área de trabalho da janela principal e não numa janela secundária. Os
modelos vão sendo automaticamente redimensionados pelo sistema sempre que surgirem incompatibilidades entre as suas dimensões relativas e os valores absolutos das
cotas estabelecidas pelo utilizador.
Este mecanismo de cotagem está mais vocacionado para as etapas finais do design,
em contraste com o de Zeleznik, mais adequado aos estágios conceptuais daquele processo. A eventual conjugação das duas abordagens permitirá alargar o âmbito de utilização desta funcionalidade e traduzir-se-á, provavelmente, numa solução mais vantajosa para o utilizador de sistemas de modelação.
3.7 Conclusão
Neste capítulo procedeu-se a uma exposição circunstanciada dos conceitos envolvidos
na abordagem ao problema formulado no Capítulo 1 e a uma discussão dos motivos
segundo os quais o aproveitamento destes conceitos em futuras gerações de sistemas
computacionais de modelação se poderá traduzir num conjunto expressivo de benefícios para os utilizadores de tais sistemas. Como termo de comparação foram usadas as
abordagens efectuadas por outros autores e expressas nos trabalhos de investigação
que foram apresentados no Capítulo 2. Os factores positivos e negativos mais relevantes de tais abordagens foram, recorde-se, objecto de uma síntese realizada nas Tabelas
2-8 e 2-9 desse mesmo capítulo, síntese essa que aqui se reproduz (Tabelas 3-3 e 3-4),
mas com uma diferença: foi acrescentada uma coluna que refere, para cada um dos
aspectos característicos, se o mesmo é ou não partilhado pela abordagem que foi
adoptada no protótipo GIDeS.
3-52
Interacção caligráfica ambígua em sistemas computacionais de modelação
Aspectos positivos
Sistemas
Possibilidade de treinar os processos de reconhecimento com base em exemplos fornecidos pelo
utilizador
Electronic Cocktail Napkin / BoE
SILK
Translucent sketchpad
Electronic Cocktail Napkin / BoE
SKETCH
Smart Paper
Translucent sketchpad
Sketch-N-Make
CALI
Aptidão para reconhecer gestos compostos por
mais do que um traço
Identificação dos traços componentes de um gesto
com base em relações de natureza espacial
Insensibilidade dos processos de reconhecimento à
ordenação dos traços que compõem os gestos
Insensibilidade dos processos de reconhecimento
ao sentido de desenho dos traços
Insensibilidade dos processos de reconhecimento às
transformações geométricas
Aptidão para reconhecer diferentes tipos de traços
Modalidades complementares de interacção natural
Correcção de esboços com base em técnicas de
oversketching
Redimensionamento de objectos 3D com base em
técnicas de oversketching
Transformações geométricas de hierarquias de
objectos
Modelação rigorosa com base em restrições
Modelação rigorosa com base em linhas de construção
Modelação rigorosa com base na cotagem de objectos
Facilidade em construir sólidos de extrusão
Aptidão para gerir ambiguidades
Simplicidade, naturalidade e eficiência do paradigma de interacção
Intervenções semânticas enquanto técnica de
desambiguação, de imposição de restrições de
modelação e de inclusão de componentes de bases
de dados
Colagem
Smart Paper
Smart Paper
CALI
Smart Paper
CALI
Smart Paper
CALI
Smart Paper (normal, tracejado)
CALI (normal, tracejado, grosso)
Smart Paper (escrita)
Translucent sketchpad (escrita e fala)
GIDeS
Sim (1)
Sim
Sim
Sim
Sim
Sim (2)
Não
Não (3)
Paradigma de interacção de Baudel
Sim
SKETCH
Não (4)
Electronic Cocktail Napkin / BoE
SKETCH
Pegasus
Sketch-N-Make
Chateau
SketchUp
Sim
Sim
SketchUp
Sim
Smart Paper
SketchUp
SketchUp
SILK
Pegasus
CALI
Chateau
IDeS
Teddy
Não (5)
Sim (6)
Sim
(7)
IDeS
Não (8)
IDeS
Sim (9)
Tabela 3-3 – Síntese dos principais aspectos positivos dos trabalhos investigados
Observações
1.
2.
Apenas no caso de alguns gestos de comando. Ver o Apêndice A para uma breve descrição da ferramenta que permite efectuar este procedimento.
A insensibilidade às transformações geométricas não constitui necessariamente um aspecto positivo dos
processos de reconhecimento caligráfico. O sistema GIDeS permite configurar tais processos de forma
independente para cada gesto, de modo a torná-los ou não insensíveis às diversas transformações geométricas.
Discussão
3.
4.
5.
6.
7.
8.
9.
3-53
No entanto, a versão mais recente do protótipo, denominada GIDeS++ e desenvolvida no âmbito do Projecto SmartSketches, já incorpora mecanismos de reconhecimento quer da fala, quer da escrita (Secção
6.1.2 Capítulo 6).
As técnicas de oversketching estão a ser usadas pelo processo de correcção automática de esboços. O
redimensionamento de sólidos foi contemplado apenas na versão GIDeS++ e está a cargo do mecanismo
de cotagem de objectos (Secção 6.1.9 do Capítulo 6).
Sim, no caso da versão GIDeS++ (Secção 6.1.9 do Capítulo 6).
E também, de uma forma consistente, outros objectos que não os de extrusão.
O paradigma do desenho incremental é um pouco menos familiar e mais intrusivo do que o do desenho
puro, usado por Branco no protótipo IDeS e por Igarashi et al. no protótipo Teddy. Em contrapartida,
não padece das limitações que caracterizam este último no que se refere à geometria, topologia, rigor e
complexidade dos objectos que permite construir. Na Secção 6.1.1 do Capítulo 6 discutem-se os benefícios que poderão vir a decorrer de uma eventual fusão destes dois paradigmas.
O conceito de intervenção semântica não existe no protótipo GIDeS. A interpretação semântica das
acções do utilizador é da responsabilidade do sistema e as ambiguidades que dela decorrem são mediadas
pelas listas de expectativas. A imposição de restrições resulta da acção dos mecanismos gravitacionais
sobre o processo de desenho. A inclusão de componentes de bases de dados não foi, por enquanto, contemplada.
A colagem enquanto ferramenta de construção de malhas poligonais 3D não existe no protótipo GIDeS.
No entanto, o conceito que lhe é subjacente – o desenho na projecção das superfícies que delimitam os
objectos tridimensionais – está presente e foi aproveitado na implementação de outras funcionalidades.
De notar que a generalidade dos factores positivos que qualificam os outros trabalhos
também é partilhada pelo que aqui se defende, com a excepção da aptidão para o reconhecimento de outros tipos de traços que não o contínuo, a inclusão de modalidades
auxiliares de interacção natural, o redimensionamento de objectos 3D, a cotagem de
objectos e as intervenções semânticas (Tabela 3-3). Destes aspectos, o segundo, o terceiro e o quarto serão abordados no Capítulo 6, no contexto do trabalho a realizar
futuramente, não obstante a evolução mais recente do protótipo – GIDeS++ [Jorge03],
concebida no âmbito do Projecto SmartSketches – já incorporar estas funcionalidades.
Estas foram objecto de uma avaliação preliminar de usabilidade que, pelo carácter
amplamente satisfatório e encorajador dos resultados que produziu, constitui um forte
incentivo à prossecução do desenvolvimento de todos estes princípios. Quanto ao
quinto e último aspecto – a ideia de usar intervenções semânticas nos processos de
desambiguação – e pese embora os méritos incontestáveis que o caracterizam, a sua
inclusão na abordagem perfilhada neste trabalho foi preterida em favor do conceito
expresso pelas listas de expectativas.
3-54
Interacção caligráfica ambígua em sistemas computacionais de modelação
Aspectos negativos
Inaptidão para reconhecer gestos compostos por mais
do que um traço
Identificação dos traços componentes de um gesto
com base em relações de natureza temporal
Sensibilidade dos processos de reconhecimento à
ordenação dos traços que compõem os gestos
Sensibilidade dos processos de reconhecimento ao
sentido de desenho dos traços
Sensibilidade dos processos de reconhecimento às
transformações geométricas
Interacção com mais do que um botão ou com teclas
modificadoras
Lentidão de convergência por parte dos processos
iterativos de oversketching
Inconsistências no repertório dos gestos que instanciam primitivas 3D
Inaptidão para a modelação rigorosa
Inaptidão para produzir cenas complexas, compostas
por mais do que um objecto
Limitações à complexidade e diversidade topológica
dos objectos
Inaptidão para gerir ambiguidades
Exclusividade mútua dos padrões de reconhecimento
Dificuldade em determinar os indícios necessários ao
desencadeamento das diversas sugestões
Dificuldade em seleccionar os elementos de desenho
correspondentes aos indícios que se pretende fornecer
Dificuldade em interpretar ou seleccionar as predições e sugestões do sistema
Inexistência de critérios de ordenação de sugestões
Inexistência de acções por omissão
Inexistência de primitivas 2D/3D de contornos suaves ou formas livres
Dificuldade em construir certos tipos de sólidos de
contornos suaves
Ónus da iniciativa na interpretação semântica das
acções do utilizador
Propagação das imprecisões do desenho
Limitações dos algoritmos de reconstrução 3D: aplicáveis apenas a sólidos compostos por faces poligonais planas e vértices trivalentes; condições de viabilidade insuficientes ou de difícil implementação
Obrigatoriedade em desenhar as arestas ocultas dos
objectos 3D
Recurso a equipamento sofisticado, volumoso e dispendioso
Sistemas
GIDeS
SILK
Não
CALI
Não (1)
Electronic Cocktail Napkin / BoE
SKETCH
Sketch-N-Make
SILK
SKETCH
Sketch-N-Make
Electronic Cocktail Napkin / BoE
SILK
SILK
SKETCH
Paradigma de interacção de Baudel
SKETCH
Translucent sketchpad
SKETCH
Teddy
Não
Não
Não (2)
Não (3)
Não
Não
Não (4)
Teddy
Não
Teddy
Não
SKETCH
Smart Paper
Translucent sketchpad
Paradigma de interacção de Baudel
Sketch-N-Make
SKETCH (obrigatória)
Chateau (desejável)
Não
Não
Chateau
Não (5)
Chateau
Não (5)
Pegasus
Chateau
Chateau
Chateau
Pegasus
Chateau
SketchUp
IDeS (intervenções semânticas)
Chateau (fornecimento de indícios)
IDeS
Digital Clay
IDeS
Stilton
Não
Não
Não
Não
Não
Não
Não
Não (6)
Stilton
(7)
Translucent sketchpad
Não
Tabela 3-4 – Síntese dos principais aspectos negativos dos trabalhos investigados
Discussão
3-55
Observações
1.
2.
3.
4.
5.
6.
7.
Excepto no caso dos gestos de comando, para os quais a obrigatoriedade em esboçar os traços que os
compõem de uma forma consecutiva não só não constitui um inconveniente, como até é desejável.
A sensibilidade às transformações geométricas não constitui necessariamente um aspecto negativo dos
processos de reconhecimento caligráfico. O sistema GIDeS permite configurar tais processos de forma
independente para cada gesto, de modo a torná-los ou não sensíveis às diversas transformações geométricas.
Com a excepção dos comandos de manipulação da câmara virtual, os quais são invocados mediante a
acção do utilizador sobre o botão lateral do estilete. No entanto, existem comandos gestuais – e também
vocais, no caso da versão GIDeS++ – redundantes que permitem realizar essas operações sem que se
tenha de recorrer a qualquer botão adicional.
O protótipo GIDeS permite – ao contrário do que sucede noutras abordagens – mas não impõe – ao contrário do que se verifica na maioria dos sistemas comerciais – a modelação rigorosa de objectos, pelo que
a sua utilização é apropriada a todas as etapas do processo de design.
O conceito de fornecimento de indícios não existe no protótipo GIDeS, pelo que este inconveniente foi
eliminado à partida.
Os algoritmos de reconstrução 3D não fazem parte da abordagem subjacente ao protótipo GIDeS, pelo
que estes inconvenientes foram eliminados à partida. No entanto, o eventual desenvolvimento de um
paradigma híbrido de interacção que conjugue as vantagens do desenho puro e do incremental poderá vir
a alterar este estado de coisas (Secção 6.1.1 do Capítulo 6).
O sistema de reconhecimento de primitivas 3D funciona independentemente do carácter visível ou invisível das arestas desenhadas pelo utilizador. Além disso existem situações ambíguas em que a mesma
aresta pode ser interpretada nuns casos como estando visível e noutros como estando oculta.
Já no que se refere aos factores negativos (Tabela 3-4) convém destacar a forma como
os diversos princípios que constituem a abordagem do sistema GIDeS permitem ultrapassar – individualmente ou em conjunto – os inconvenientes que caracterizam os restantes trabalhos. De referir, entre outros aspectos, o carácter auto-adaptativo e não restritivo dos processos de reconhecimento caligráfico no que se refere ao número,
ordem e sentido dos traços que compõem os diversos gestos; a importância da arquitectura em cascata na redução do número de botões e de teclas modificadoras dos dispositivos de interacção e na consistência geral da interface; a contribuição dada pelas
listas de expectativas na obtenção de uma convergência célere dos processos iterativos
de correcção de esboços; a consistência dos gestos que instanciam primitivas 3D, sem
imposições de qualquer espécie no que se refere à natureza mutuamente exclusiva dos
padrões que os permitem identificar e o carácter exclusivamente comportamental –
isto é, centrado no utilizador – e não estrutural dos critérios que regeram a sua definição; a aptidão para a modelação rigorosa, seja com base em restrições geométricas ou
recorrendo ao auxílio proporcionado pelas linhas de construção; a aptidão das listas de
3-56
Interacção caligráfica ambígua em sistemas computacionais de modelação
expectativas para gerir ambiguidades e a consequente redução do número de comandos da interface e, por conseguinte, da carga cognitiva imposta ao utilizador; a eliminação, também por parte das listas de expectativas, da necessidade de intervenções
semânticas ou de fornecimento de indícios e a consequência transferência do ónus da
iniciativa do utilizador para o computador; os critérios de ordenação de sugestões e as
acções por omissão como factores decisivos no aumento da eficiência e da usabilidade
da interface; a inclusão, de uma forma consistente, de primitivas 2D e 3D de contornos suaves; a eliminação, por parte do paradigma do desenho incremental, da propagação e crescimento das imprecisões do desenho, bem como da necessidade de se
recorrer a algoritmos de reconstrução 3D, com os inevitáveis prejuízos que as limitações de tais algoritmos acarretam para o utilizador; por fim, a natureza minimalista e
pouco dispendiosa do equipamento utilizado e os consequentes benefícios ao nível da
portabilidade e das soluções multi-utilizador.
Capítulo 4
O protótipo GIDeS
Introdução
A interface caligráfica
Arquitectura e funcionamento
Pré-processamento de traços
Filtragem poligonal
Aproximação poligonal
Segmentação
Pré-processamento de traços no sistema GIDeS
Reconhecimento de comandos
Análise gravitacional de elementos de desenho
Linhas angulosas
Linhas suaves
Reconhecimento de primitivas de desenho
Linhas angulosas
Linhas suaves
Depuração do grafo de desenho
Reconhecimento de primitivas 3D
Análise topológica
Análise geométrica
Colocação de primitivas no espaço 3D
Reconhecimento de operações booleanas
Edição 2D
Remoção de elementos de desenho
Correcção de esboços
Edição 3D
Clipboard 3D
Transformações geométricas
Colagem
Deslocamento
Ajustamento
Corte
Linhas de construção
Manipulação da câmara
Interacção directa
Pan
Zoom
Viewpoint
Restabelecimento da isometria
Interacção caligráfica
Pan
Zoom
Viewpoint e restabelecimento da isometria
Conclusão
4 O protótipo GIDeS
Neste capítulo é feita uma exposição técnica da funcionalidade do sistema GIDeS, o
protótipo cujo desenvolvimento teve como principal objectivo a avaliação da viabilidade e da utilidade das ideias defendidas nesta dissertação. É dada uma especial relevância à arquitectura subjacente a todo o processo de reconhecimento caligráfico, bem
como aos algoritmos em que o mesmo se baseia. Também o mecanismo de análise
gravitacional, pelo importante papel que desempenha não só nesse processo, mas
também ao nível do desenho de linhas de construção, é objecto de uma atenção redobrada. A teoria que serve de suporte à criação de splines e a forma como as mesmas
são aproveitadas, em conjugação com as restantes primitivas de desenho, no aprimoramento dos esboços produzidos pelo utilizador, também é focada neste capítulo. Este
termina com uma descrição do funcionamento do mecanismo de oversketching (edição 2D), das ferramentas existentes de transformação da geometria dos objectos em
concepção (edição 3D) e por uma breve referência ao modo de funcionamento dos
comandos de manipulação da câmara.
4.1 Introdução
O desenvolvimento do sistema GIDeS teve em vista a demonstração da validade dos
conceitos discutidos no Capítulo 3 e baseia o seu funcionamento na interacção com
um estilete e um ecrã táctil. A opção por um rato e um ecrã convencionais, se bem que
possível, não é de todo adequada a este tipo de interfaces, como seria de esperar e
ficou demonstrado aquando da avaliação da usabilidade do protótipo (Capítulo 5).
O software em que o sistema se baseia foi escrito na linguagem C++ e é susceptível
de ser executado em plataformas computacionais dotadas de sistemas operativos da
4-2
Interacção caligráfica ambígua em sistemas computacionais de modelação
Microsoft, desde o obsoleto Windows 3.11 até ao mais recente Windows XP. No
entanto, a interface gráfica com o utilizador – GUI1 – foi desenvolvida com o recurso
a um toolkit freeware designado por wxWindows [Smart], o qual se caracteriza pelo
facto de ser multi-plataforma, pelo que a conversão do software para outros ambientes
– UNIX, por exemplo – não oferece grandes dificuldades. Para isso também contribui
o facto de a API2 escolhida para estabelecer a ligação entre o hardware gráfico e o
software – OpenGL [SiliconGraphics] – ser independente da plataforma utilizada
[Woo99].
O sistema GIDeS inclui na sua arquitectura um núcleo geométrico quase completo. As
operações booleanas de objectos 3D – união e subtracção – são as únicas funcionalidades que não foram implementadas. Estas estão a cargo de um modelador de sólidos
freeware designado por IRIT [Elber], o qual é executado, sempre que necessário,
como um sub-processo do sistema GIDeS, com o qual comunica através da troca de
ficheiros contendo a descrição geométrica dos objectos a processar. Esta independência face ao núcleo geométrico facilitará a sua eventual substituição3 por outro mais
completo, fiável, ou dotado de compatibilidade com outras plataformas computacionais que não as da Microsoft.
A Figura 4-1 ilustra o aspecto da janela de trabalho do sistema GIDeS. Esta é constituída, em cima, por uma barra de menus e outra de ferramentas, que incluem as
opções para criar uma nova cena ou importar/exportar uma cena já existente de/para
1
Graphical User Interface.
2
Application Programming Interface.
3
Já efectuada na evolução GIDeS++ pelo kernel ACIS da Spatial Corp. [Spatial].
O protótipo GIDeS
4-3
um ficheiro em disco, os comandos de manipulação do clipboard 3D, uma opção que
permite alterar a cor dos objectos constituintes da cena, e as ajudas ao utilizador. Na
parte inferior da janela de trabalho é visível uma barra de estado que fornece algumas
informações úteis ao designer, tal como o factor de ampliação corrente.
Figura 4-1 – A janela de trabalho do sistema GIDeS
A grelha projectada no “chão” da cena (a cinzento na figura) melhora a percepção, por
parte do utilizador, do carácter tridimensional da área de trabalho. Esta inclui no seu
canto inferior esquerdo uma representação do sistema tridimensional de eixos coorde-
4-4
Interacção caligráfica ambígua em sistemas computacionais de modelação
nados, a qual pode assumir a cor verde (como se vê na figura) ou vermelha, consoante
o contexto em vigor permita ou não a construção de novos objectos4.
4.2 A interface caligráfica
A interacção no sistema GIDeS baseia-se, como já foi referido, na utilização de um
estilete e de um ecrã táctil em substituição do rato e do ecrã que é habitual encontrar
nas interfaces de manipulação directa. A acção do utilizador exerce-se sobre um único
botão localizado na extremidade do estilete5, pelo que não é possível, à partida,
determinar se os traços esboçados constituem simples elementos de desenho ou, pelo
contrário, instanciam comandos ou primitivas 3D. Isto tem como consequência que o
processamento dos referidos traços seja mais complexo do que o verificado noutras
interfaces gestuais. O problema foi resolvido dividindo o processo de reconhecimento
caligráfico em quatro etapas sucessivas – reconhecimento de comandos, primitivas
2D, primitivas 3D e operações booleanas, por esta ordem – estando a sua concretização a cargo de um conjunto de subsistemas dispostos sequencialmente numa arquitectura em cascata (Secções 1.1.3 e 3.2.1 dos Capítulos 1 e 3, respectivamente).
4.2.1 Arquitectura e funcionamento
As Figuras 4-2 e 4-3 ilustram, respectivamente, a arquitectura e o fluxograma do algoritmo subjacente ao processo de reconhecimento, o qual foi substancialmente aperfeiçoado desde a sua publicação em [Pereira00b].
4
A criação de uma primitiva 3D com base na informação 2D esboçada pelo utilizador torna-se impossível nas situações em que o posicionamento da câmara tem como consequência que um dos três eixos
coordenados seja perpendicular ao plano de projecção. A cor vermelha assumida pela representação do
sistema de eixos informa o utilizador desse estado de coisas.
5
Com a excepção das operações da câmara virtual, que recorrem ao botão lateral do dispositivo.
Opções
Forma
*
Listas de expectativas de
primitivas 2D
Suavidade
Reconhecimento de
primitivas 2D
Geometria
Listas de expectativas de
primitivas 3D
Topologia
Reconhecimento de
primitivas 3D
Figura 4-2 – Arquitectura do sistema de reconhecimento caligráfico
* Feedback de aprendizagem e adaptação ao utilizador
Listas de expectativas de
comandos
Módulo
n.º 2
Módulo
n.º 1
Traço
filtrado
Reconhecimento de
comandos
Grafo de desenho
Produto
escalar
Listas de expectativas de
operações booleanas
Sobreposição
Reconhecimento de
operações booleanas
Cena 3D
O protótipo GIDeS
4-5
4-6
Interacção caligráfica ambígua em sistemas computacionais de modelação
Início
Pré-processamento do
traço do utilizador
Reconhecimento
de comandos
Reconhecido?
S
N
S
Lista de expectativas
de comandos
N
Ambiguidade?
N
Aceitação?
S
Processamento
de gravidades
Reconhecimento de
primitivas de desenho
Execução
do comando
Fim
Lista de expectativas de
primitivas de desenho
Aceitação?
N
S
Introdução da primitiva
no grafo de desenho
Fim
Figura 4-3a – Processamento dos traços desenhados pelo utilizador
O protótipo GIDeS
Reconhecimento
de primitivas 3D
Reconhecida?
S
N
Lista de expectativas
de primitivas 3D
Fim
Aceitação?
S
N
Eliminação de traços
do grafo de desenho
Fim
Construção da
primitiva 3D
Colocação da primitiva
na cena 3D
S
Lista de expectativas de
operações booleanas
Operação
booleana?
N
Fim
S
Execução da
operação booleana
Aceitação?
N
Fim
Fim
Figura 4-3b – Processamento dos traços desenhados pelo utilizador (conclusão)
4-7
4-8
Interacção caligráfica ambígua em sistemas computacionais de modelação
Sempre que o utilizador desenha um novo traço, este começa por ser submetido a um
pré-processamento baseado em algoritmos de filtragem e de aproximação poligonal,
que o manipulam de modo a torná-lo adequado às etapas subsequentes do processo. O
traço resultante é, em seguida, passado ao primeiro subsistema de reconhecimento (o
conjunto composto pelos módulos n.º 1 e n.º 2 da Figura 4-2), o qual tenta classificálo como um gesto de comando. Se for bem sucedido, e na eventualidade de não ocorrer qualquer ambiguidade, o comando correspondente é executado. Havendo ambiguidade, é gerada uma lista de expectativas de comandos, a qual permite ao utilizador
seleccionar o comando pretendido ou rejeitar todas as sugestões. No primeiro caso, o
comando seleccionado é executado; no segundo, o sistema assume que o traço é um
elemento de desenho. Também são considerados elementos de desenho os traços cuja
tentativa de classificação como gestos de comando não tenha sido bem sucedida.
O traço é então objecto de uma análise gravitacional, a qual determina um eventual
ajustamento da sua geometria de modo a enquadrá-lo adequadamente no resto do
desenho.
O subsistema de reconhecimento de primitivas 2D começa por classificar o traço
como sendo suave ou anguloso. Na primeira categoria estão incluídos a circunferência, três tipos diferentes de elipses e linhas curvas genéricas. A segunda categoria
abrange os segmentos de recta e as linhas poligonais. É criada uma lista de expectativas de primitivas de desenho, a qual permite ao utilizador seleccionar o elemento pretendido ou, pelo contrário, rejeitá-los a todos. No primeiro caso, a primitiva escolhida
é introduzida no grafo de desenho do sistema.
Em seguida, o subgrafo constituído pelo traço em questão e por todos os traços que
lhe estão directa ou indirectamente ligados é objecto de uma análise topológica e
O protótipo GIDeS
4-9
geométrica, levada a cabo pelo subsistema de reconhecimento de primitivas 3D. Se
for bem sucedido, o sistema procede à construção de uma lista de expectativas composta pela primitiva (ou primitivas, em caso de ambiguidade) designada pelo processo
de reconhecimento. O utilizador pode ou não aceitar a sugestão do sistema, o qual, em
caso afirmativo, procede à eliminação no grafo de todos os traços que constam do
subgrafo em análise, e à construção e colocação da primitiva escolhida no espaço 3D.
Se a nova primitiva estiver em contacto com um objecto 3D já existente na cena, o
sistema tenta inferir a operação (ou operações, em caso de ambiguidade) booleana
adequada àquele par de objectos. É criada uma lista de expectativas de operações booleanas, sendo que o utilizador pode, tal como anteriormente, aceitar ou rejeitar a
sugestão do sistema, o qual, em caso de aceitação, efectua a operação seleccionada.
Na realidade, todo o processo de reconhecimento de traços vê a sua complexidade
acrescida pelo facto de serem permitidos gestos de comando compostos por mais do
que um traço. Isto obriga à existência, no sistema, de um buffer de armazenamento de
traços pendentes, de uma acção por omissão e de um mecanismo de gestão da lista de
expectativas de comandos.
A necessidade do buffer de armazenamento de traços pendentes advém do facto de,
por vezes, a reacção do sistema estar condicionada pela acção futura do utilizador, isto
é, existem situações em que o sistema só pode tomar uma decisão depois de o utilizador esboçar o traço seguinte.
A acção por omissão reflecte o comportamento do sistema nas situações em que a
resposta do utilizador não corresponde às expectativas. Inicialmente, a acção por
omissão consiste em interpretar o traço do utilizador como um elemento de desenho e
4-10
Interacção caligráfica ambígua em sistemas computacionais de modelação
não como um traço constituinte de um gesto de comando. Esta situação pode ser
objecto de alterações, como se verá mais adiante.
O mecanismo de gestão da lista de expectativas de comandos inclui uma estrutura de
dados que reflecte, em cada instante, a expectativa do sistema face à acção futura do
utilizador, na assunção de que este está a efectuar um gesto de comando. Inicialmente,
a estrutura contém todos os traços constituintes de todos os gestos de comando predefinidos no sistema. À medida que vão chegando mais traços, a referida estrutura vai
sendo actualizada em conformidade, até que ocorra uma de três situações possíveis:
•
A estrutura fique vazia: neste caso, o sistema opta por efectuar a acção por
omissão;
•
A estrutura fique reduzida a um único traço, o qual é parte integrante de um
único gesto de comando: neste caso, o sistema opta por executar o comando
associado ao referido gesto;
•
A estrutura fique reduzida a um único traço, o qual é parte integrante de dois
ou mais gestos de comando: neste caso estamos em presença de uma situação
de ambiguidade, e o sistema confronta o utilizador com uma lista de expectativas dos comandos em causa. Se o designer aceitar a sugestão do sistema, o
comando correspondente é executado. Caso contrário, é executada a acção por
omissão.
Assim que o sistema tiver tomado uma decisão, a acção por omissão e a estrutura de
dados associada à lista de expectativas de comandos retomam os seus valores iniciais
e o ciclo repete-se.
O protótipo GIDeS
4-11
O funcionamento de todo este sub-processo pode ser melhor compreendido se se considerar um exemplo em que existem apenas quatro gestos de comando: um gesto
composto por dois traços (designados por A e B) e três gestos constituídos, cada um,
por um traço (B, C e D). Note-se que o traço B é parte integrante de dois gestos de
comando (AB e B).
Tal como foi referido, a acção por omissão consiste, inicialmente, em interpretar os
traços do utilizador como elementos de desenho, e a estrutura de dados associada à
lista de expectativas de comandos é composta por todos os traços constituintes de
todos os gestos de comando (neste exemplo, os traços A, B, C e D). Sempre que o utilizador desenha um novo traço, este vai ser comparado com os elementos que constam
da referida estrutura. Considerem-se três cenários distintos:
•
O utilizador começa por desenhar o traço A. Neste caso, o sistema fica na
expectativa de o utilizador prosseguir com o desenho do traço B (isto é, a
estrutura passa a ser composta apenas pelo traço B). Se o utilizador corresponder à expectativa do sistema (isto é, se desenhar o traço B), o comando associado ao gesto AB é executado. Caso contrário, o sistema opta pela acção por
omissão, isto é, interpreta o traço A como um elemento de desenho;
•
O utilizador começa por desenhar o traço B. Neste caso, a acção por omissão
passa a ser a execução do comando associado ao gesto B e a lista de expectativas passa a ser composta apenas pelo traço A. Se o utilizador prosseguir, então,
com o desenho do traço A, o comando associado ao gesto AB é executado.
Caso contrário, o sistema opta pela acção por omissão, isto é, executa o
comando associado ao gesto B;
4-12
•
Interacção caligráfica ambígua em sistemas computacionais de modelação
O utilizador desenha um traço ambíguo, o qual foi reconhecido simultaneamente como sendo o traço C e o traço D. Neste caso, o sistema opta por apresentar ao utilizador a lista de expectativas dos comandos associados aos gestos
C e D. Se o utilizador aceitar uma das sugestões, o comando em causa é executado. Caso contrário, o traço é considerado um elemento de desenho (acção
por omissão).
4.2.2 Pré-processamento de traços
O processamento prévio dos traços desenhados pelo utilizador é a primeira e uma das
mais fundamentais etapas de qualquer sistema computacional baseado numa interface
caligráfica. Esta etapa tem como principal objectivo a eliminação da variabilidade e
da redundância, devidas ao ruído, que são inerentes aos referidos traços, e a consequente redução no volume de informação a ser processado nas etapas seguintes do
sistema de reconhecimento.
Barata efectuou na sua dissertação de Mestrado uma análise detalhada de muitos dos
algoritmos de pré-processamento de traços já desenvolvidos [Barata97]. Estes algoritmos dividem-se em três categorias fundamentais, a saber, filtragem poligonal, aproximação poligonal e segmentação.
4.2.2.1 Filtragem poligonal
Os algoritmos de filtragem poligonal têm como objectivo a eliminação, de forma
sequencial, dos pontos do traço original que são consequência do ruído inerente ao
processo de desenho. Um exemplo deste tipo de algoritmos é o desenvolvido por Wall
e Danielsson [Wall84].
O protótipo GIDeS
4-13
4.2.2.2 Aproximação poligonal
A finalidade dos algoritmos de aproximação poligonal consiste na eliminação dos
pontos do traço que são considerados redundantes e na consequente produção de uma
linha composta por segmentos de recta – linha poligonal. São algoritmos iterativos e
as aproximações obtidas baseiam-se em critérios de minimização local dos erros
cometidos. Como exemplos deste tipo de algoritmos temos o fit and split, desenvolvido por Duda e Hart [Duda73], um seu aperfeiçoamento, designado por split and merge e proposto por Pavlidis e Horowitz [Pavlidis74], e ainda o algoritmo desenvolvido
por Pikaz e Dinstein [Pikaz95].
4.2.2.3 Segmentação
Por último, os algoritmos de segmentação têm como propósito a determinação dos
pontos dominantes do traço. A definição de pontos dominantes deve-se a Attneave, o
qual constatou que os seres humanos baseiam a percepção visual do perfil de um traço
nos pontos em que a curvatura do mesmo é maior [Attneave54]. A esses pontos chamou Attneave pontos dominantes.
O critério utilizado nos algoritmos de segmentação baseia-se, por conseguinte, na
determinação da curvatura do traço em cada um dos seus pontos e na eliminação
daqueles para os quais o valor dessa curvatura não é um máximo local. São exemplos
deste tipo de algoritmos os desenvolvidos por Rosenfeld e Johnston [Rosenfeld73],
Rosenfeld e Weszka [Rosenfeld75], Freeman e Davis [Freeman77], Sankar e Sharma
[Sankar78], Anderson e Bezdek [Anderson84], Teh e Chin [Teh89], e Wang et al.
[Wang95], entre outros.
4-14
Interacção caligráfica ambígua em sistemas computacionais de modelação
É importante referir que o traço que decorre da utilização dos algoritmos de segmentação pode constituir uma má aproximação ao traço original esboçado pelo utilizador.
Com efeito, no caso de um traço particularmente suave, os pontos dominantes são em
número insuficiente para que o produto resultante do processo de segmentação possa
reproduzir de forma aceitável o traço original.
4.2.2.4 Pré-processamento de traços no sistema GIDeS
No que se refere ao protótipo GIDeS, e dada a diversidade dos múltiplos subsistemas
de reconhecimento gestual que este sistema comporta, o traço original do utilizador
necessita de ser antecipadamente processado de três maneiras distintas. Os três traços
resultantes deste pré-processamento têm, todos eles, características distintas.
4.2.2.4.1 Primeira versão: filtragem poligonal
A primeira versão de pré-processamento de traços consiste simplesmente numa filtragem do traço original, a qual elimina os pontos cuja distância aos pontos que os antecedem não seja superior a um determinado limite. Este é o processo de filtragem proposto por Rubine no seu algoritmo de reconhecimento gestual [Rubine91a], sendo que
o sistema GIDeS inclui uma versão aperfeiçoada deste algoritmo num dos seus módulos de reconhecimento de comandos (Secção 4.2.3).
4.2.2.4.2 Segunda versão: filtragem e aproximação poligonal genérica
A segunda versão de pré-processamento de traços tem como alvo o traço filtrado
resultante do procedimento anterior, o qual é submetido a uma versão simplificada do
algoritmo de aproximação poligonal designado por split and merge [Pavlidis74]. Este
algoritmo é composto por duas etapas.
O protótipo GIDeS
4-15
A primeira etapa, designada por split, mais não é do que o algoritmo de aproximação
poligonal desenvolvido por Duda e Hart [Duda73]. Consiste na subdivisão do traço
em segmentos de recta cujos pontos extremos coincidem com pontos do traço original. Quando o erro máximo de aproximação em termos de distância (εmax) deixa de ser
superior a um dado limite (εlimite), o processo de subdivisão pára. Como aproximação
inicial usa-se o segmento de recta que une as extremidades do traço original. A aproximação é feita com base no cálculo das distâncias, medidas na perpendicular, entre
os pontos originais e os segmentos de aproximação (Figura 4-4).
εmax
Aproximação inicial
1.ª iteração
2.ª iteração
3.ª iteração
εmax <= εlimite
Figura 4-4 – Exemplo de funcionamento da primeira etapa do algoritmo split and merge
A segunda etapa, denominada merge, consiste na fusão, dois a dois, de segmentos de
recta consecutivos, sempre que o erro inerente ao segmento resultante (ε) não seja
superior ao erro máximo admissível (εlimite) (Figura 4-5).
ε
ε
ε <= εlimite
Figura 4-5 – Exemplo de funcionamento da segunda etapa do algoritmo split and merge
O principal problema do algoritmo split and merge tem a ver com o facto de o seu
funcionamento estar dependente do valor atribuído ao parâmetro εlimite. Com efeito,
um valor que seja adequado para desenhar numa determinada escala, não o será para
escalas maiores ou menores. No sistema GIDeS este problema foi minorado fazendo
variar o valor do referido parâmetro em função do factor de ampliação que está em
vigor em cada instante:
4-16
Interacção caligráfica ambígua em sistemas computacionais de modelação
ε limite =
Eq. 4-1
ε0
z
em que ε0 é um parâmetro configurável e z é o factor de ampliação. O valor por omissão de ε0 é suficientemente baixo para que o pré-processamento do traço não seja
demasiado agressivo. Se o traço for posteriormente classificado como uma linha poligonal, este algoritmo é novamente invocado, desta vez com um valor mais elevado
para o parâmetro ε0, de modo a tomar em linha de conta a eventualidade de o designer
preferir um único segmento de recta à linha poligonal em questão. As diversas opções,
caso existam, são apresentadas ao utilizador sob a forma de uma lista de expectativas
de primitivas de desenho.
Na Figura 4-6 está representada uma dessas listas, sendo que as duas primeiras expectativas resultam da aplicação, com diferentes factores de agressividade, do algoritmo
de aproximação poligonal ao traço (representado a azul) esboçado pelo utilizador.
Figura 4-6 – Variação da agressividade do processo de aproximação poligonal
A primeira opção da lista (opção por omissão, identificada pelo fundo amarelo e a
moldura vermelha) corresponde a um baixo valor de ε0, pelo que a linha poligonal
resultante tem uma geometria muito próxima da do traço original. Na segunda alternativa, o valor do parâmetro ε0 é agora mais elevado, razão pela qual a linha poligonal
foi convertida num único segmento de recta. A terceira variação, uma linha suave, não
tem interesse no âmbito desta discussão.
O protótipo GIDeS
4-17
4.2.2.4.3 Terceira versão: filtragem e aproximação poligonal específica
A terceira e última versão de pré-processamento de traços destina-se apenas a ser usada aquando do reconhecimento do gesto partilhado pelos comandos de apagar e de
aplicar texturas (Figura 4-7).
Figura 4-7 – Gesto correspondente aos comandos de apagar e de aplicar texturas
Dada a especificidade do gesto (os ângulos entre segmentos adjacentes são muito
pequenos), o algoritmo split and merge não é adequado ao tratamento do traço que o
constitui, pelo que o pré-processamento está a cargo de um algoritmo específico que
procede à fusão, dois a dois, de segmentos de recta consecutivos, sempre que o ângulo
entre os mesmos não seja inferior a um determinado limite. Posteriormente, o gesto
correspondente a estes comandos foi objecto de uma remodelação6, pelo que a existência desta versão de pré-processamento de traços deixou de se justificar.
4.2.2.4.4 Segmentação
O módulo de pré-processamento de traços do sistema GIDeS não contempla nenhum
algoritmo de segmentação. Como já foi referido anteriormente, os algoritmos deste
tipo não têm por objectivo a preservação fiel do perfil do traço original, pelo que o
que decorre da sua utilização constitui uma má aproximação ao traço delineado pelo
utilizador. Esta peculiaridade é, obviamente, indesejável num sistema que tem no
desenho o seu principal paradigma de interacção.
6
Mais concretamente, o seu reconhecimento passou a estar a cargo da biblioteca CALI de componentes
para interfaces caligráficas [Fonseca00a] (Secção 2.14, Capítulo 2).
4-18
Interacção caligráfica ambígua em sistemas computacionais de modelação
4.2.3 Reconhecimento de comandos
O subsistema de reconhecimento de gestos de comando é, na realidade, composto por
dois módulos distintos que se complementam mutuamente.
O primeiro é uma versão aperfeiçoada do sistema de Rubine, um processo de reconhecimento de gestos susceptível de ser treinado por meio de exemplos [Rubine91a].
As alterações introduzidas visam quatro aspectos fundamentais [Pereira00b]:
•
Permitir o reconhecimento de gestos compostos por mais do que um traço. A
sequência pela qual o utilizador desenhar os diversos traços deverá ser irrelevante;
•
Tornar o reconhecimento insensível ao sentido dos traços desenhados pelo utilizador;
•
Condicionar o reconhecimento a outros aspectos que não os ligados à geometria dos traços;
•
Gerir ambiguidades.
Os dois primeiros aspectos são particularmente importantes, na medida em que conferem ao utilizador uma maior liberdade de desenho. Este não tem que se preocupar
nem com a ordem, nem com o sentido em que os diversos traços constituintes de um
gesto são desenhados. Isto vai de encontro às metodologias de desenvolvimento de
sistemas interactivos, em que o design da interface deve ter como base o ponto de vista do utilizador e não o do sistema [Hix93].
Rubine propõe um conjunto de onze características estáticas (de natureza geométrica)
e duas características cinemáticas (de cariz temporal) opcionais, usadas na classifica-
O protótipo GIDeS
4-19
ção dos gestos do utilizador. A Figura 4-8 ilustra estas características, bem como as
equações que as representam.
(xmax, ymax)
(xP-1, yP-1)
f5
(x2, y2)
β
α
(x0, y0)
θp
(xp+1, yp+1)
f3
(xp, yp)
(xp-1, yp-1)
f4
(xmin, ymin)
f1 = cos α =
x 2 − x0
( x 2 − x0 ) 2 + ( y 2 − y 0 ) 2
y2 − y0
f 2 = sin α =
P−2
( x 2 − x0 ) 2 + ( y 2 − y 0 ) 2
f 3 = ( x max − x min ) 2 + ( y max − y min ) 2
f 4 = arctan
y max − y min
x max − x min
f 5 = ( x P −1 − x0 ) + ( y P −1 − y 0 )
2
x − x0
f 6 = cos β = P −1
f5
f 7 = sin β =
y P −1 − y 0
f5
Sejam ∆x p = x p +1 − x p , ∆y p = y p +1 − y p
f 8 = ∑ ∆x 2p + ∆y 2p
p =0
Seja
θ p = arctan
P −2
∆x p ∆x p −1 − ∆y p ∆y p −1
P−2
f 9 = ∑θ p
f10 = ∑ θ p
p =1
2
∆x p ∆y p −1 − ∆x p −1∆y p
p =1
Seja ∆t p = t p +1 − t p
P−2
∆x 2p + ∆y 2p
p =0
∆t 2p
f12 = max
f13 = t P −1 − t0
Figura 4-8 – Características usadas na identificação dos traços
P−2
f11 = ∑θ p
p =1
2
4-20
Interacção caligráfica ambígua em sistemas computacionais de modelação
O traço desenhado pelo utilizador é descrito por um conjunto de P pontos, sendo que
cada ponto tem as coordenadas espaciais (xp, yp) e foi amostrado no instante de tempo
tp (0 ≤ p < P).
As características f1 e f2 descrevem, respectivamente, o co-seno e o seno do ângulo
inicial do traço; f3 e f4 representam, respectivamente, o comprimento e o ângulo da
diagonal do rectângulo envolvente; f5 quantifica o comprimento do segmento de recta
que une o primeiro ao último ponto do traço; f6 e f7 descrevem, respectivamente, o coseno e o seno do ângulo daquele segmento; f8 representa o comprimento total do traço; f9, f10 e f11 quantificam os somatórios, respectivamente, dos ângulos entre segmentos adjacentes, dos valores absolutos desses mesmos ângulos, e dos respectivos quadrados; por último, f12 descreve o quadrado da velocidade máxima de desenho do traço e f13 a sua duração temporal.
As características relacionadas com o ângulo original do traço (f1 e f2) são calculadas a
partir do primeiro e do terceiro pontos, e não do primeiro e do segundo, como seria de
esperar, porquanto a sensibilidade ao ruído é menor. A razão pela qual algumas das
características representam o co-seno e o seno de um determinado ângulo em vez da
magnitude do ângulo propriamente dito, tem a ver com a descontinuidade existente
naquela grandeza entre 2π e 0. A característica f11 permite diferenciar traços suaves de
traços angulosos (um “U” e um “V”, por exemplo).
No sistema GIDeS foram tomadas em linha de conta apenas as características geométricas, dado não ser desejável que o reconhecimento seja condicionado pela cinemática do processo de delineamento dos traços, a qual varia de forma significativa con-
O protótipo GIDeS
4-21
soante o utilizador7. Além disso, para que o módulo de reconhecimento possa lidar
com gestos compostos por mais do que um traço, foi acrescentado um segundo nível
de características geométricas, as quais consistem, para cada gesto, em pares de grandezas que representam as distâncias, medidas na horizontal e na vertical, entre os pontos médios dos rectângulos envolventes dos traços que compõem o gesto, tomados
dois a dois (Figura 4-9).
∆y
∆x
Figura 4-9 – Distâncias entre pares de traços constituintes do mesmo gesto
Foram, também, feitas pequenas modificações nas equações estatísticas propostas por
Rubine. As alterações prendem-se com a necessidade de tomar em consideração todos
os traços que compõem cada classe gestual.
Seja C o número de classes gestuais, Sc o número de traços que compõem a classe
gestual c, Ec o número de amostras de treino da classe gestual c, e F o número de
características usadas na identificação dos traços.
Seja fcesi a i-ésima característica do s-ésimo traço da e-ésima amostra de treino da
classe gestual c.
7
A consideração das características temporais do gesto pode, no entanto, ser aproveitada na ordenação
das listas de expectativas de primitivas de desenho (ver a Secção 6.1.5.1 do Capítulo 6).
4-22
Interacção caligráfica ambígua em sistemas computacionais de modelação
O vector médio de características para cada traço de cada classe é dado pela equação:
1
Ec
f csi =
Eq. 4-2
Ec −1
∑f
e=0
cesi
0 ≤ c < C, 0 ≤ s < Sc, 1 ≤ i ≤ F
A matriz de co-variância para cada traço de cada classe é dada pela equação:
Eq. 4-3
∑ csij =
Ec −1
∑( f
e=0
cesi
− f csi )( f cesj − f csj )
0 ≤ c < C, 0 ≤ s < Sc, 1 ≤ i, j ≤ F
A matriz de co-variância comum é dada pela equação:
C −1 S c −1
Eq. 4-4
∑ ij =
∑ ∑∑
csij
c =0 s =0
C −1
∑ (E
c =0
c
− 1) S c
1 ≤ i, j ≤ F
Os pesos de cada traço de cada classe são dados pelas equações:
F
Eq. 4-5
wcsj = ∑ (∑
i =1
Eq. 4-6
wcs 0
−1
) ij f csi
1 F
= − ∑ wcsi f csi
2 i =1
0 ≤ c < C, 0 ≤ s < Sc, 1 ≤ j ≤ F
Para tornar o reconhecimento insensível ao sentido de delineamento dos traços tentase, em primeiro lugar, classificar cada elemento no sentido originalmente desenhado
pelo utilizador. Se a classificação falhar, inverte-se o sentido do traço (isto é, o pri-
O protótipo GIDeS
4-23
meiro ponto do traço passa a ser o último, o segundo passa a ser o penúltimo, e assim
sucessivamente), após o que se tenta novamente a classificação.
Para lidar com ambiguidades, o processo de Rubine de classificação de gestos teve de
sofrer algumas alterações.
Rubine começa por usar uma equação que permite calcular, para cada classe gestual c,
uma grandeza designada por vc. A classificação do gesto g do utilizador consiste simplesmente na determinação do c para o qual vc é máximo. Em seguida, calcula uma
estimativa P(c|g) da probabilidade de g ter sido classificado correctamente, bem como
uma grandeza δ2, designada por distância de Mahalanobis [Duda73]. O gesto será
rejeitado se P(c|g) < 0.95 ou se δ2 > F2 / 2.
No caso desta versão, começa-se por calcular para cada traço s de cada classe c a distância de Mahalanobis, dada pela equação:
F
Eq. 4-7
F
δ cs 2 = ∑∑ (∑
i =1 j =1
−1
) ij ( f i − f csi )( f j − f csj )
0 ≤ c < C, 0 ≤ s < Sc
eliminando como candidatos todos os traços para os quais δcs2 > F2 / 2. Em seguida,
calculamos para todos os candidatos que restam a grandeza vcs dada pela equação:
F
Eq. 4-8
vcs = wcs 0 + ∑ wcsi f i
i =1
0 ≤ c < C, 0 ≤ s < Sc
Com base nestas grandezas, calculamos para cada um dos candidatos uma estimativa
P(cs|g) da probabilidade de o referido candidato corresponder ao gesto g do utilizador:
4-24
Interacção caligráfica ambígua em sistemas computacionais de modelação
P (cs | g ) =
Eq. 4-9
1
C −1 S i −1
∑∑e
( vij − vcs )
i =0 j =0
0 ≤ c < C, 0 ≤ s < Sc
Com base nestas estimativas de probabilidades, a aceitação ou rejeição dos traços
candidatos é feita de acordo com o seguinte critério:
•
Se existir um candidato com probabilidade P ≥ 0.95, o candidato é aceite e
todos os outros são rejeitados (neste caso, não há lugar a qualquer ambiguidade);
•
Se tal não acontecer, e se existirem dois candidatos, cada um dos quais com
probabilidade P ≥ 0.95 / 2, os dois candidatos são aceites (ambiguidade) e os
restantes rejeitados;
•
Se tal não acontecer, e se existirem três candidatos, cada um dos quais com
probabilidade P ≥ 0.95 / 3, os três candidatos são aceites (ambiguidade, mais
uma vez) e os restantes são rejeitados;
•
E assim sucessivamente.
A última etapa no processo de selecção dos traços candidatos tem como objectivo
condicionar a aceitação dos mesmos a outros factores que têm a ver, não com a configuração geométrica dos traços, mas com o contexto em que foram esboçados (por
exemplo, o reconhecimento ou não de um determinado gesto de comando pode estar
dependente de o traço que o compõe ter ou não ter sido esboçado sobre um qualquer
objecto 3D existente na cena). A execução desta etapa está a cargo de uma função do
programa onde estão codificados, para cada um dos traços constituintes de cada gesto
de comando, os procedimentos de teste que estabelecem os critérios da sua aceitação.
O protótipo GIDeS
4-25
O segundo módulo de classificação de gestos de comando serve de complemento à
versão aperfeiçoada do algoritmo de reconhecimento de Rubine. Neste caso, a definição dos gestos não é feita com base em amostras de treino, tendo cada gesto o seu
próprio algoritmo de classificação, o qual permite, para cada caso, tornar o processo
de reconhecimento sensível ou não às transformações geométricas, bem como classificar gestos dotados de características geométricas variáveis.
Por exemplo, o gesto associado ao comando de selecção de objectos não tem uma
forma geométrica bem definida, dado que esta varia consoante a disposição dos referidos objectos na janela de trabalho. A classificação deste gesto em particular tem
como base a determinação das características geométricas das extremidades do traço,
as quais devem ser aproximadamente rectilíneas e têm necessariamente de se intersectar (Figura 4-10). Outros gestos serão classificados com base noutros conjuntos distintos de características geométricas. Estas peculiaridades implicam que o gesto de
selecção, entre outros, não seja passível de ser classificado pela versão aperfeiçoada
do algoritmo de reconhecimento de Rubine, dado que a mesma, pelo facto de não
considerar cada gesto como um caso particular, não tem a flexibilidade necessária
para resolver este tipo de situações.
Figura 4-10 – Gesto correspondente ao comando de selecção de objectos
Os aspectos já referidos anteriormente aquando da descrição do primeiro módulo de
classificação de gestos de comando também se aplicam a este, nomeadamente o reconhecimento de gestos compostos por mais do que um traço, a independência face à
4-26
Interacção caligráfica ambígua em sistemas computacionais de modelação
ordem segundo a qual os diversos traços são desenhados, a insensibilidade do processo de reconhecimento ao sentido em que o utilizador esboça cada um dos traços, o
condicionamento do reconhecimento a outros factores que não os ligados à geometria
dos traços e a aptidão para lidar com ambiguidades.
4.2.4 Análise gravitacional de elementos de desenho
Uma vez concluído o pré-processamento, os traços esboçados pelo utilizador que não
foram classificados como componentes de um gesto de comando são considerados
elementos de desenho e objecto de uma análise gravitacional. Este procedimento
examina o traço no contexto da totalidade da cena e procede, em conformidade, a
eventuais ajustamentos na sua forma, posição dimensão e orientação.
A utilização de efeitos gravitacionais em sistemas computacionais de apoio ao design
é sempre delicada, na medida em que, se por um lado, estes efeitos constituem uma
poderosa ajuda ao utilizador no processo de desenhar com precisão, por outro lado são
intrinsecamente intrusivos e podem condicionar em demasia a liberdade do designer.
De entre as metodologias existentes na aplicação de efeitos gravitacionais, uma das
mais frequentemente utilizadas em sistemas de CAD consiste na imposição de restrições ao movimento do cursor8. Este método não foi tido em consideração no caso do
sistema GIDeS, por duas razões fundamentais: intromete-se na própria acção do utilizador, restringindo os movimentos que lhe são permitidos, e afasta-se da metáfora do
papel e lápis. Com efeito, o acto de desenhar é um processo contínuo por natureza, e
8
É frequente encontrar dois tipos de restrições: a quantificação do movimento do cursor imposta por
uma grelha rectangular ou isométrica de pontos, e o condicionamento da direcção de movimento do
mesmo a certas direcções privilegiadas como sejam a horizontal e a vertical, ou as direcções correspondentes às projecções no plano de visualização dos eixos coordenados do espaço tridimensional.
O protótipo GIDeS
4-27
condicionar o movimento do cursor equivale a impor, de uma forma artificial, descontinuidades a este processo.
Uma forma alternativa de utilização de efeitos gravitacionais consiste em actuar a
posteriori, isto é, o sistema não intervém ao nível do movimento do cursor, aguardando até que o traço esteja concluído, e procedendo então à análise gravitacional do
mesmo. Esta metodologia, ao contrário da anterior, tem a vantagem de não interferir
com o processo de desenho propriamente dito, permitindo que o designer esboce os
traços sem restrições, à semelhança do que acontece com o papel e lápis. Existe, no
entanto, uma intromissão a posteriori a qual, se não for devidamente tida em consideração, pode frustrar as expectativas do utilizador.
A dificuldade tem a ver com a escolha dos parâmetros que determinam a maior ou
menor agressividade do módulo de análise gravitacional. Baixos valores das constantes gravitacionais têm a vantagem de reduzir o grau de intrusão por parte do sistema,
mas em contrapartida exigem grande precisão da parte do designer quando este pretende, por exemplo, fechar uma linha ou traçar um segmento de recta com uma direcção privilegiada. No outro extremo da escala, o uso de constantes gravitacionais de
valor elevado confere um maior grau de assistência ao utilizador, exigindo uma menor
precisão no desenho do traço, mas o consequente aumento na agressividade do sistema pode levar a efeitos indesejáveis como acontece, por exemplo, quando o designer
pretende esboçar uma linha aberta cujas extremidades estão, no entanto, muito perto
uma da outra, ou um segmento de recta cuja orientação é bastante próxima, mas não
obstante distinta, de uma dada direcção privilegiada. A escolha de valores intermédios
para as constantes gravitacionais constitui, pois, uma solução de compromisso, a qual
traz consigo não só as vantagens, mas também os inconvenientes atrás referidos.
4-28
Interacção caligráfica ambígua em sistemas computacionais de modelação
No sistema GIDeS este conflito foi minimizado com o recurso a uma prática semelhante à que foi adoptada no módulo de pré-processamento de traços, mais precisamente na selecção do valor adequado para o parâmetro do algoritmo de aproximação
poligonal (Secção 4.2.2.4.2). Em primeiro lugar, a grandeza do parâmetro de gravidade linear (gl)9 é inversamente proporcional ao factor de ampliação em vigor em cada
instante:
Eq. 4-10
gl =
g0
z
em que g0 é um parâmetro configurável e z é o factor de ampliação. Em segundo
lugar, e caso o traço venha a ser posteriormente classificado como um segmento de
recta, é efectuada uma nova análise gravitacional, desta vez com um valor mais elevado para os parâmetros gravitacionais linear e angular, de modo a tomar em linha de
conta outras opções, as quais, se existirem, serão apresentadas ao utilizador sob a
forma de uma lista de expectativas de primitivas de desenho.
Figura 4-11 – Variação da agressividade do processo de análise gravitacional
Na Figura 4-11 está representado um exemplo concreto desta situação, sendo que as
duas expectativas da lista são o resultado da aplicação ao traço (representado a azul),
de diferentes valores do parâmetro de gravidade angular (ga).
9
Os efeitos gravitacionais dividem-se em duas componentes fundamentais: gravidade linear e angular.
A componente linear determina a atracção de um ponto por outro que lhe esteja suficientemente próximo. A componente angular é responsável pela reorientação de um segmento de recta segundo uma dada
direcção privilegiada.
O protótipo GIDeS
4-29
A primeira opção da lista (opção por omissão, identificada pelo fundo amarelo e a
moldura vermelha) corresponde a um baixo valor de ga, pelo que o segmento de recta
resultante tem uma orientação idêntica à do traço original. A segunda alternativa é
fruto de um valor mais elevado desse mesmo parâmetro, e o segmento de recta foi
agora reorientado de forma a assumir a direcção privilegiada mais próxima (horizontal, neste exemplo).
O módulo de análise gravitacional do sistema GIDeS não se limita a relacionar o traço
acabado de esboçar com os restantes elementos de desenho existentes no grafo. O traço é também confrontado consigo próprio, num processo que se poderá designar por
autogravidade10. Esta particularidade tem a vantagem de tornar o sistema pouco sensível ao estilo de desenho próprio de cada utilizador, na medida em que os resultados
obtidos são quase sempre os mesmos, independentemente de o designer optar por
esboçar traços pequenos em número elevado, ou traços mais extensos e em número
mais reduzido. A Figura 4-12 ilustra esta situação. É indiferente se o utilizador desenha um só traço com início no ponto P0 e fim no ponto P5, ou dois traços, o primeiro
de P0 a P1 e o segundo de P1 a P5. Em ambas as circunstâncias o ponto P5 está sob o
domínio gravitacional de P1, embora este ponto esteja armazenado no buffer de traços
pendentes, no primeiro caso, e no grafo de desenho, no segundo.
A insensibilidade do sistema não é, no entanto, total, devido ao facto de os efeitos gravitacionais actuarem unicamente sobre os pontos do traço armazenado no buffer, e
nunca sobre os pontos dos elementos de desenho previamente inseridos no grafo. No
10
Recorde-se que, no momento em que é feita a análise gravitacional, o traço ainda não foi inserido no
grafo de desenho, estando provisoriamente armazenado no buffer de traços pendentes (Secção 4.2.1).
4-30
Interacção caligráfica ambígua em sistemas computacionais de modelação
exemplo da Figura 4-12, para que o polígono P1P2P3P4P5 seja um rectângulo perfeito
(em projecção, claro está), é necessário que os segmentos P3P4 e P4P5 sejam esboçados em conjunto, caso contrário o ponto P4 estará já armazenado no grafo e não poderá ser objecto dos ajustamentos necessários à construção do referido polígono.
P4
P3
P5
P1
P2
P0
Figura 4-12 – Comportamento do sistema face a diferentes estilos de desenho
Esta dependência parcial da forma como o utilizador desenha os diversos traços, se
bem que possa parecer contraproducente à primeira vista, traz consigo um importante
benefício. Com efeito, o designer tem agora a possibilidade de controlar eficazmente
o módulo de análise gravitacional de modo a construir com rigor os polígonos mais
frequentemente utilizados, como sejam rectângulos e quadrados. O autor reconhece,
no entanto, que a forma de os construir não é muito óbvia, só estando ao alcance de
utilizadores mais experientes, devidamente familiarizados com estas peculiaridades.
A análise gravitacional efectuada pelo sistema GIDeS varia consoante os diferentes
tipos de primitivas de desenho disponíveis.
4.2.4.1 Linhas angulosas
As primitivas angulosas – segmentos de recta e linhas poligonais – resultam da versão
do traço que foi pré-processada ao nível da filtragem e da aproximação poligonal
O protótipo GIDeS
4-31
genérica (a versão descrita na Secção 4.2.2.4.2). Este traço é objecto de uma análise
gravitacional composta por várias etapas.
4.2.4.1.1 Gravidade linear
As duas primeiras etapas constituem a componente linear da análise gravitacional.
Recorde-se que esta componente é responsável pela atracção de um ponto por outro
que lhe esteja suficientemente próximo.
4.2.4.1.1.1 Gravidade de pontos e vértices
Na primeira etapa é medida a distância entre cada um dos pontos do traço e os restantes pontos do desenho11. Caso o mesmo esteja situado sobre a projecção, no plano de
visualização, de uma face de um objecto 3D eventualmente existente na cena, também
é avaliada a distância desse ponto a cada um dos vértices da referida face12. A menor
das distâncias é, então, comparada com o valor do parâmetro de gravidade linear (gl)
definido na Eq. 4-10 e, caso este valor não seja excedido, tem lugar a atracção do ponto em análise pelo ponto ou vértice que lhe está mais próximo.
4.2.4.1.1.2 Gravidade de segmentos de recta e arestas
Caso a primeira etapa não tenha sido bem sucedida, tem lugar uma segunda fase na
qual é determinada a distância, medida na perpendicular, entre cada um dos pontos do
11
Recorde-se que o traço, não obstante não estar ainda inserido no grafo de desenho do sistema, é considerado desde já parte integrante do desenho, pelo que é necessário ter também em consideração os
seus próprios pontos (autogravidade).
12
Este procedimento é, na realidade, mais delicado do que parece à primeira vista, uma vez que o sistema GIDeS permite a construção de objectos complexos providos de faces côncavas, as quais consistem num arranjo de polígonos convexos justapostos. Este tipo de faces tem, por conseguinte, vértices e
arestas reais (os vértices e arestas da periferia da face) e fictícios (os vértices e arestas internos à face,
fruto da divisão da mesma nos polígonos que a constituem). Obviamente, apenas os elementos reais
devem ser tidos em conta no âmbito da análise gravitacional.
4-32
Interacção caligráfica ambígua em sistemas computacionais de modelação
traço e os segmentos de recta do desenho. Se o mesmo estiver situado sobre a projecção de uma face de um objecto 3D, também é avaliada a distância desse ponto a cada
uma das arestas da referida face13. Caso a menor das distâncias não seja superior ao
valor do parâmetro gl tem lugar a atracção do ponto em causa pelo segmento ou aresta
mais próximo.
4.2.4.1.2 Gravidade angular
A terceira e última etapa do processo de análise gravitacional (a componente angular)
é responsável pela eventual reorientação de um segmento de recta de modo a que este
assuma uma direcção privilegiada. No sistema GIDeS são contemplados dois tipos de
direcções privilegiadas:
•
As direcções dos eixos coordenados do plano de visualização, isto é, a horizontal e a vertical (gravidade angular 2D).
•
As direcções correspondentes às projecções no plano de visualização dos eixos
coordenados do espaço tridimensional (gravidade angular 3D).
Nesta fase procede-se à determinação do ângulo entre cada um dos segmentos de recta
constituintes do traço e cada uma das direcções privilegiadas em vigor naquele instante14. Se o menor destes ângulos não exceder o valor do parâmetro de gravidade angular (ga) referido anteriormente, o sistema procede à reorientação do segmento em
questão segundo a direcção privilegiada mais próxima.
13
14
Ver a nota de rodapé 12, na página 4-31 deste capítulo.
O sistema GIDeS permite ao utilizador modificar arbitrariamente os ângulos de observação da cena,
pelo que é necessário ter em conta as situações em que um dos eixos coordenados do espaço tridimensional é perpendicular ao plano de visualização. Nestas circunstâncias, a projecção do eixo no plano
reduz-se a um ponto, pelo que não faz sentido falar de uma direcção privilegiada.
O protótipo GIDeS
4-33
A reorientação é efectuada reajustando a posição de um ou de outro dos pontos
extremos do segmento, de acordo com o grau de liberdade de cada um deles. O processo de análise gravitacional linear descrito na Secção 4.2.4.1.1 classifica cada um
dos pontos do traço da seguinte maneira:
•
Pontos livres: os pontos que não tenham sido objecto de qualquer efeito gravitacional linear. Podem ser livremente reajustados;
•
Pontos fixos: os pontos que foram atraídos por outros pontos ou vértices existentes na cena, tal como foi descrito na Secção 4.2.4.1.1.1. Não podem ser reajustados;
•
Pontos semi-livres: os pontos que foram atraídos por segmentos de recta ou
arestas existentes na cena, de acordo com o que foi que foi exposto na Secção
4.2.4.1.1.2. Podem ser reajustados, mas apenas ao longo do segmento ou aresta responsável pela atracção.
1
2
3
4
5
6
7
8
9
Ponto inicial
livre
livre
livre
fixo
fixo
fixo
semi-livre
semi-livre
semi-livre
Ponto final
livre
fixo
semi-livre
livre
fixo
semi-livre
livre
fixo
semi-livre
Ponto reajustado
final
inicial
inicial
final
nenhum
final
final
inicial
final
Tabela 4-1 – Critério utilizado na reorientação de um segmento de recta
Na Tabela 4-1 pode observar-se o critério adoptado na selecção do ponto do segmento
que vai sofrer um reajustamento. Só os pontos livres e semi-livres são susceptíveis de
ser reajustados, e os primeiros têm prioridade sobre os segundos. Nas situações em
que ambos os pontos têm o mesmo estatuto, é dada preferência ao ponto final, a
4-34
Interacção caligráfica ambígua em sistemas computacionais de modelação
menos que sejam fixos (linha 5 da tabela), caso em que a reorientação do segmento
fica sem efeito.
Os pontos iniciais referenciados como livres nas linhas 2 e 3 da Tabela 4-1 podem,
sob determinadas circunstâncias, ser rotulados de semi-livres. Com efeito, se o segmento em análise não for o primeiro segmento do traço, o ponto inicial do segmento é
simultaneamente o ponto final do segmento anterior, pelo que o ponto, a não ser fixo,
será classificado como semi-livre e poderá apenas ser reajustado ao longo da linha
recta a que o segmento pertence 15.
4.2.4.2 Linhas suaves
A análise gravitacional efectuada às primitivas suaves varia consoante a sua natureza:
regular, no caso das circunferências e elipses, ou de contornos livres, no caso das
linhas curvas genéricas.
4.2.4.2.1 Circunferências e elipses
As linhas suaves classificadas como circunferências ou elipses são objecto de uma
análise gravitacional exclusiva, composta por várias fases.
4.2.4.2.1.1 Gravidade sobre o centro da primitiva
A primeira etapa consiste numa análise gravitacional linear do centro da primitiva.
Este será atraído para o ponto do desenho ou vértice de um objecto 3D que estiver
15
Ao longo da linha recta a que o segmento pertence e não ao longo do segmento de recta propriamente
dito. Ou seja, o ponto, ao ser reajustado, pode eventualmente exceder os limites do segmento, sendo a
extensão do mesmo alterada em conformidade. Esta pequena diferença em relação aos pontos semilivres descritos anteriormente tem a ver com o facto de o segmento que impõe restrições ao reajustamento do ponto não ter sido ainda inserido no grafo de desenho, pelo que é possível, caso seja necessário, modificar o seu comprimento.
O protótipo GIDeS
4-35
mais próximo, caso a distância ao mesmo não seja superior ao valor do parâmetro de
gravidade linear (gl) referido anteriormente.
Caso a primeira fase não tenha tido consequências é avaliada a possibilidade de o centro da primitiva estar sob a influência gravitacional do centro geométrico de uma face
de um objecto. Se estiver, não só o centro da primitiva é atraído para o da referida
face, como ainda tem lugar uma análise gravitacional radial, na qual o raio da circunferência – ou, no caso das elipses, o raio da circunferência de que a elipse é uma projecção – é comparado com a distância média dos vértices da face ao centro geométrico da mesma (Figura 4-13). Se isto não acontecer, é ainda encarada a possibilidade de
o raio da circunferência ter um valor próximo da distância média que separa os pontos
médios das arestas do centro geométrico da face. (Figura 4-14).
Figura 4-13 – Gravidade radial externa
Figura 4-14 – Gravidade radial interna
4.2.4.2.1.2 Gravidade sobre os pontos virtuais constituintes da primitiva
Nas situações em que o centro da primitiva não é objecto de nenhuma atracção, tem
lugar um processo de análise gravitacional linear, semelhante ao descrito na Secção
4-36
Interacção caligráfica ambígua em sistemas computacionais de modelação
4.2.4.1.1.1, entre os pontos virtuais que constituem a primitiva16 e os restantes pontos
do desenho. Em caso de insucesso é considerada a atracção gravitacional por parte
dos segmentos de recta que compõem o desenho, num processo análogo ao descrito
na Secção 4.2.4.1.1.2.
4.2.4.2.2 Linhas curvas genéricas
As linhas curvas genéricas são convertidas pelo sistema GIDeS em splines cúbicas
construídas a partir do traço resultante dos procedimentos de filtragem e aproximação
poligonal genérica descritos na Secção 4.2.2.4.2. Para além da análise gravitacional a
que o referido traço é submetido (Secção 4.2.4.1), nenhum processo deste tipo é aplicado à spline propriamente dita, de modo a não distorcer a sua forma.
4.2.5 Reconhecimento de primitivas de desenho
Como já é sabido, o sistema GIDeS reconhece duas classes de primitivas de desenho:
linhas suaves e angulosas. As primeiras incluem a circunferência, três tipos de elipses
e linhas curvas genéricas (convertidas pelo sistema em splines cúbicas), podendo estas
últimas ser abertas ou fechadas. As linhas angulosas incluem o segmento de recta e as
linhas poligonais (polylines), as quais podem, de igual modo, ser abertas ou fechadas.
A distinção entre primitivas suaves e angulosas é feita mediante a comparação do traço original do utilizador com a linha poligonal resultante do módulo de préprocessamento de traços (Secção 4.2.2) e com a spline cúbica gerada com base nessa
mesma linha poligonal. A comparação consiste, para cada ponto constituinte do traço
original, na medição do erro, em termos de distância, entre o traço do utilizador e a
16
Não obstante a primitiva ser suave, ela é na realidade representada por um conjunto de pequenos
segmentos de recta adjacentes. Os pontos virtuais são os extremos destes segmentos.
O protótipo GIDeS
4-37
polyline, por um lado, e entre o traço e a spline, por outro. O processo é, na realidade,
um pouco mais complexo, na medida em que os três traços são compostos por números diferentes de pontos, o que obriga à realização de interpolações.
Sejam εp e εs os somatórios dos erros resultantes da comparação do traço do utilizador
com a polyline e com a spline, respectivamente. As equações que se seguem permitem
calcular uma estimativa da probabilidade de o traço do utilizador ser anguloso (pp) ou
suave (ps). De notar que 0 ≤ pp, ps ≤ 1 e que pp + ps = 1.
Eq. 4-11
pp =
εs
ε p +εs
Eq. 4-12
ps =
εp
ε p + εs
A maneira mais simples de proceder à classificação do traço consiste em comparar o
valor de pp (ou de ps, se assim se preferir) com um limiar preestabelecido (tipicamente
0.5). Se o valor de pp estiver aquém do referido limiar (pp < 0.5), o traço é classificado
como uma linha suave; caso contrário (pp ≥ 0.5) o sistema decide-se pelo traço anguloso.
No caso do sistema GIDeS optou-se, no entanto, pelo desenvolvimento de um processo de classificação um pouco mais elaborado. Pretendia-se que o subsistema de reconhecimento estivesse habilitado a aprender à custa dos seus próprios erros, autocorrigindo-se e, por conseguinte, adaptando-se aos diferentes estilos de desenho dos diferentes utilizadores do sistema. A diferença em relação ao critério anterior reside no
facto de o limiar de decisão não ser estabelecido de antemão, podendo, pelo contrário,
variar em função do número de erros anteriormente cometidos pelo sistema aquando
da classificação do traço:
4-38
Interacção caligráfica ambígua em sistemas computacionais de modelação
plimiar =
Eq. 4-13
1
ns + 1
+1
np +1
em que ns e np representam o número de vezes em que o traço do utilizador foi erradamente classificado, respectivamente, como sendo suave e anguloso, e plimiar é o já
mencionado limiar de decisão. Consoante o valor de pp é ou não inferior ao de plimiar,
o traço é encarado, respectivamente, como sendo uma linha suave ou angulosa.
Foram várias as premissas que levaram à dedução desta equação, a saber:
•
A equação deveria ser tão simples quanto possível, de modo a que pudesse ser
calculada de forma rápida e eficiente. Com efeito, o cálculo de plimiar implica
apenas a realização de cinco operações aritméticas simples (três adições e duas
divisões). Duas das adições não necessitam, na verdade, de ser efectuadas, na
medida em que o valor inicial atribuído aos contadores associados aos parâmetros np e ns é um e não zero;
•
Para que o mecanismo de classificação se corrigisse a si próprio, seria necessário que o valor de plimiar tendesse para zero quando ns >> np e para um quando
np >> ns;
•
O critério de classificação deveria ser neutro nos casos em que o número de
erros cometidos quer para um lado, quer para o outro, fosse igual. Com efeito,
da análise da equação pode-se verificar que plimiar = 0.5 sempre que np = ns;
•
O valor do limiar de decisão deveria convergir rapidamente para o valor mais
adequado ao estilo individual de desenho de cada utilizador. Isto significa que
a amplitude das variações desse limiar deveria ser significativa nos casos em
que o número de erros cometidos fosse ainda pequeno, tendendo a estabilizar à
O protótipo GIDeS
4-39
medida que esse número fosse aumentando. Com efeito, se analisarmos as
derivadas parciais de plimiar em relação a ns e a np:
Eq. 4-14
np +1
∂plimiar
=−
2
∂n s
(n s + 1) + (n p + 1)
Eq. 4-15
∂plimiar
ns + 1
=
2
∂n p
(ns + 1) + (n p + 1)
[
[
]
]
verificamos que as mesmas são inversamente proporcionais ao quadrado do
número de erros, ou seja o seu valor absoluto é elevado para uma ocorrência
de erros reduzida, e vice-versa.
É importante salientar que o processo de avaliação da suavidade do traço não restringe
as opções do utilizador, limitando-se a condicionar a ordem pela qual os diferentes
tipos de traços aparecem na lista de expectativas de primitivas de desenho, bem como
a opção seleccionada por omissão. O utilizador é livre de optar pelo traço que melhor
servir os seus intentos, sendo com base na sua decisão que o sistema verifica o sucesso ou insucesso da classificação efectuada e procede à actualização dos parâmetros ns
e np.
a) traço suave
b) traço anguloso
Figura 4-15 – Listas de expectativas de primitivas de desenho
A Figura 4-15 ilustra as listas de expectativas correspondentes a traços (representados
a azul) classificados como suaves (Figura 4-15a) e angulosos (Figura 4-15b). De
4-40
Interacção caligráfica ambígua em sistemas computacionais de modelação
salientar, para cada caso, a ordem segundo a qual as primitivas estão dispostas na lista
e a opção por omissão (identificada pelo fundo amarelo e a moldura vermelha).
4.2.5.1 Linhas angulosas
As primitivas angulosas – segmentos de recta e linhas poligonais – colocadas à disposição do designer são o resultado natural da aplicação ao traço do utilizador dos procedimentos de filtragem e aproximação poligonal descritos na Secção 4.2.2. Um
mecanismo de análise gravitacional compara a primitiva em questão com os demais
componentes do desenho, efectuando, se for caso disso, ajustamentos na sua geometria (Secção 4.2.4). Uma vez classificado como anguloso, o traço em questão é novamente processado ao nível da aproximação poligonal e da análise gravitacional, desta
vez de uma forma mais agressiva, com vista a ter em conta outras alternativas que
possam eventualmente ser mais adequadas à intenção do utilizador. A Figura 4-16
ilustra uma lista de quatro expectativas de primitivas de desenho, das quais três são
diferentes variações de primitivas angulosas geradas a partir do traço (representado a
azul) esboçado pelo utilizador.
Figura 4-16 – Diferentes variações de primitivas angulosas de desenho
Repare-se que o traço foi classificado como sendo anguloso, uma vez que as primitivas angulosas precedem a primitiva suave na lista de expectativas. A primeira opção
da lista (opção por omissão, identificada pelo fundo amarelo e a moldura vermelha)
consiste numa linha poligonal composta por dois segmentos de recta, muito próxima,
na sua geometria, do traço original. A segunda alternativa é fruto de uma aplicação
mais agressiva do procedimento de aproximação poligonal, o qual resultou na conver-
O protótipo GIDeS
4-41
são da linha poligonal num único segmento de recta. A terceira variação é consequência de uma aplicação mais agressiva do mecanismo de análise gravitacional, o qual,
neste exemplo, reorientou o segmento de recta no sentido de o tornar paralelo à projecção no plano de visualização de um dos eixos coordenados do espaço tridimensional.
É importante salientar que todo este processo não está preestabelecido, sendo, pelo
contrário, dependente do contexto de utilização. Tivesse o designer esboçado um traço
substancialmente mais anguloso do que o ilustrado na Figura 4-16 e a segunda expectativa não teria sido criada, ou tivesse o segmento de recta da segunda expectativa
uma orientação de tal forma discordante das orientações dos eixos principais e a terceira alternativa não teria sido contemplada.
4.2.5.2 Linhas suaves
Uma vez classificado como suave, o traço esboçado pelo utilizador é submetido a uma
análise geométrica que tem como objectivo identificar as regularidades características
das circunferências e elipses. Independentemente do sucesso ou insucesso desta tentativa de reconhecimento, o traço é também processado como se de uma linha curva
genérica se tratasse, procedendo o sistema à construção da spline cúbica que melhor
se adapta à geometria quer do traço propriamente dito, quer dos elementos de desenho
existentes na sua proximidade.
4.2.5.2.1 Circunferências
O módulo de reconhecimento de circunferências começa por verificar se o traço desenhado pelo utilizador é fechado. Por traço fechado entende-se um traço para o qual a
distância entre os pontos inicial e final não é superior a um determinado limite.
4-42
Interacção caligráfica ambígua em sistemas computacionais de modelação
Em seguida, o sistema calcula as coordenadas do centro da hipotética circunferência,
com base na média das coordenadas de todos os pontos que constituem o traço:
Eq. 4-16
x0 =
1 n
∑ xi
n i =1
Eq. 4-17
y0 =
1 n
∑ yi
n i =1
em que n é o número de pontos do traço; xi e yi são as coordenadas dos referidos pontos; x0 e y0 são as coordenadas do centro.
Segue-se a determinação do raio da eventual circunferência, com base na média das
distâncias dos diversos pontos do traço ao centro da primitiva:
Eq. 4-18
r=
1 n
( xi − x0 ) 2 + ( y i − y 0 ) 2
∑
n i =1
em que r é o raio da circunferência.
Por último, verifica-se se o erro relativo da distância dos diversos pontos do traço ao
centro da circunferência não é superior a um determinado limite k:
Eq. 4-19
( xi − x 0 ) 2 + ( y i − y 0 ) 2
r
−1 ≤ k
1≤i≤n
4.2.5.2.2 Elipses
O sistema GIDeS reconhece os três tipos de elipses que correspondem à projecção, no
plano de visualização, de circunferências inscritas nos três planos principais do espaço
tridimensional. A orientação e a excentricidade das elipses são variáveis, uma vez que
O protótipo GIDeS
4-43
o sistema permite que o utilizador modifique livremente os ângulos de observação da
cena.
O reconhecimento destas elipses é efectuado pelo mesmo módulo que procede ao
reconhecimento das circunferências. O traço correspondente à hipotética elipse começa por ser projectado em cada um dos três planos principais do espaço 3D, de modo a
que os traços resultantes – eventuais circunferências – possam ser analisados pelo
referido módulo.
4.2.5.2.3 Linhas curvas genéricas
As curvas e superfícies tridimensionais desempenham um importante papel na engenharia, design e produção de uma vasta gama de produtos, tais como carroçarias de
automóveis, cascos de embarcações, fuselagens e asas de aviões, etc. Desempenham
também um papel de relevo na descrição e interpretação de fenómenos físicos em
áreas de investigação tão diversificadas como a geologia, a física e a medicina, entre
outras [Rogers90].
Existem várias técnicas de obtenção de modelos matemáticos de linhas curvas. Todas
elas podem ser agrupadas em duas grandes classes, designadas por curve fitting techniques e curve fairing techniques.
As técnicas englobadas na primeira destas classes (curve fitting techniques) consistem
em ajustar, de acordo com algum critério, uma curva a uma amostra inicial de pontos,
os quais são normalmente obtidos digitalizando um modelo físico ou um esboço do
objecto que se pretende modelar. A curva resultante caracteriza-se pois, pelo facto de
passar por todos os pontos da amostra. São exemplos de técnicas pertencentes a esta
4-44
Interacção caligráfica ambígua em sistemas computacionais de modelação
classe as splines cúbicas e as parabolically blended curves. Muitas outras técnicas
existem, tais como, por exemplo, as descritas em [Böhm84].
As técnicas agrupadas na segunda destas classes (curve fairing techniques) permitem
a obtenção de curvas ab initio, isto é, sem o recurso a qualquer conhecimento prévio
acerca da configuração da curva. Ao contrário das anteriores, poucos ou nenhuns dos
pontos de controlo usados para gerar a curva fazem parte integrante da mesma. Como
exemplos de técnicas abrangidas por esta classe temos as curvas de Bézier e uma sua
poderosa generalização, de seu nome B-splines.
No caso particular do sistema GIDeS, as linhas suaves, independentemente de terem
sido ou não identificadas como circunferências ou elipses, são consideradas linhas
curvas genéricas e convertidas em splines cúbicas. A razão pela qual se optou por uma
técnica do tipo curve fitting prende-se com o facto de existir à partida uma amostra de
pontos (os pontos constituintes do traço esboçado pelo utilizador, ou mais precisamente, da linha poligonal que resulta da aplicação ao traço do utilizador dos procedimentos de filtragem, aproximação poligonal e análise gravitacional) que serve de base
ao processo de construção da curva.
4.2.5.2.3.1 Splines cúbicas
Uma spline de ordem K é definida como uma curva fragmentada num conjunto de
secções adjacentes, sendo cada secção descrita por um polinómio de grau K e existindo continuidade de ordem K – 1 nos pontos de ligação das diversas secções (isto é, as
derivadas de ordem K – 1 são contínuas nesses pontos). A utilização de splines fragmentadas em secções descritas por polinómios de grau reduzido é particularmente
adequada aos sistemas computacionais de apoio ao design, na medida em que os polinómios de baixo grau não só não são muito exigentes em termos dos recursos compu-
O protótipo GIDeS
4-45
tacionais necessários à sua determinação, como também não padecem das instabilidades numéricas associadas aos seus congéneres de grau mais elevado. No entanto, os
polinómios de grau reduzido não podem, como é evidente, abranger um número arbitrário de pontos, sendo este o motivo pelo qual se fragmenta a curva num conjunto
apropriado de secções adjacentes. A spline cúbica (K = 3) tem ainda a vantagem de
constituir a curva de menor grau que permite a existência de um ponto de inflexão e
que é passível de ser encurvada ao longo das três dimensões do espaço17. Uma comparação dos diferentes métodos usados no ajustamento de splines cúbicas a uma amostra
inicial de pontos pode ser encontrada em [Adams74].
A equação paramétrica de cada uma das secções de uma spline cúbica é dada por
4
Eq. 4-20
P (t ) = ∑ Bi t i −1
i =1
t1 ≤ t ≤ t2
em que t1 e t2 são os valores do parâmetro t, respectivamente no início e no fim da
secção; P(t) é o vector de posição dos pontos da referida secção; Bi são quatro coeficientes constantes determinados com base em quatro condições de fronteira.
Derivando a Eq. 4-20 em ordem a t obtém-se a equação paramétrica dos vectores tangentes à secção da spline em todos os seus pontos:
4
Eq. 4-21
P ′(t ) = ∑ Bi (i − 1)t i − 2
i =1
t1 ≤ t ≤ t2
17
Embora no que se refere ao sistema GIDeS só tenham interesse as splines planas.
4-46
Interacção caligráfica ambígua em sistemas computacionais de modelação
Assumindo, sem qualquer perda de generalidade, que t1 = 0 e aplicando as quatro
condições de fronteira que a seguir se discriminam (Figura 4-17):
Eq. 4-22
P (0) = P1
Eq. 4-23
P (t 2 ) = P2
Eq. 4-24
P ′(0) = P1′
Eq. 4-25
P ′(t 2 ) = P2′
P’2
P2, t2
P’1
P1, t1
Figura 4-17 – Secção de uma spline cúbica
podemos determinar os quatro coeficientes Bi:
Eq. 4-26
B1 = P1
Eq. 4-27
B2 = P1′
Eq. 4-28
B3 =
3( P2 − P1 ) 2 P1′ P2′
−
−
t2
t2
t 22
Eq. 4-29
B4 =
2( P1 − P2 ) P1′ P2′
+ 2 + 2
t 23
t2 t2
A equação de uma secção de uma spline cúbica é então a seguinte:
 3( P2 − P1 ) 2 P1′ P2′  2  2( P1 − P2 ) P1′ P2′  3
−
− t + 
+ 2 + 2 t
t2
t2 
t 22
t 23
t2 t2 


Eq. 4-30 P (t ) = P1 + P1′t + 
0 ≤ t ≤ t2
O protótipo GIDeS
4-47
Note-se que o perfil da secção depende dos valores da posição e da tangente à curva
em cada um dos seus pontos extremos. Também a grandeza do parâmetro t = t2 no fim
da secção tem influência no resultado.
Uma spline é, no entanto, composta por várias secções ligadas entre si. A Figura 4-18
ilustra duas secções adjacentes de uma spline.
P’3
P3, t3
P’2
P2, t2
P’1
P1, t1
Figura 4-18 – Duas secções adjacentes de uma spline cúbica
A Eq. 4-30 permite determinar a forma de cada secção desde que sejam conhecidas as
posições dos pontos P1, P2 e P3, as tangentes à curva nesses mesmos pontos (P’1, P’2 e
P’3) e as grandezas dos parâmetros t2 e t3. No entanto, o valor da tangente no ponto de
junção das duas secções (P’2) não é, habitualmente, conhecido. Este valor ser determinado com o recurso à condição de continuidade previamente referida. No caso particular de uma spline cúbica, a segunda derivada é contínua nos pontos de ligação das
diversas secções. A equação paramétrica da segunda derivada obtém-se derivando a
Eq. 4-21 em ordem a t:
4
Eq. 4-31
P ′′(t ) = ∑ Bi (i − 1)(i − 2)t i −3
i =1
t1 ≤ t ≤ t2
4-48
Interacção caligráfica ambígua em sistemas computacionais de modelação
Tendo em conta a condição de continuidade, e generalizando para uma spline construída com base numa amostra de n pontos (P1, P2, ..., Pn), é agora possível determinar
o valor das tangentes em todos os pontos internos da spline (os passos intermédios
foram aqui omitidos):
1
t
3
0

0
.

.
.

 .
0
.
t2
.
0
t3
. .
2(t2 + t3 )
. .
t4
2(t3 + t4 )
0 .
0
t5
2(t4 + t5 ) t4 0
.
.
.
. .
.
.
.
. .
.
.
.
0 tn
.
.
.
. .





×



2(tn−1 + tn ) tn−1 

0
1 
.
.
.
.
.
.
.
.
.
.
.
.
Eq. 4-32
 P1′


 P1′  3 2
2

 P ′   t t t 2 ( P3 − P2 ) + t 3 ( P2 − P1 )

 2  2 3

 P3′   3 t 2 ( P − P ) + t 2 ( P − P )
3
4
3
4
3
2


 
t 3t 4
.


 = .


.


.
 

 .  .

.  3
  
t n2−1 ( Pn − Pn −1 ) + t n2 ( Pn −1 − Pn − 2 ) 

 Pn′   t n −1t n
P′

 n

{
}
{
}
{
ou
}
[M][P’] = [R]
em que [M] é uma matriz quadrada susceptível de ser invertida. Note-se que [M] é
também uma matriz tridiagonal18, o que tem a vantagem de reduzir a carga computa-
18
Uma matriz tridiagonal é aquela que só tem elementos não nulos na diagonal principal e nas diagonais imediatamente acima e abaixo da principal.
O protótipo GIDeS
4-49
cional decorrente da sua inversão. Mais ainda, [M] é diagonalmente dominante19,
razão pela qual é uma matriz não singular e a sua inversão conduz a uma solução única. A solução para [P’] é, por conseguinte:
[P’] = [M]-1[R]
Eq. 4-33
Generalizando as Eqs. 4-26 a 4-29 para a totalidade da spline:
Eq. 4-34
B1k = Pk
Eq. 4-35
B2 k = Pk′
Eq. 4-36
B3k =
3( Pk +1 − Pk ) 2 Pk′ Pk′+1
−
−
t k2+1
t k +1 t k +1
Eq. 4-37
B4 k =
2( Pk − Pk +1 ) Pk′ Pk′+1
+ 2 + 2
t k3+1
t k +1 t k +1
1≤k≤n-1
em que k é o número de ordem das secções que compõem a spline. Em notação matricial:
Eq. 4-38

 1
 B1k  
B   0
 2k  = 
 B3k   3
  − t 2
k +1
 B4 k 
 2
 3
 t k +1
0
0
0
1
3
t
−
2
k +1
2
t
3
k +1
−
2
t k +1
1
t k2+1

0 
 P 
k
0  
  Pk +1 
×
1   Pk′ 

−
t k +1   P ′ 
 k +1 
1 

t k2+1 
1≤k≤n-1
19
Uma matriz diagonalmente dominante é aquela em que a magnitude dos termos da diagonal principal
excede a dos restantes termos da mesma linha.
4-50
Interacção caligráfica ambígua em sistemas computacionais de modelação
Generalizando a Eq. 4-20 para a totalidade da spline:
4
Pk (t ) = ∑ Bik t i −1
Eq. 4-39
i =1
0 ≤ t ≤ tk + 1, 1 ≤ k ≤ n - 1
Ou em notação matricial:
Eq. 4-40
[
Pk (t ) = 1
t
t2
 B1k 
B 
3
t ×  2k 
 B3k 
 
 B4 k 
]
0 ≤ t ≤ tk + 1, 1 ≤ k ≤ n - 1
Para determinar a posição de pontos internos em cada secção da spline substitui-se na
Eq. 4-40 a matriz dos coeficientes Bik pela sua representação na Eq. 4-38:
Eq. 4-41
 Pk 
P 
Pk (τ ) = [F1k (τ ) F2 k (τ ) F3k (τ ) F4 k (τ )]×  k +1 
 Pk′ 


 Pk′+1 
0 ≤ τ ≤ 1, 1 ≤ k ≤ n - 1
Eq. 4-42
F1k (τ ) = 2τ 3 − 3τ 2 + 1
Eq. 4-43
F2 k (τ ) = −2τ 3 + 3τ 2
Eq. 4-44
F3k (τ ) = τ (τ 2 − 2τ + 1)t k +1
Eq. 4-45
F4 k (τ ) = τ (τ 2 − τ )t k +1
0 ≤ τ ≤ 1, 1 ≤ k ≤ n - 1
O protótipo GIDeS
4-51
em que Fik(τ) são as chamadas blending ou weighting functions e τ = t / tk+1.
No caso do sistema GIDeS optou-se pela determinação de três pontos internos em
cada secção da spline. Este valor resulta de um compromisso entre uma aproximação
poligonal aceitável, por um lado, e uma carga computacional não excessivamente elevada, por outro, sendo, no entanto, passível de configuração.
Recorde-se que o perfil de uma spline depende não só dos valores da posição e da
tangente à curva em cada um dos pontos da amostra, como também da grandeza do
parâmetro tk+1 no final de cada secção. A condição de continuidade de segunda ordem
nos pontos de junção da spline não garante a suavidade da sua forma, isto é, a curvatura ao longo da linha não é necessariamente mínima. Para se obter a mínima curvatura e, por conseguinte, a máxima suavidade, a grandeza de tk+1 deve ser escolhida, em
cada secção, de modo a minimizar os valores dos coeficientes B3k e B4k. No entanto, a
sobrecarga computacional que decorre deste procedimento não é desejável, pelo que,
habitualmente, se recorre a métodos menos onerosos de garantir uma suavidade suficiente para a generalidade das aplicações práticas.
O primeiro desses métodos consiste em atribuir ao parâmetro tk+1 o valor correspondente ao comprimento da corda que liga as extremidades da secção:
Eq. 4-46
t k +1 = ( x k +1 − x k ) 2 + ( y k +1 − y k ) 2 + ( z k +1 − z k ) 2
1≤k≤n-1
em que xk, yk e zk são as coordenadas cartesianas do ponto Pk.
Uma abordagem ainda mais simples consiste em normalizar os valores dos parâmetros
tk+1:
4-52
Interacção caligráfica ambígua em sistemas computacionais de modelação
Eq. 4-47
t k +1 = 1
1≤k≤n-1
Neste caso, a carga computacional inerente ao cálculo da spline é particularmente
reduzida, na medida em que a matriz [M] da Eq. 4-32 é a mesma para todas as secções, pelo que só necessita de ser invertida uma vez.
Se os pontos da amostra original não estiverem uniformemente distribuídos, a experiência revela que as splines normalizadas não são tão suaves como as que decorrem
da aproximação aos comprimentos das cordas para os valores dos parâmetros tk+1
[Rogers90]. No caso específico do sistema GIDeS, esta circunstância ocorre frequentemente, pelo que o emprego de splines normalizadas não foi tido em consideração.
A condição de continuidade permite determinar inequivocamente os valores das tangentes à spline em todos os seus pontos internos (pontos de junção das secções constituintes), mas não nos seus pontos extremos. Existem vários critérios utilizados na
resolução desta indeterminação, os quais são designados por condições de fronteira da
spline cúbica.
O primeiro destes critérios denomina-se condição de fronteira relaxada ou natural e
consiste em estipular que a curvatura da spline (isto é, a segunda derivada) é nula nas
extremidades:
Eq. 4-48
P ′′(0) = 0
Eq. 4-49
P ′′(t n ) = 0
O protótipo GIDeS
4-53
Recorrendo às Eqs. 4-31 e 4-38 e fazendo t = 0, k = 1 para o primeiro ponto e t = tn,
k = n – 1 para o último, obtém-se para a primeira e última linhas das matrizes [M] e
[R] (ver Eq. 4-32):

 3
... × P1′ = 
( P2 − P1 )

 2t 2
Eq. 4-50
1
Eq. 4-51
... 0 2 4  × Pn′  =  ( Pn − Pn−1 )
1
2
0
6
tn


A Figura 4-19b ilustra uma spline relaxada em ambos os extremos. A amostra de pontos que serviu de base à construção da curva está representada na linha poligonal da
Figura 4-19a.
a) amostra
b) relaxada
c) clamped
d) rel. / clamped
Figura 4-19 – Condições de fronteira de uma spline cúbica
Outra condição de fronteira, designada por clamped, consiste muito simplesmente em
especificar “à mão” os valores dos parâmetros P’1 e P’n. Na Figura 4-19c pode ver-se
uma spline (traço a vermelho) com este tipo de condição em ambas as extremidades.
A direcção dos vectores tangentes à curva está representada pelos traços a negro. O
conjunto de pontos utilizado na determinação da spline é o mesmo do exemplo anterior (Figura 4-19a).
As condições de fronteira nos extremos de uma spline não têm necessariamente de ser
iguais. A Figura 4-19d ilustra o exemplo de uma spline (traço a vermelho) do tipo
relaxado num dos seus pontos e do género clamped no outro. O traço a negro repre-
4-54
Interacção caligráfica ambígua em sistemas computacionais de modelação
senta a direcção do vector tangente à curva no último ponto. A linha poligonal que
serviu como ponto de partida ao cálculo da spline é, mais uma vez, a que se pode
observar na Figura 4-19a.
No sistema GIDeS as splines são construídas com base no traço resultante da aplicação dos procedimentos de filtragem, aproximação poligonal e análise gravitacional ao
traço original do utilizador. Ambos os modelos de condições de fronteira são tidos em
consideração. Com efeito, os exemplos ilustrados na Figura 4-19 foram produzidos
neste sistema. A decisão acerca do tipo de condição a utilizar está dependente do
número de segmentos de recta eventualmente existentes no grafo de desenho, que
começam ou terminam nos pontos extremos da spline em questão. Por outras palavras, a condição de fronteira varia consoante o contexto do desenho em que a spline
vai ser inserida. Nos casos em que não existe qualquer segmento de recta ligado ao
ponto que está a ser objecto de análise, bem como nas circunstâncias em que existem
dois ou mais segmentos de recta ligados a esse mesmo ponto, o sistema opta pela
condição de fronteira relaxada. Nas demais situações, ou seja quando existe um e apenas um segmento de recta ligado ao ponto em questão (cada um dos traços a negro da
Figura 4-19), o sistema decide-se pela condição de fronteira do tipo clamped. O vector
tangente à spline tem a direcção do segmento; o sentido é tal que o vector aponta para
a curva no seu ponto inicial e para fora dela no ponto final; a magnitude é unitária.
Existem ainda duas outras condições de fronteira dignas de menção, a saber, as condições cíclica e anticíclica. A primeira é utilizada nos casos em que se pretende obter
uma curva fechada ou uma porção de curva cujo perfil se repete periodicamente. A
condição cíclica estabelece que a tangente e a curvatura sejam iguais em ambas as
extremidades, isto é:
O protótipo GIDeS
Eq. 4-52
P1′(0) = Pn′ (t n )
Eq. 4-53
P1′′(0) = Pn′′(t n )
4-55
A matriz [M] resultante é agora uma matriz de (n – 1) x (n – 1) elementos, uma vez
que os vectores tangentes não são todos independentes (os passos intermédios foram
novamente omitidos):
tn
tn

0
2(1 + t )
t2
2

2(t 2 + t 3 ) t 2
 t3

.
.
.

.
.
.


.
.
.

.
.
0

.
0
.
.
.
tn

1   P1′ 
  P′ 
.
.   2 
 . 
.
. ×


. 

.
. 
 . 
.
.  
  P ′ 
2(t n −1 + t n ) t n −1   n −1 
.
Eq. 4-54
3
 tn

3 t 2 ( P2 − P1 ) + t ( Pn − Pn −1 )

n
 2

 3 t 2 (P − P ) + t 2 (P − P )

2
3
2
1
 t 2t3 2 3

 3


=
t 32 ( P4 − P3 ) + t 42 ( P3 − P2 )
 t 3t 4

.



.

 3 t 2 (P − P ) + t 2 (P − P ) 
n −1
n
n −1
n−2
 t n −1t n n −1 n

{
}
{
}
{
}
De salientar ainda que a matriz já não é tridiagonal (confronte-se com a Eq. 4-32).
A condição anticíclica estabelece que a tangente e a curvatura sejam simétricas em
ambas as extremidades, isto é:
Eq. 4-55
P1′(0) = − Pn′ (t n )
Eq. 4-56
P1′′(0) = − Pn′′(t n )
4-56
Interacção caligráfica ambígua em sistemas computacionais de modelação
As matrizes [M] e [R] resultantes desta condição de fronteira são semelhantes às do
caso cíclico (Eq. 4-54), com a diferença dos sinais trocados no elemento M1, n – 1 da
matriz [M] e no segundo termo do elemento R1 da matriz [R].
O facto de a matriz [M] não ser tridiagonal para a condição de fronteira cíclica tem
dois grandes inconvenientes: em primeiro lugar, o cálculo da spline obriga a recorrer a
um algoritmo geral de inversão de matrizes, o qual é computacionalmente mais exigente do que um algoritmo específico de inversão de matrizes tridiagonais como o que
é descrito, por exemplo, em [Press92]. Em segundo lugar, a spline resultante desta
condição de fronteira não é simétrica nos casos em que a amostra original de pontos o
é [Rogers90]. Estas desvantagens levaram a que no sistema GIDeS se optasse por uma
abordagem diferente de representar as curvas fechadas, a qual consiste em recorrer
mais uma vez à condição de fronteira do tipo clamped, sendo que os vectores tangentes aos pontos extremos da spline têm a direcção do segmento de recta imaginário que
une o segundo ao penúltimo ponto da amostra.
a) amostra
b) spline resultante
Figura 4-20 – Caso particular de uma spline fechada com condição de fronteira do tipo clamped
A Figura 4-20 ilustra esta situação para o caso de uma linha poligonal fechada e simétrica (traço a vermelho da Figura 4-20a). O círculo a negro marca o primeiro (e último, uma vez que a linha é fechada) ponto da amostra. O traço a negro é paralelo ao
O protótipo GIDeS
4-57
segmento de recta que liga o segundo ao penúltimo ponto da linha e serve de base à
determinação dos vectores tangentes à curva nas suas extremidades. Atente-se na
simetria da spline resultante (Figura 4-20b).
Muito mais haveria a dizer no que se refere à utilização de splines cúbicas nos sistemas computacionais de apoio ao design. Com efeito, para lá das vantagens já mencionadas no início desta secção, existem também alguns inconvenientes, nomeadamente
o facto de as cúbicas paramétricas nunca se reduzirem com exactidão a uma secção
cónica; de constituírem uma má aproximação a curvas assimptóticas; e de exibirem
com frequência oscilações espúrias, caso não sejam cuidadosamente controladas
[Rogers90]. Estas oscilações ocorrem porque, se por um lado a forma global de uma
spline cúbica depende localmente de cada um dos pontos da amostra, por outro lado a
terceira derivada é constante ao longo de cada secção. Isto tem como consequência a
eventual ocorrência de descontinuidades no valor da terceira derivada e o subsequente
aparecimento de pontos de inflexão indesejados.
Uma das abordagens à resolução deste problema consiste no equivalente, do ponto de
vista matemático, ao fenómeno físico de colocar uma spline sob tensão e assim minimizar a ocorrência de oscilações ao longo da mesma (Figura 4-21).
a) sem tensão
b) com tensão
Figura 4-21 – Efeito da aplicação de tensão a uma spline cúbica
4-58
Interacção caligráfica ambígua em sistemas computacionais de modelação
As primeiras tentativas, efectuadas por Schweikert [Schweikert66] e Cline [Cline73],
resultaram em alternativas exponenciais à spline natural, as quais são, no entanto, dispendiosas no que concerne aos recursos computacionais necessários à sua determinação. Nielson desenvolveu uma variação polinomial à qual deu a designação de νspline [Nielson74].
4.2.6 Depuração do grafo de desenho
Sempre que o grafo de desenho for objecto de modificações, é necessário expurgá-lo
de um conjunto de factores indesejáveis que podem pôr em causa o funcionamento do
subsistema de reconhecimento de primitivas 3D. A Figura 4-22 ilustra um exemplo
desta situação.
B
B
C
A
C2
A
C1
O
O
a) três segmentos
b) quatro segmentos
Figura 4-22 – Instanciação de um bloco
A função responsável pelo reconhecimento do gesto associado ao bloco espera encontrar uma junção de três (e só três) segmentos de recta que verifiquem a condição de
serem paralelos às projecções dos três eixos coordenados. No caso da Figura 4-22a, os
segmentos em questão, OA, OB e OC, são em número de três e verificam a referida
condição, pelo que o reconhecimento do bloco decorrerá sem problemas.
Atente-se agora na Figura 4-22b. O utilizador começou por esboçar o traço correspondente ao segmento OC1 mas, não satisfeito com o comprimento deste último, decidiu prolongar o traço original, dando assim origem ao segmento, C1C2. O desenho
O protótipo GIDeS
4-59
passará, portanto, a ser composto por quatro segmentos de recta (OA, OB, OC1 e
C1C2), pelo que a identificação do gesto associado ao bloco não irá ser bem sucedida.
O problema é facilmente resolvido se, antes de se dar início ao processo de reconhecimento, os segmentos de recta OC1 e C1C2 forem combinados num único segmento
OC2 (isto é, se o ponto C1 for eliminado do grafo).
Também poderia ter-se dado o caso de o traço de correcção dar origem a dois segmentos parcial ou totalmente sobrepostos (OC1 e OC2, por exemplo). Todas estas situações20 podem comprometer o bom funcionamento do subsistema de reconhecimento
de primitivas 3D, pelo que há que evitá-las submetendo o grafo de desenho a uma
depuração prévia.
Ao proceder, de forma automática e transparente para o designer, à fusão e/ou divisão
dos segmentos de recta que compõem o desenho, e à correspondente adição e/ou
remoção de pontos do grafo, a depuração constitui um contributo importante para o
aumento da liberdade de desenho do utilizador e para uma melhor aproximação da
interface à metáfora do papel e lápis.
4.2.7 Reconhecimento de primitivas 3D
O subsistema de reconhecimento de primitivas 3D funciona a dois níveis: topológico
e geométrico. Para que um gesto seja identificado como correspondendo a uma dada
primitiva (ou mais, nas situações ambíguas), é necessário que ambos os níveis sejam
bem sucedidos no tipo de análise que levam a cabo.
20
E muitas outras. Por exemplo, se o utilizador esboçar dois segmentos de recta que se intersectam
num ponto, será necessário acrescentar esse ponto ao grafo e dividir cada segmento num par de segmentos colineares adjacentes.
4-60
Interacção caligráfica ambígua em sistemas computacionais de modelação
4.2.7.1 Análise topológica
O primeiro nível consiste num exame à topologia de uma parte do grafo de desenho
mantido pelo sistema. Sempre que o utilizador esboça um novo traço, o subgrafo
composto por este traço e por todos os que lhe estiverem directa ou indirectamente
ligados é objecto de uma análise topológica, a qual tenta classificar o desenho numa
das três categorias que a seguir se discriminam (na Tabela 3-1 do Capítulo 3 e nas
secções que se seguem estão representados os gestos que desencadeiam a criação de
primitivas 3D):
•
Junção trivalente – caso do bloco;
•
Linha fechada – caso da esfera;
•
Linha fechada ligada a uma linha aberta, sendo esta última composta por um
ou mais segmentos de recta – caso da superfície de revolução e do ducto – ou
por um e um só segmento de recta – todos os restantes casos.
A circunstância de todo o repertório das onze primitivas 3D estar englobado em apenas três classes topológicas constitui um bom exemplo de como a exploração da ambiguidade contribui para reduzir a carga cognitiva imposta ao utilizador e, por conseguinte, aumentar a usabilidade da interface.
4.2.7.2 Análise geométrica
Uma vez encontrada a classe topológica do desenho, entra em acção o segundo nível
de reconhecimento. Este procede a uma análise geométrica do subgrafo, de modo a
refinar a classificação e a encontrar a primitiva (ou primitivas, em caso de ambiguidade) que melhor se enquadra no mesmo.
O protótipo GIDeS
4-61
4.2.7.2.1 Bloco
Tal como foi referido na Secção 4.2.6, o gesto que instancia o bloco é constituído pela
junção de três segmentos de linha recta paralelos às projecções, no plano de visualização, dos três eixos coordenados do espaço 3D (Figura 4-23).
Figura 4-23 - Bloco
4.2.7.2.2 Esfera
Os gestos das primitivas 3D reflectem sempre uma parte ou a totalidade do contorno
que as mesmas exibem no plano de projecção. O que está associado à esfera não constitui uma excepção a esta regra, pelo que a sua geometria é idêntica à de uma circunferência (Figura 4-24).
Figura 4-24 - Esfera
4.2.7.2.3 Cilindro, cone e tronco de cone
Cada um dos gestos correspondentes ao cilindro, ao cone e ao tronco de cone é composto por uma elipse e um segmento de recta (Figura 4-25). No caso do cilindro, o
segmento terá de ser perpendicular, no espaço 3D, ao plano da elipse21. Se tal não
21
O que implica que seja paralelo, no plano de visualização, à projecção de um dos três eixos coordenados.
4-62
Interacção caligráfica ambígua em sistemas computacionais de modelação
acontecer, a extremidade livre do segmento terá de estar próxima – no caso do cone –
ou afastada – no caso do tronco de cone – do eixo perpendicular ao plano da elipse
que passa pelo centro da mesma.
Figura 4-25 – Cilindro, cone e tronco de cone
4.2.7.2.4 Prisma, pirâmide e tronco de pirâmide
Os gestos associados ao prisma, à pirâmide e ao tronco de pirâmide são semelhantes
na sua geometria aos que instanciam o cilindro, o cone e o tronco de cone, respectivamente (Figura 4-26). A única diferença reside no facto de a linha fechada corresponder a um polígono razoavelmente regular – no espaço 3D – e não a uma elipse. O
número de lados do referido polígono determina o número de faces laterais do futuro
sólido.
Figura 4-26 – Prisma, pirâmide e tronco de pirâmide
4.2.7.2.5 Ducto
No caso do gesto que instancia o ducto, não existem quaisquer restrições à geometria
quer da linha fechada que define a secção do objecto, quer da linha aberta que estabelece o seu perfil. Por outras palavras, ambas as linhas podem ter a forma que o utilizador muito bem entender (Figura 4-27). Existe, no entanto, a possibilidade de a curvatura da linha de perfil ser de tal modo pronunciada que inviabiliza a construção do
O protótipo GIDeS
4-63
sólido correspondente22. O sistema GIDeS detecta estas situações e inibe o funcionamento do subsistema de reconhecimento, evitando assim a construção de um objecto
degenerado. Esta maneira de proceder, prevenindo – ao invés de remediar – eventuais
erros de interacção, vai ao encontro das ideias perfilhadas por Hix e Hartson nas suas
linhas de orientação do design de interfaces [Hix93].
Figura 4-27 - Ducto
4.2.7.2.6 Superfície de revolução
No que ao gesto da superfície de revolução diz respeito, a linha fechada deverá ser
uma elipse, não havendo, em princípio, qualquer restrição à geometria da linha aberta
que define o perfil da primitiva (Figura 4-28). No entanto, à semelhança do que sucede com o ducto, existe a possibilidade de o referido perfil originar a construção de um
objecto degenerado23. Uma vez mais, o sistema GIDeS detecta esta situação e actua
no sentido de evitar as consequências nocivas que dela decorrem.
Figura 4-28 - Superfície de revolução
22
23
Algumas das faces laterais do ducto ficariam viradas do avesso.
A linha de perfil deverá estar totalmente inscrita num semi-plano que contém e é delimitado pelo
eixo da circunferência de que a elipse é uma projecção. Se, pelo contrário, uma parte desse perfil estiver localizada no outro semi-plano, a superfície de revolução que lhe irá corresponder intersectar-se-á a
si própria.
4-64
Interacção caligráfica ambígua em sistemas computacionais de modelação
4.2.7.2.7 Extrusão
No caso do gesto associado à extrusão, sucede o oposto do verificado na superfície de
revolução: não existem restrições à geometria da linha fechada que estabelece o perfil
da primitiva. O mesmo não acontece com a linha aberta representativa da extensão do
objecto, a qual deverá ser um segmento de recta paralelo à projecção de um dos três
eixos coordenados (Figura 4-29).
Figura 4-29 - Extrusão
4.2.8 Colocação de primitivas no espaço 3D
A ambiguidade que decorre do facto de se estar a construir uma cena tridimensional
com base num desenho a duas dimensões não se restringe à determinação da forma e
dimensões específicas de cada objecto. Também a sua colocação no espaço é alvo de
uma indefinição. No sistema GIDeS este problema foi resolvido mediante a predefinição, para cada um dos gestos que instanciam primitivas 3D, de um ponto, uma direcção e um sentido privilegiados24 (Figura 4-30).
No caso dos gestos compostos por uma linha aberta e outra fechada, o ponto privilegiado é o correspondente ao centro geométrico da linha fechada (Figura 4-30c); a
direcção é a da normal ao plano em que a mesma linha se insere; e o sentido é o que
vai da extremidade fixa para a extremidade livre da linha aberta.
24
Na realidade, só os pontos são importantes para este processo. As direcções e os sentidos serão usados na fase subsequente de reconhecimento automático de operações booleanas (Secção 4.2.9).
O protótipo GIDeS
a) bloco
b) esfera
4-65
c) restantes primitivas
Figura 4-30 – Pontos, direcções e sentidos privilegiados
Já no que se refere ao gesto que instancia a esfera, o ponto privilegiado é o correspondente ao centro da circunferência, não estando definidos nem a direcção, nem o sentido (Figura 4-30b).
O gesto do bloco é um caso especial, na medida em que existem, não um, mas três
pontos, direcções e sentidos privilegiados (Figura 4-30a). Os pontos são os correspondentes aos centros geométricos das três faces definidas pela junção trivalente; as
direcções são as dos segmentos de recta que constituem o gesto; e os sentidos são os
que vão do ponto de junção para as extremidades livres dos referidos segmentos.
Sempre que está iminente a construção de uma nova primitiva, o sistema recorre ao
mecanismo de picking do OpenGL [Woo99] para verificar se o ponto privilegiado se
encontra localizado sobre a projecção de alguma face de algum dos objectos 3D já
existentes na cena. Em caso negativo, a primitiva é colocada de forma a assentar no
“chão” da mesma25. Em caso positivo, o sistema assume que o ponto privilegiado pertence ao plano em que a referida face está inserida. A equação deste plano, em conjugação com as duas equações que definem a projecção, põe termo à indeterminação
25
O plano z = 0.
4-66
Interacção caligráfica ambígua em sistemas computacionais de modelação
atrás referida e permite efectuar com precisão a colocação da primitiva no espaço tridimensional.
4.2.9 Reconhecimento de operações booleanas
Nas situações em que se verifica uma sobreposição de objectos, ou seja, quando o
ponto privilegiado de uma primitiva recém-criada se encontra localizado sobre a projecção de uma face de um outro sólido, o sistema calcula o produto escalar da normal
ao plano da referida face com um vector cuja direcção e sentido são os estabelecidos
para a primitiva em questão26.
a) união
b) subtracção
Figura 4-31 – Ausência de ambiguidade (produto escalar não nulo)
Se o produto escalar tiver sinal positivo (ou seja, se o ângulo entre os dois vectores for
inferior a 90º), o sistema sugere a união booleana dos dois objectos (Figura 4-31a; nas
26
A magnitude do vector é irrelevante, na medida em que só o sinal – e não a grandeza – do produto
escalar é importante para este processo.
O protótipo GIDeS
4-67
figuras que se seguem, a normal aparece representada pelas flechas azuis a tracejado).
Se, pelo contrário, o produto for negativo (isto é, o ângulo for superior a 90º), é sugerida a subtracção da primitiva ao sólido já existente (Figura 4-31b). Note-se que, tal
como foi referido na Secção 3.2.5 do Capítulo 3, o reconhecimento é insensível ao
sentido segundo o qual os traços constituintes do gesto foram esboçados.
a) união
b) subtracção
Figura 4-32 – Ambiguidade (produto escalar nulo)
Nas circunstâncias em que o produto escalar é nulo, ou seja, quando a normal e o vector são perpendiculares entre si (ângulo de 90º), não é possível identificar a operação
mais adequada ao contexto, pelo que o sistema sugere a execução quer da união, quer
da subtracção booleanas (Figura 4-32). Idêntico procedimento é adoptado quando a
primitiva em questão é uma esfera, pois o gesto que a instancia não tem uma direcção
nem um sentido associados (Figura 4-33).
4-68
Interacção caligráfica ambígua em sistemas computacionais de modelação
a) união
b) subtracção
Figura 4-33 – Ambiguidade (produto escalar não susceptível de ser calculado)
Em todos os casos, mesmo naqueles em que não há lugar à ambiguidade, o sistema
confronta o utilizador com uma lista de expectativas de operações booleanas, de modo
a que aquele tenha a possibilidade, se assim o desejar, de as rejeitar a todas.
4.3 Edição 2D
Para além das funcionalidades já descritas de assistência à acção de desenhar – a análise gravitacional, o reconhecimento de primitivas 2D e a depuração do grafo de desenho – existem mais duas que é importante referir: a remoção de elementos de desenho
e a correcção de esboços.
4.3.1 Remoção de elementos de desenho
A supressão de elementos indesejados de desenho é instanciada pelo mesmo gesto de
riscar que permite quer a eliminação de objectos 3D existentes na cena, quer a aplica-
O protótipo GIDeS
4-69
ção, modificação e remoção de texturas (na Figura 4-7 deste capítulo pode ver-se a
configuração adoptada para o referido gesto). A distinção é feita com base na aplicação de uma escala de prioridades às camadas – layers – constituintes da janela de trabalho. Ou seja, o desenho – layer 2D – tem prioridade sobre a cena – layer 3D – no
que à execução deste comando diz respeito. São eliminados do grafo todos os elementos de desenho que estiverem parcial ou totalmente incluídos no polígono convexo
que envolve o gesto. A determinação deste polígono é feita com base no algoritmo de
Graham [O’Rourke98].
4.3.2 Correcção de esboços
O sistema GIDeS permite a correcção iterativa da forma dos traços previamente esboçados. O designer, à semelhança do que acontece quando trabalha com papel e lápis,
limita-se a desenhar directamente sobre a secção do traço que pretende alterar (Figura
4-34a), encarregando-se o módulo de edição 2D de identificar e apagar a porção indesejada (Figura 4-34b). O traço corrector (a cinzento na primeira figura) é processado
pelo subsistema de reconhecimento de primitivas de desenho (a vermelho na segunda
figura), o qual gera a lista de expectativas mais adequada à situação (Figura 4-34c).
No exemplo da figura são sugeridos três tipos diferentes de elementos de correcção:
uma spline (primeira opção da lista e também a opção por omissão, identificada pelo
fundo amarelo e a moldura vermelha), uma polyline (segunda opção) e um segmento
de linha recta (terceira opção), este último fruto de uma acção mais agressiva do
módulo de pré-processamento de traços. A quarta opção (um “X” de cor vermelha)
permite que o utilizador cancele a operação de correcção e regresse ao desenho original.
4-70
Interacção caligráfica ambígua em sistemas computacionais de modelação
a) desenho original
b) desenho corrigido
c) expectativas de correcção
Figura 4-34 – Correcção de esboços
Para que um traço seja interpretado, não como um novo elemento de desenho, mas
como um elemento de correcção de um desenho já existente, é necessário, entre outras
condições, que as extremidades do referido traço estejam na proximidade – isto é, sob
a alçada gravitacional – de uma parte do traço original. Tratando-se este último de
uma linha aberta, não há lugar a qualquer indefinição na determinação da secção que
deverá ser corrigida. Caso o traço original constitua uma linha fechada (como acontece no exemplo da Figura 4-34), é corrigida a fracção que tiver a menor extensão. Na
Secção 6.1.4.1 do Capítulo 6 é apresentada, a título de trabalho futuro, uma abordagem à resolução destas duas ambiguidades: a correcta identificação da intenção, por
parte do utilizador, de proceder a uma correcção do desenho; e a determinação, no
caso das linhas fechadas, da porção da linha que deverá ser objecto da referida correcção.
4.4 Edição 3D
O sistema GIDes oferece ao utilizador um conjunto de funcionalidades que lhe permitem editar geometria tridimensional de uma forma simples e eficiente. Para além de
O protótipo GIDeS
4-71
um clipboard 3D e do auxílio proporcionado pelas linhas de construção, existem quatro modos de interacção, seleccionáveis por meio de uma lista de expectativas27 (Figura 4-35), dos quais três estão associados a transformações geométricas de corpo rígido
e um ao corte de objectos.
Figura 4-35 – Operações de edição 3D
4.4.1 Clipboard 3D
O clipboard permite efectuar as tradicionais operações de corte, cópia e colagem de
objectos que é comum encontrar na maioria dos sistemas computacionais – de modelação ou outros – dotados de interfaces de manipulação directa28.
4.4.2 Transformações geométricas
A abordagem que aqui se defende à maneira como são efectuadas as transformações
geométricas de corpo rígido – translações e rotações – é diferente da que é habitual
encontrar nos sistemas de CAD comercialmente disponíveis. Em vez de deduzir as
operações necessárias à realização da tarefa que tem em mente, o utilizador dispõe de
três modos de interacção distintos os quais, mediante o desenho de simples traços,
habilitam o sistema a inferir, com base em determinadas restrições, as transformações
geométricas que devem ser levadas a cabo. As restrições em causa são de três tipos: a
27
A activação desta lista ocorrerá sempre que o utilizador mantiver o estilete apoiado, pela duração
mínima de um segundo, sobre a projecção de um sólido previamente seleccionado.
28
Cut, copy e paste. Não obstante as designações em português serem as mesmas, convém não confundir as operações do clipboard com os modos de corte e colagem de objectos descritos nas secções
seguintes deste capítulo.
4-72
Interacção caligráfica ambígua em sistemas computacionais de modelação
coincidência dos planos das faces dos objectos, o alinhamento de arestas e a coincidência de vértices.
4.4.2.1 Colagem
Neste modo de interacção, o utilizador desenha uma linha a ligar dois sólidos e o sistema efectua o conjunto de transformações geométricas necessário para colar o primeiro objecto ao segundo (Figura 4-36). As transformações são aplicadas também a
eventuais sólidos que estejam colados ao primeiro, de forma a manter inalteradas as
suas posições relativas.
Figura 4-36 – Colagem de objectos
O processo inicia-se com o recurso ao mecanismo de picking do OpenGL para identificar os objectos a colar e as faces pelas quais os mesmos deverão ser colados. Uma
vez conhecidas as equações dos planos em que as faces estão inscritas, é possível calcular de forma inequívoca as coordenadas 3D dos pontos situados nas extremidades
da linha. Cada uma destes pontos é confrontado com os vértices que compõem a face
respectiva, de modo a verificar se há lugar a uma atracção gravitacional. Em caso
afirmativo, procede-se ao ajustamento em conformidade das coordenadas do ponto.
O protótipo GIDeS
4-73
O sistema deduz, em seguida, duas operações geométricas elementares: uma translação que transforme o ponto de partida da linha no ponto de chegada da mesma, e uma
rotação que faça coincidir os planos das faces dos dois sólidos29.
Caso tenha havido lugar a uma atracção gravitacional das extremidades da linha, os
vértices responsáveis por essa atracção passam a ser coincidentes. Nesta situação, o
sistema deduz uma segunda rotação que tenha por objectivo o alinhamento, na medida
do possível, das arestas que convergem nesses mesmos vértices.
4.4.2.2 Deslocamento
O segundo modo de interacção permite deslocar objectos ao longo de um plano paralelo ao do “chão” da cena ou, nas situações em que o ângulo vertical de observação é
nulo, ao longo de um plano paralelo ao plano de projecção. Estas restrições resultam
da aplicação de uma regra perceptual que visa contornar a indeterminação normalmente existente no cálculo das coordenadas 3D do ponto de destino da linha traçada
pelo utilizador30. Se o referido ponto se encontrar localizado sobre a projecção de um
sólido preexistente, a conversão 2D/3D de coordenadas pode ser efectuada de forma
não ambígua, pelo que se torna desnecessária a aplicação daquela regra.
4.4.2.3 Ajustamento
O terceiro modo de interacção constitui uma variante do anterior e permite ajustar a
posição de um sólido relativamente a outro. Ao contrário do deslocamento, também
29
A coincidência dos planos deve ser tal que as respectivas normais fiquem orientadas segundo sentidos opostos.
30
O ponto de origem não padece deste problema, pois está forçosamente localizado sobre a projecção
do sólido que se pretende deslocar.
4-74
Interacção caligráfica ambígua em sistemas computacionais de modelação
serve para colar e descolar objectos. Nas situações em que os sólidos estão colados, o
sistema identifica as restrições que deverão ser aplicadas ao processo de translação, de
modo a que ao objecto em questão apenas seja permitido deslizar ao longo do plano
da face à qual se encontra colado (Figura 4-37). Nas situações contrárias, o processo
decorre de forma idêntica ao que foi descrito para o deslocamento (Secção 4.4.2.2).
Figura 4-37 – Ajustamento de objectos
À semelhança do que sucede com a operação de colagem, a translação resultante do
ajustamento de um objecto também se aplica a todos os sólidos que, directa ou indirectamente, lhe estão colados, de modo a que as posições relativas dos mesmos permaneçam inalteradas.
4.4.3 Corte
O protótipo GIDeS põe à disposição do designer um quarto modo de interacção que
lhe permite executar com simplicidade e eficiência cortes e furos em modelos tridimensionais. O utilizador limita-se a esboçar o perfil desejado para o corte ou furo,
encarregando-se o sistema de determinar a forma e as dimensões apropriadas do sólido de extrusão que, uma vez construído e subtraído ao objecto em questão, permitirá
obter o efeito pretendido. Por outras palavras, o papel do designer consiste, tãosomente, em transmitir ao sistema o resultado final da tarefa que pretende levar a
O protótipo GIDeS
4-75
cabo, cabendo a este último o encargo de estabelecer o plano de operações que melhor
se adequar à concretização dessa tarefa.
O perfil do corte ou do furo que se pretende realizar é, em todos os aspectos, interpretado como se de um elemento de desenho se tratasse. Por outras palavras, o traço em
questão é submetido à acção do subsistema de reconhecimento de primitivas de desenho, o qual tenta classificá-lo como suave ou anguloso e identificá-lo como correspondendo a uma primitiva genérica ou específica. É criada a habitual lista de expectativas de primitivas de desenho e, caso o utilizador aceite uma das sugestões que nela
são exibidas, inicia-se o processo de edição propriamente dito. Há duas situações a
considerar: os furos e os cortes.
Figura 4-38 – Exemplo da execução de um furo
No caso dos furos, o traço é fechado (Figura 4-38). É criado um sólido de extrusão –
invisível para o designer – com o perfil estabelecido pelo referido traço e uma extensão igual à profundidade do modelo que se pretende cortar31. O sólido recém-criado é
então subtraído ao objecto original.
31
Na realidade, a extensão do sólido de extrusão é ligeiramente superior à profundidade do modelo, de
modo a evitar os inconvenientes que resultam do facto de a precisão aritmética do computador não ser
infinita.
4-76
Interacção caligráfica ambígua em sistemas computacionais de modelação
Figura 4-39 – Exemplo da execução de um corte
No caso dos cortes, o traço é aberto, devendo as extremidades do mesmo encontrar-se
sob a alçada gravitacional dos vértices e/ou das arestas que delimitam a face que se
pretende cortar (Figura 4-39). É calculado o rectângulo envolvente da referida face, e
criado um sólido de extrusão de perfil delimitado pelo traço de corte, parte do rectângulo envolvente e, caso seja necessário, um ou dois segmentos de recta a ligar o traço
de corte ao rectângulo envolvente (Figura 4-40). A profundidade do sólido de extrusão é, mais uma vez, idêntica32 à do modelo que está a ser editado. O processo termina, tal como anteriormente, com a subtracção booleana dos objectos.
Face do objecto a cortar
Traço de corte
Rectângulo envolvente
Segmentos adicionais
Face do sólido de extrusão
Figura 4-40 – Determinação do perfil do sólido de extrusão
O método do rectângulo envolvente só funciona garantidamente quando a face do
objecto a cortar é convexa. Quando a mesma é côncava, o processo pode ou não resultar. A resolução deste problema passa por considerar uma parte do contorno da pró-
32
Ver a nota de rodapé 31, na página 4-75 deste capítulo.
O protótipo GIDeS
4-77
pria face e não do rectângulo que a envolve na determinação do perfil do sólido de
extrusão. No entanto, as imperfeições que caracterizam o núcleo geométrico utilizado
teriam inviabilizado a concretização desta solução.
4.4.4 Linhas de construção
As linhas de construção constituem um meio poderoso e quase ilimitado de obtenção
de rigor nos processos de edição geométrica. Têm também as vantagens que decorrem, por um lado, de o conceito que lhes está associado ser familiar à classe dos
potenciais utilizadores de sistemas computacionais de apoio ao design e, por outro, de
ser coerente com o paradigma de interacção que aqui se defende: o desenho incremental.
O conceito de linhas de construção, quando aplicado à edição computorizada do desenho – a edição 2D, portanto – transcende de alguma forma o software utilizado. Quer
isto dizer que nada impede, em princípio, o utilizador de um sistema tradicional de
CAD de recorrer a linhas de carácter temporário que o auxiliem na tarefa de criar ou
de modificar com exactidão o desenho que existe na sua imaginação. No que ao sistema GIDeS diz respeito, procurou-se ir um pouco mais longe, tendo sido dados os
primeiros passos no sentido de alargar o âmbito de utilização deste conceito à construção e à alteração de objectos tridimensionais – a edição 3D. Por outras palavras,
quer as primeiras etapas do processo de concepção do sólido – a construção propriamente dita – quer as etapas posteriores – alterações na forma e/ou nas dimensões do
modelo – podem ser levadas a cabo sem que o utilizador tenha de abdicar do desenho
como principal paradigma de interacção ou do rigor que pretenda eventualmente ver
incluído nesse processo. As linhas de construção serão, por conseguinte, susceptíveis
4-78
Interacção caligráfica ambígua em sistemas computacionais de modelação
de serem usadas quer nas fases iniciais do projecto, anteriores à criação de geometria
3D, quer nos estágios subsequentes de edição dos modelos já existentes.
A concretização deste objectivo levou ao estabelecimento de uma dependência recíproca entre as duas camadas – layers – que constituem a janela de trabalho: a camada
de desenho e a camada correspondente à projecção da cena tridimensional. Ou seja,
não é só a camada 3D que, através do mecanismo de construção de sólidos com base
no reconhecimento do desenho, depende da camada 2D. Também se verifica uma
dependência inversa, a qual está a cargo do mecanismo de análise gravitacional descrito na Secção 4.2.4 deste capítulo (Figura 4-41). A determinação da posição definitiva de cada um dos pontos de um traço recém-delineado tem em linha de conta a
atracção exercida não só pelos pontos e segmentos de recta que constituem a totalidade do desenho (camada 2D), mas também pelos vértices e arestas dos modelos tridimensionais existentes na cena (camada 3D).
Pontos do
mesmo traço
(autogravidade 2D)
Segmentos do
mesmo traço
(autogravidade 2D)
Arestas dos
sólidos
(gravidade 3D)
Pontos do
desenho
(gravidade 2D)
Vértices dos
sólidos
(gravidade 3D)
Segmentos do
desenho
(gravidade 2D)
Figura 4-41 – Acção gravitacional sobre um ponto de um traço recém-esboçado
O protótipo GIDeS
a) objecto a editar
b) linhas de construção
c) execução dos furos
d) acabamento final
Figura 4-42 – Exemplo de utilização de linhas de construção na edição de objectos 3D
4-79
4-80
Interacção caligráfica ambígua em sistemas computacionais de modelação
A Figura 4-42 ilustra a aplicação deste conceito às fases finais do processo de construção rigorosa de uma cadeira. Pretende-se usar a ferramenta de corte descrita na
Secção 4.4.3 para executar dois furos idênticos nas costas do modelo. Atente-se em
como a gravidade 3D fez coincidir as extremidades de duas linhas de construção (visíveis a preto na Figura 4-42b) com os vértices da face rectangular sobre cuja projecção
foram esboçadas. As linhas em questão constituirão a fonte de novas atracções gravitacionais – gravidade 2D, desta feita – que permitirão ao utilizador traçar com exactidão as restantes linhas de construção. Estas, por sua vez, irão servir-lhe de guia –
novamente graças à gravidade 2D – no delineamento preciso dos perfis dos furos que
pretende efectuar (Figura 4-42c).
Tal como foi referido anteriormente, os procedimentos que foram adoptados no sentido de explorar o conceito de linhas de construção na edição rigorosa de geometria 3D
constituem apenas os primeiros passos de uma abordagem que promete trazer grandes
benefícios aos utilizadores dos sistemas de CAD. De momento, o protótipo GIDeS
não está apto a distinguir as linhas de construção dos restantes elementos de desenho,
o que implica, entre outros aspectos, que a remoção futura das mesmas esteja a cargo
do próprio designer33. A implementação de um mecanismo de identificação de linhas
de construção – com base no tipo de traço utilizado, por exemplo, ou na pressão exercida com o estilete sobre a superfície do ecrã – e a consequente colocação das mesmas
numa camada que lhes esteja reservada e que seja susceptível de ser tornada visível ou
invisível consoante o desejo do utilizador, não só resolverá este problema como tam-
33
Este inconveniente foi devidamente reportado pelos participantes na sessão de avaliação da usabilidade do sistema (Secção 5.3.6.4 do Capítulo 5).
O protótipo GIDeS
4-81
bém abrirá o caminho a um novo e importante conceito: o da edição automática de
modelos tridimensionais (Secção 6.1.8 do Capítulo 6).
4.5 Manipulação da câmara
As operações de manipulação da câmara são em número de quatro – pan, zoom, viewpoint e restabelecimento da isometria – e podem ser efectuadas de forma directa ou
caligráfica.
4.5.1 Interacção directa
A manipulação directa da câmara é iniciada sempre que o utilizador pressionar o
botão lateral do estilete. A acção tem como consequência o aparecimento, junto ao
cursor, de uma lista de expectativas na qual são exibidas as quatro operações disponíveis (Figura 4-43).
Figura 4-43 – Lista de expectativas de manipulação directa da câmara
Se o designer ignorar as opções da lista e prosseguir com a actividade normal de desenho, o processo de manipulação da câmara é cancelado e a lista é removida da janela
de trabalho. Se, pelo contrário, optar por aceitar uma das sugestões, é invocado um
novo modo de interacção34, devidamente assinalado por uma alteração no aspecto do
cursor, a lista é removida e o sistema fica a aguardar as acções seguintes do utilizador.
34
Excepto no caso do restabelecimento da isometria, o qual não exige qualquer interacção adicional.
4-82
Interacção caligráfica ambígua em sistemas computacionais de modelação
4.5.1.1 Pan
No modo correspondente a esta operação, a câmara desloca-se paralelamente ao plano
de projecção da cena. O movimento do estilete – e do cursor que lhe está associado –
é acompanhado de um movimento em sentido contrário da câmara, de modo a dar ao
utilizador a percepção de que a cena se desloca em conformidade com aquele dispositivo de interacção.
4.5.1.2 Zoom
Neste caso, a câmara desloca-se perpendicularmente ao plano de projecção da cena.
Os movimentos do estilete para cima e/ou para a direita correspondem a uma aproximação da câmara à cena e a um consequente aumento do factor de ampliação. Os
movimentos para baixo e/ou para a esquerda, pelo contrário, conduzem a um afastamento da câmara e a uma redução em conformidade do mesmo factor. A operação é
simétrica em relação ao ponto indicado pelo cursor no instante em que o estilete foi
pressionado de encontro à superfície do ecrã. Quer isto dizer que a localização deste
ponto na área de trabalho não é afectada pela operação de zoom, o que implica a execução em simultâneo, de forma transparente para o utilizador, de uma operação de
pan.
4.5.1.3 Viewpoint
Neste modo de interacção, a câmara desloca-se sobre uma superfície esférica imaginária centrada no ponto da cena indicado pelo cursor no instante em que estilete foi
pressionado de encontro à superfície do ecrã35. Os movimentos horizontais do estilete
35
Este ponto designa-se por ponto de interesse e a determinação das suas coordenadas 3D varia consoante o cursor estiver ou não localizado sobre a projecção de um objecto tridimensional. No primeiro
O protótipo GIDeS
4-83
traduzem-se em alterações na grandeza do ângulo horizontal de observação (φ). Os
movimentos verticais, pelo contrário, têm como consequência a modificação do valor
do ângulo vertical (θ) (Figura 4-44).
Ponto de
observação
Ângulo
vertical (θ)
Ponto de
interesse
Ângulo
horizontal (φ)
Figura 4-44 – Ângulos de observação da cena
4.5.1.4 Restabelecimento da isometria
Esta operação atribui aos ângulos horizontal e vertical de observação da cena os valores correspondentes a uma projecção isométrica: φ = 45º e θ = 35.26º 36. Também
desencadeia a execução de uma operação de zoomall (Secção 4.5.2.2.3).
4.5.2 Interacção caligráfica
Não obstante a eficiência dos processos de manipulação directa da câmara, também
foram contemplados gestos de comando que permitem efectuar o mesmo tipo de operações. Esta forma redundante de controlar os parâmetros de visualização37 pode ser
caso, recorre-se ao mecanismo de picking do OpenGL para obter a equação do plano a que o ponto
pertence; no segundo, assume-se que o ponto está situado no “chão” da cena, isto é, no plano z = 0.
36
Mais precisamente, θ = arcsin 1 3 .
37
Tratava-se da única forma existente na primeira versão do protótipo.
4-84
Interacção caligráfica ambígua em sistemas computacionais de modelação
útil nas situações em que a escassez dos recursos gráficos e/ou de processamento do
computador utilizado tornar impraticável a manipulação directa, ou em que o uso do
botão lateral do estilete não seja do agrado do designer. Também possibilita a interacção com um pequeno estilete sem botões, do género dos que acompanham os PDAs38.
4.5.2.1 Pan
Os gestos que instanciam o comando pan pretendem representar uma mão humana
com o dedo indicador estendido (Figura 4-45). O sistema reconhece quer a mão direita, quer a esquerda. Quando invocada, esta operação desloca a câmara segundo uma
trajectória paralela ao plano de projecção, de modo a que o ponto da cena situado sob
a extremidade do dedo indicador passe a estar localizado no centro da janela de trabalho.
Figura 4-45 – Gestos correspondentes ao comando pan
4.5.2.2 Zoom
A versão caligráfica das operações de ampliação e redução da imagem contempla três
variantes distintas: zoomin, zoomout e zoomall. Todas elas são instanciadas pelo
mesmo gesto de comando (ambiguidade forçada; ver a Secção 3.3.1 do Capítulo 3), o
que torna inevitável o aparecimento de uma lista de expectativas (Figura 4-46).
38
Personal Digital Assistants.
O protótipo GIDeS
4-85
Figura 4-46 – Gesto correspondente aos comandos zoom e lista de expectativas associada
4.5.2.2.1 Zoomin
A execução desta operação tem como consequência a ampliação da imagem e a deslocação da câmara de modo a que a área delimitada pelo rectângulo envolvente do gesto
passe a ocupar, na medida do possível, a totalidade da janela de trabalho. De um
modo geral, a razão entre a largura e a altura – o ratio de aspecto – do rectângulo e da
janela não são iguais, pelo que existe uma infinidade de valores possíveis para o factor
de ampliação. O sistema adopta o menor desses valores.
4.5.2.2.2 Zoomout
A invocação do comando zoomout promove a redução da imagem e a deslocação da
câmara de modo a que a área correspondente à totalidade da janela de trabalho passe a
estar delimitada, na medida do possível, pelo rectângulo envolvente do gesto. Tal
como anteriormente, é adoptado o menor dos valores possíveis para o factor de
ampliação.
4.5.2.2.3 Zoomall
No caso da operação zoomall, a posição e as dimensões do rectângulo envolvente do
gesto são irrelevantes. O sistema procede à ampliação ou à redução da imagem e à
deslocação da câmara de modo a que a cena passe a preencher a totalidade da área
correspondente à janela de trabalho.
4-86
Interacção caligráfica ambígua em sistemas computacionais de modelação
4.5.2.3 Viewpoint e restabelecimento da isometria
Na sua variante caligráfica39, o comando viewpoint é instanciado por um gesto que
pretende representar um olho humano e a sua execução inicia-se com a exibição da
caixa de diálogo ilustrada na Figura 4-47.
Figura 4-47 – Gesto correspondente ao comando viewpoint e caixa de diálogo associada
O centro da superfície esférica imaginária sobre a qual a câmara se desloca – o ponto
de interesse – é o que corresponde, no espaço tridimensional, ao centro geométrico do
rectângulo envolvente do gesto40. O utilizador dispõe de duas formas distintas de
modificar os ângulos horizontal e vertical de observação: introduzindo directamente
os seus valores ou deslocando as barras de scroll. A representação, na caixa de diálogo, do sistema de eixos coordenados varia em consonância com as alterações efectuadas quer de uma, quer de outra maneira. O mesmo sucede com a cena, na janela principal do sistema. O botão Default permite, em qualquer altura, restabelecer os valores,
já referidos na Secção 4.5.1.4, correspondentes a uma projecção isométrica.
39
Na realidade trata-se de uma variante híbrida, caligráfica e de manipulação directa.
40
Ver a nota de rodapé 35, nas páginas 4-82 e 4-83 deste capítulo.
O protótipo GIDeS
4-87
4.6 Conclusão
Neste capítulo procedeu-se à descrição pormenorizada, no plano técnico, do protótipo
que serviu de base à avaliação da exequibilidade e da validade dos princípios que
constituem a abordagem ao problema da interacção natural em sistemas computacionais de apoio ao design.
Foram tidos em consideração diversos aspectos característicos do sistema GIDeS, tais
como a arquitectura em cascata do processo de reconhecimento caligráfico e a diversidade dos algoritmos em que o mesmo se fundamenta, quer ao nível do préprocessamento dos gestos do utilizador, quer no âmbito do reconhecimento propriamente dito. Expuseram-se as contribuições dadas em todas as vertentes deste processo, como sejam a versão aperfeiçoada do algoritmo de Rubine (no caso do reconhecimento de gestos de comando), os métodos usados na determinação da geometria dos
traços e na adaptação do sistema à forma como cada utilizador os esboça (primitivas
2D), os aspectos topológicos e geométricos do desenho enquanto representação possível da projecção de um objecto tridimensional (primitivas 3D) e as técnicas usadas na
identificação de operações booleanas e das situações em que é desejável que as mesmas ocorram.
O mecanismo de análise gravitacional também foi objecto de uma especial atenção,
pelo papel preponderante que desempenha quer no contexto do reconhecimento caligráfico, quer no âmbito da modelação rigorosa. No primeiro caso, a gravidade proporciona um auxílio valioso ao estabelecimento de relações de natureza espacial (e não
temporal) entre os traços constituintes dos diferentes gestos; no segundo, estabelece
relações de interdependência entre a geometria 2D (o desenho) e 3D (a cena), as quais
são usadas na definição de restrições de modelação e de linhas de construção.
4-88
Interacção caligráfica ambígua em sistemas computacionais de modelação
Os aspectos teóricos ligados à construção de splines e à dedução das condições de
fronteira – relaxada, clamped, cíclica ou anticíclica – mais apropriadas ao bom enquadramento das mesmas na totalidade do desenho, também foram focados ao longo deste capítulo.
Por último, descreveu-se a implementação das técnicas de oversketching e do seu
aproveitamento no aperfeiçoamento dos esboços feitos pelo utilizador, dos utensílios
de edição e transformação geométrica de objectos tridimensionais – clipboard 3D,
colagem, deslocamento, ajustamento, corte e linhas de construção – e das duas variantes, caligráfica e de manipulação directa, de interacção usadas na invocação dos
comandos de manuseamento da câmara virtual.
Capítulo 5
Avaliação de usabilidade
Introdução
Metodologia em estrela de desenvolvimento de sistemas interactivos
Avaliação de usabilidade do sistema GIDeS
Questionário inicial
Apresentação do sistema GIDeS aos participantes
Primeiro questionário
Testes de eficiência
Primeiro teste de eficiência
Segundo teste de eficiência
Terceiro teste de eficiência
Resultados
Segundo questionário
Críticas e sugestões ao sistema GIDeS
Comando undo
Projecções ortográficas
Projecções paralelas a faces de objectos
Linhas de construção
Listas de expectativas de primitivas 3D
Complemento à discussão de resultados
Conclusão
5 Avaliação de usabilidade
Neste capítulo é feita uma breve introdução aos aspectos que devem ser tomados em
consideração durante o processo de desenvolvimento de sistemas interactivos, nomeadamente a necessidade de separar o design da interface, o qual deverá ser centrado no
utilizador, do desenvolvimento do software que a suporta. É também introduzido o
conceito de usabilidade. Segue-se a descrição de uma metodologia iterativa, centrada
na avaliação, de desenvolvimento de sistemas interactivos – a metodologia em estrela.
Por último é feita uma descrição detalhada, e consequente discussão, dos procedimentos que foram efectuados no sentido de avaliar a usabilidade do sistema GIDeS e a
validade das ideias que lhe são subjacentes.
5.1 Introdução
O papel das interfaces com o utilizador nem sempre foi considerado um aspecto de
primordial importância a ter em conta durante o design e a concepção de sistemas
interactivos. Não existiam estudos no âmbito da Interacção Homem-Máquina, pelo
que o desenvolvimento da interface com o utilizador obedecia a critérios de ordem
puramente estrutural, os quais, de um modo geral, não coincidem com os interesses e
as necessidades de quem vai, efectivamente, usar o sistema: o utilizador.
Hix et al. [Hix93] descrevem uma situação ocorrida durante a Segunda Guerra Mundial que ilustra bem este conflito. Acontecia que, por vezes, os pilotos de determinado
modelo de avião se ejectavam inadvertidamente do aparelho. A investigação efectuada na sequência destes acontecimentos permitiu concluir que os engenheiros aeronáuticos tinham efectuado uma pequena alteração no design do cockpit, colocando o
botão de ejecção no lugar habitualmente ocupado pela alavanca que regula a quanti-
5-2
Interacção caligráfica ambígua em sistemas computacionais de modelação
dade de combustível que abastece os motores do aparelho. Perante os protestos dos
pilotos, os engenheiros argumentaram que tinham tido boas razões para efectuar a
referida alteração. Além disso, sendo os pilotos seres humanos inteligentes e dotados
de capacidade de aprendizagem, podiam ser treinados no sentido de se adaptarem ao
novo design do cockpit. Infelizmente, em situações de stress, o ser humano tem tendência a ignorar o treino a que foi previamente submetido e a reverter às acções que
lhe são mais familiares, pelo que os pilotos que tinham aprendido a voar no cockpit
original, numa situação de combate aéreo, procuravam a alavanca do combustível no
lugar onde era usual e natural encontrá-la, accionando em seu lugar o botão de ejecção.
Esta história permite concluir que, na medida do possível, não deve ser o utilizador a
adaptar-se à interface mas, pelo contrário, deve ser a interface que deve ser concebida
no sentido de a sua aprendizagem e utilização serem fáceis e naturais para o utilizador. Além disso, os critérios de ordem estrutural que condicionam o desenvolvimento
do suporte da interface não devem interferir de forma alguma com o design da mesma, devendo este reger-se por preceitos exclusivamente comportamentais.
No caso concreto dos sistemas computacionais interactivos, Hix et al. propõem a divisão do processo de desenvolvimento de interfaces em dois domínios distintos: comportamental e estrutural.
No domínio comportamental, a interacção é descrita de uma forma abstracta, isto é,
independentemente do software que a suporta, em termos do comportamento do utilizador face à interface e vice-versa. Os aspectos envolvidos neste domínio são factores
humanos, linhas de orientação e regras de design de interfaces, limitações de carácter
cognitivo dos seres humanos, design gráfico, estilos de interacção, cenários, especifi-
Avaliação de usabilidade
5-3
cações de usabilidade, prototipagem rápida e avaliação com o recurso a utilizadores
humanos.
No domínio estrutural, os engenheiros de software e os programadores desenvolvem o
software que efectivamente suporta a interacção, tal como ela foi descrita no domínio
comportamental. Os aspectos envolvidos neste domínio são, entre outros, algoritmos,
estruturas de dados, programação, fluxogramas, diagramas de transição de estado,
widgets, callbacks, e linguagens descritivas de interfaces com o utilizador. A Tabela
5-1, adaptada de [Hix93], permite comparar as características dos ambos os domínios.
Comportamental
Estrutural
Objecto de
desenvolvimento
Interacção
Software que suporta a interacção
Ponto de vista
adoptado
Utilizador
Sistema
Objecto de
descrição
Acções do utilizador, percepções e
tarefas
Reacções do sistema face às acções do
utilizador
Aspectos
envolvidos
Factores humanos, cenários, representações detalhadas, especificações de
usabilidade, avaliação
Algoritmos, estruturas de dados, programação, widgets, callbacks
Teste
Procedimentos efectuados pelo
utilizador
Procedimentos efectuados pelo sistema
Tabela 5-1 – Domínios comportamental e estrutural
Esta abordagem comportamental ao desenvolvimento de interfaces, centrada no utilizador e nas tarefas que o mesmo pretende efectuar, deve conduzir a uma maior usabilidade do que a abordagem oposta, centrada no programador e nos critérios de carácter estrutural pelos quais este se rege. A definição de usabilidade aqui empregue é a
5-4
Interacção caligráfica ambígua em sistemas computacionais de modelação
referida em [Hix93]1 como sendo a combinação das seguintes características, todas
elas centradas no utilizador:
•
Facilidade de aprendizagem.
•
Rapidez na execução de tarefas.
•
Taxa de erros reduzida.
•
Satisfação subjectiva do utilizador.
•
Fidelização ao longo do tempo.
O conceito de usabilidade é mais formal, abrangente e preciso do que o mais popular
conceito de user friendliness. Em primeiro lugar não é um termo antropomórfico, nem
é desejável que o seja, pois não só os sistemas computacionais não têm, pelo menos
por enquanto, a capacidade de entender o conceito de amizade, como o utilizador não
vê os mesmos como potenciais amigos, mas antes como ferramentas que lhe permitem
produzir o máximo possível com um dispêndio mínimo de esforço e de tempo. Em
segundo lugar o conceito de usabilidade vai mais longe do que o de user friendliness,
na medida em que, para lá dos aspectos relacionados com a facilidade e a naturalidade
da aprendizagem e utilização de sistemas interactivos, também contempla aspectos
como a eficiência da interface com o utilizador e a reacção do utilizador à interface.
Em terceiro e último lugar, a usabilidade de uma interface é susceptível de ser avaliada mediante a realização de testes envolvendo potenciais utilizadores do sistema.
1
Nielsen propõe uma definição de usabilidade assente em cinco atributos – facilidade de aprendizagem, eficiência, facilidade de memorização, taxa de erros reduzida e satisfação subjectiva do utilizador
[Nielsen93b] – que é, na sua essência, idêntica à de Hix e Hartson.
Avaliação de usabilidade
5-5
5.2 Metodologia em estrela de desenvolvimento de sistemas
interactivos
Hix et al. analisaram algumas das metodologias – todas elas top-down – tradicionalmente utilizadas no projecto e desenvolvimento de software, desde as abordagens
estritamente sequenciais, de que é exemplo a metodologia em cascata, até às abordagens iterativas, como é o caso da metodologia em espiral [Boehm88].
As observações efectuadas levaram os autores à conclusão de que o desenvolvimento
de software, e em particular de sistemas interactivos, é mais eficiente quando se processa sob a forma de ondas alternadas de dois tipos complementares de actividades:
actividades do tipo bottom-up, concretas, criativas e de síntese, que tendem a reflectir
o ponto de vista do utilizador e progridem na direcção do sistema, e actividades do
tipo top-down, abstractas, estruturantes e de análise, que espelham uma perspectiva do
sistema e evoluem na direcção do utilizador. Isto é, um modo de síntese para criar
alguma coisa, e um modo de análise para a avaliar.
Outra conclusão consiste no facto de as metodologias iterativas serem preferíveis às
suas congéneres sequenciais [Gould85, Carroll85], por duas razões essenciais: em
primeiro lugar porque não é possível, logo à partida, ter em conta todos os pormenores de implementação do software, pelo que o ciclo de desenvolvimento deve ser
repetido de modo a que o nível de detalhe aumente em cada iteração. Em segundo
lugar, e no caso particular dos sistemas interactivos, a necessidade de uma abordagem
iterativa é ainda mais imperativa, devido à imprevisibilidade do comportamento
humano. Gould et al. referem que os sistemas interactivos “incluem um coprocessador cujo comportamento é amplamente imprevisível – o utilizador humano”
[Gould85]. Por outras palavras, o desenvolvimento de um sistema interactivo deve ser
5-6
Interacção caligráfica ambígua em sistemas computacionais de modelação
um processo essencial e inerentemente iterativo, um processo baseado em tentativas e
erros, que se corrige a si próprio com base na informação proveniente da observação
do comportamento dos utilizadores face ao referido sistema2.
Todas estas considerações levaram Hix e Hartson a propor uma nova metodologia de
desenvolvimento de sistemas interactivos, designada por estrela [Hartson89, Hix93]
(Figura 5-1).
Análise de sistemas/
tarefas/funcional/
utilizadores
Requisitos/
especificações de
usabilidade
Desdobramento
Avaliação
de
usabilidade
Produção
de
software
Design e
representação do
design
Prototipagem rápida
Figura 5-1 – Metodologia em estrela de desenvolvimento de sistemas interactivos
Este processo de desenvolvimento caracteriza-se, entre outros aspectos, por suportar
tanto a abordagem do tipo bottom-up como a do tipo top-down, ser iterativo e estar
centrado na avaliação. A metodologia em estrela não impõe ao designer do sistema
interactivo uma sequência para as actividades de desenvolvimento (localizadas nas
pontas da estrela), para além do facto de a transição de uma actividade para outra passar obrigatoriamente pela avaliação de usabilidade (localizada no centro da estrela).
2
Mais precisamente, face a protótipos sucessivamente melhorados do sistema em desenvolvimento.
Avaliação de usabilidade
5-7
Isto é, os resultados decorrentes de cada actividade são devidamente avaliados antes
de se prosseguir com a actividade seguinte. Também não é obrigatório concluir uma
actividade antes de se iniciar outra. Por exemplo, não é forçoso especificar todos os
requisitos de usabilidade antes de se iniciar o processo de design da interface, podendo-se, caso seja desejável, começar por testar um design preliminar, obtido com o
recurso a uma qualquer ferramenta de prototipagem rápida e, no decurso desse processo, aprender bastante acerca dos requisitos de usabilidade que deverão ser estabelecidos.
O controlo de todo este mecanismo é baseado na chamada avaliação formativa, um
processo contínuo de avaliação de usabilidade que recorre à experimentação de sucessivos protótipos do sistema por parte de potenciais utilizadores do mesmo, sendo que
o ciclo de desenvolvimento termina quando os resultados da referida avaliação cumprirem os requisitos e especificações de usabilidade definidos para aquele sistema.
A avaliação de usabilidade é, por conseguinte, um dos componentes fundamentais do
processo de desenvolvimento de um sistema interactivo. A informação recolhida que
decorre da realização dos testes de usabilidade é de dois tipos: quantitativo, como
sejam os tempos gastos a efectuar determinadas tarefas e as respostas dadas pelos utilizadores a questionários bem definidos; e qualitativo, como sejam os problemas
encontrados pelos utilizadores e os comentários e as sugestões de alteração feitas
pelos mesmos.
5.3 Avaliação de usabilidade do sistema GIDeS
O desenvolvimento do sistema GIDeS e das ideias que lhe estão associadas foi precedido e permanentemente acompanhado por um conjunto significativo de utilizadores
5-8
Interacção caligráfica ambígua em sistemas computacionais de modelação
de sistemas computacionais de apoio ao design. A realização de conversas informais e
a observação do modo como trabalham designers gráficos, arquitectos, pessoal docente e discente do Departamento de Comunicação e Arte da Universidade de Aveiro3 e
da Faculdade de Arquitectura da Universidade do Porto, e de outros elementos ligados
à área das Belas-Artes, bem como a participação em conferências de design, das quais
a mais importante foi a apresentação de uma comunicação na 4.ª Conferência da Academia Europeia de Design [Pereira01a], permitiu estabelecer o perfil desta classe de
utilizadores, as suas necessidades e expectativas face a sistemas deste tipo, os problemas com que se deparam na utilização dos sistemas comercialmente disponíveis, as
tarefas que desejariam poder efectuar e a forma como as mesmas deveriam ser efectuadas.
Para além das sucessivas conversas, demonstrações e testes informais que permitiram
aperfeiçoar o sistema GIDeS, também foi efectuada uma avaliação formal da usabilidade do mesmo. Esta foi conduzida pelo autor deste trabalho e por um dos seus orientadores4, decorreu em dois dias consecutivos e teve lugar na Faculdade de Arquitectura da Universidade do Porto – primeiro dia – e no Departamento de Comunicação e
Arte da Universidade de Aveiro – segundo dia. A razão pela qual a avaliação se
estendeu por dois dias e por dois locais diferentes prendeu-se com a disponibilidade
dos diferentes participantes. Estes eram em número de cinco, a saber:
3
Entre os quais se inclui um dos orientadores deste trabalho, o Doutor Vasco Branco. Sem querer
menosprezar o importante papel desempenhado pelos restantes orientadores, o facto de Branco, para
além da sua formação na área da Engenharia Electrotécnica e de Computadores, ter também formação
no âmbito das Belas-Artes, permite-lhe conhecer particularmente bem os utilizadores e os sistemas
computacionais de apoio ao design, as necessidades dos primeiros e as limitações dos segundos, e
assim prestar um importante contributo no desenvolvimento, no domínio comportamental, da interface
do sistema GIDeS.
4
O Doutor Vasco Branco.
Avaliação de usabilidade
•
5-9
Um arquitecto e docente na Faculdade de Arquitectura da Universidade do
Porto.
•
Três designers industriais, dos quais um é, também, designer de comunicação,
e outro engenheiro mecânico. Todos eles desempenham ainda actividades de
docência no Departamento de Comunicação e Arte da Universidade de Aveiro.
•
Uma engenheira de materiais e estagiária em design no Departamento de
Comunicação e Arte da Universidade de Aveiro.
Quatro dos participantes são utilizadores regulares e experientes de sistemas computacionais de apoio ao design, com especial destaque para o AutoCAD 2000, SolidWorks e 3D Studio. O elemento restante, não obstante ser um utilizador esporádico,
conhece igualmente bem os sistemas de CAD comercialmente disponíveis.
O equipamento utilizado era composto por um computador portátil da marca ASUS,
modelo L8400C, munido de um processador Pentium III/1000 MHz, memória central
de 256 MB e disco de 20 GB. O sistema operativo instalado foi o Windows 98 Second
Edition, da Microsoft Corporation. Os dispositivos de entrada/saída utilizados foram
de dois tipos: um rato convencional e o ecrã de 14” do próprio computador; e um conjunto composto por um ecrã táctil de 12” e respectivo estilete, da marca WACOM,
modelo PL-300.
A sessão de avaliação de usabilidade teve a duração aproximada de 90 minutos e consistiu, essencialmente, nas seguintes etapas (ver o guião da referida sessão no Apêndice B desde documento):
•
Recepção – descrição dos trabalhos (5 minutos);
5-10
•
Interacção caligráfica ambígua em sistemas computacionais de modelação
Preenchimento de um questionário inicial (QTi no guião) destinado a estabelecer o perfil de cada participante, no que se refere à sua opinião e experiência
de utilização dos sistemas de CAD tradicionais (5 minutos);
•
Apresentação audiovisual e no posto de trabalho do sistema GIDeS, seguida
de uma breve discussão das suas funcionalidades (40 minutos);
•
Preenchimento de um primeiro questionário (QT1) sobre o protótipo GIDeS
(5 minutos);
•
Realização de três testes de eficiência (BM1 a BM3) (30 minutos);
•
Preenchimento de um segundo questionário (QT2) sobre o protótipo GIDeS (5
minutos).
As respostas possíveis a cada uma das perguntas dos diversos questionários variavam
entre o valor -3 (caso mais desfavorável) e o valor +3 (caso mais favorável), sendo
que o valor 0 reflectia uma opinião neutra.
5.3.1 Questionário inicial
O questionário inicial teve a duração aproximada de 5 minutos e a finalidade de estabelecer o perfil de cada participante, nomeadamente a sua opinião e experiência de
utilização dos actuais sistemas computacionais de apoio ao design. Nas Figuras 5-2 e
5-3 estão representados, respectivamente, o gráfico das respostas dadas pelos diferentes utilizadores ao questionário, e o gráfico dos valores médios correspondentes.
A análise pormenorizada dos gráficos permite constatar que, não obstante os sistemas
computacionais serem considerados globalmente valiosos e indispensáveis no âmbito
do projecto em design (questões 1 a 3), a sua utilização efectiva varia consoante o tipo
Avaliação de usabilidade
5-11
de trabalho que se pretende efectuar: sendo o instrumento de eleição quando se trata
de escrever e de desenhar com rigor (questões 4 e 6, respectivamente), o computador
é preterido em favor do papel e lápis na tarefa de esboçar (questão 5).
Questionário Inicial
15
10
Respostas
5
0
-5
Participante 5
Participante 4
Participante 3
-10
Participante 2
Participante 1
-15
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 21 22
Questão n.º
Figura 5-2 – Respostas ao questionário inicial
As três questões seguintes serviram para sondar os participantes no que se refere à sua
opinião sobre a utilidade dos sistemas de CAD actuais. Verifica-se que os sistemas
computacionais de apoio ao design são considerados úteis para efeitos de síntese de
imagens e de execução de desenho rigoroso (questões 8 e 9, respectivamente), mas o
mesmo já não acontece no que à fase conceptual do design diz respeito (questão 7).
As questões 10 a 13 tiveram como objectivo estabelecer a experiência dos participantes na utilização de sistemas computacionais de apoio ao design, nomeadamente na
produção de peças desenhadas (questões 10 e 12) e na modelação 3D de objectos
5-12
Interacção caligráfica ambígua em sistemas computacionais de modelação
(questões 11 e 13). As variações ao nível das respostas individuais foram grandes:
quatro dos cinco participantes revelaram ser utilizadores regulares e bastante experientes deste tipo de sistemas, sendo o elemento restante (participante 3) um utilizador
esporádico dos mesmos. O valor médio é, no entanto, francamente positivo.
Questionário Inicial
Respostas (valor médio)
3
2
1
0
-1
-2
-3
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 21 22
Questão n.º
Figura 5-3 – Valores médios das respostas ao questionário inicial
As duas questões seguintes serviram para conhecer a opinião dos participantes sobre a
facilidade de utilização dos sistemas de CAD actuais. As respostas individuais divergem muito, sendo que os participantes 1 e 4 responderam positivamente, os participantes 2 e 5, pelo contrário, consideram os sistemas actuais difíceis de usar, e o participante 3 que, recorde-se, é apenas um utilizador esporádico, deu uma resposta neutra.
Em termos médios, os valores obtidos traduzem alguma facilidade de utilização no
âmbito da produção de peças desenhadas (questão 14), mas já no que se refere à
modelação 3D de objectos (questão 15), o valor médio é neutro.
O propósito das questões 16 a 18 foi o de conhecer a opinião dos participantes sobre a
utilidade das representações computacionais de objectos 3D no âmbito do design. As
Avaliação de usabilidade
5-13
respostas dadas revelam a grande importância das referidas representações quando se
trata de obter uma ideia do comportamento visual do objecto modelado (questão 16),
ou de estudar o comportamento físico do mesmo (questão 18). A unanimidade já não
se verifica, no entanto, no que diz respeito à utilidade de um modelo 3D na substituição de uma maqueta (questão 17): os participantes 1 e 4 responderam negativamente,
os participantes 2 e 5 positivamente, e a resposta do participante 3 foi, mais uma vez,
neutra. O valor médio correspondente é muito moderadamente positivo.
Por último, as questões 19 a 22 visavam conhecer a apreciação que os utilizadores
fazem dos melhores sistemas de CAD que conhecem. A opinião acerca da funcionalidade destes sistemas (questão 19) é unânime e muito positiva, mas já no que se refere
à interacção (questão 20), as respostas variam: os participantes 1, 3 e 4 pronunciaramse favoravelmente, contrariamente aos participantes 2 e 5, que revelaram a sua insatisfação neste aspecto em particular. O valor médio alcançado é muito moderadamente
positivo. Os manuais e outros auxílios (questão 21) foram também objecto de divergência de opiniões (os participantes 1, 2 e 5 pronunciaram-se desfavoravelmente; os
restantes elementos deram uma opinião favorável), sendo que o valor médio é neutro.
A opinião global dos utilizadores sobre os sistemas de CAD da sua preferência (questão 22) é positiva, não obstante os participantes 2 e 5 terem dado, respectivamente,
uma resposta neutra e outra desfavorável.
Para além de estabelecer o perfil de utilização de cada participante, o questionário inicial permite, desde já, confirmar alguns aspectos relevantes. Em primeiro lugar, os
sistemas de CAD actuais são pouco adequados aos estágios iniciais do processo de
design – fase conceptual – sendo utilizados preferencialmente nas tarefas subsequentes do processo, nomeadamente na produção de peças desenhadas e, em menor escala,
5-14
Interacção caligráfica ambígua em sistemas computacionais de modelação
na modelação 3D de objectos, nas quais a criatividade dá lugar à execução rigorosa. A
complexidade de utilização dos sistemas de CAD actuais, munidos de um elevado
número de comandos e respectivas opções de configuração, e uma interacção composta por diálogos rígidos e muito estruturados, interferem com os processos mentais do
utilizador, desviando a atenção do mesmo e impedindo-o de se concentrar no processo
criativo de concepção de um novo objecto. Esta foi, aliás, a conclusão igualmente
tirada por Branco em 1996, no âmbito da avaliação da usabilidade do seu sistema
[Branco96].
Em segundo lugar, a apreciação que os participantes fizeram aos sistemas de CAD da
sua preferência revela que, não obstante a funcionalidade dos mesmos ser considerada
boa (valor médio 2.0), o mesmo não acontece com a interacção (valor médio 0.2).
Este facto, aliado à circunstância de os utilizadores preterirem a utilização de sistemas
computacionais em favor da utilização do papel e lápis na tarefa de esboçar (numa
escala em que o valor -3 representa o papel e lápis, e +3 o computador, as respostas
dos participantes foram -2, -3, -3, -3 e -3, o que corresponde a um valor médio de
-2.8), sugere que o paradigma WIMP de interacção, bem como os dispositivos de
entrada/saída normalmente usados nos sistemas de CAD actuais (rato/ecrã ou mesa
digitalizadora/ecrã), não são os mais adequados, devendo ser substituídos por outros
em que a naturalidade e a simplicidade de utilização sejam mais próximas das do conjunto lápis/papel. Um paradigma de interacção fundamentado no desenho e implementado com o recurso a um sistema de reconhecimento caligráfico, o qual deverá ser
capaz de gerir as ambiguidades decorrentes do processo de desenho, a par com um
conjunto estilete/ecrã táctil como dispositivo de entrada/saída, parece constituir uma
solução mais apropriada.
Avaliação de usabilidade
5-15
Por último, é interessante verificar a apreciação que os participantes fizeram dos
manuais e outros auxílios existentes nos sistemas de CAD da sua preferência (valor
médio 0.0). Este resultado é surpreendente, na medida em que se trata de sistemas
profissionais, desenvolvidos por empresas consagradas no sector, que têm vindo a
evoluir ao longo de muitos anos, e que dispõem de ajudas muito completas aos mais
variados níveis: manuais detalhados em papel e online, assistência ao utilizador/cliente quer sob a forma de FAQs5 disponíveis em websites desenvolvidos especificamente para esses produtos, quer sob uma forma personalizada, mediante linhas
telefónicas e endereços de correio electrónico dedicados. Valor idêntico foi obtido por
Branco em 1996, aquando da realização dos testes de usabilidade do sistema IDeS
[Branco96]. Estes dados parecem sugerir que não será tanto a qualidade dos manuais
que é má, mas que o aumento na funcionalidade dos sistemas de CAD, obtido à custa
de um acréscimo no número de comandos disponíveis e no número de opções de configuração de cada um desses comandos, se traduz num correspondente aumento na
complexidade da sua utilização, dando assim origem a manuais demasiado extensos e
minuciosos, de difícil compreensão, o que não agrada ao utilizador. Uma interface que
não só reconheça a ambiguidade, como também a explore no sentido de, em função
do contexto, reduzir o número de gestos de comando (interface RISC); em que as
diversas opções decorrentes da execução desses mesmos comandos sejam apresentadas ao utilizador de uma forma simples e directa (o utilizador é confrontado com uma
lista de expectativas na qual estão representados os resultados decorrentes da escolha
5
Frequently Asked Questions.
5-16
Interacção caligráfica ambígua em sistemas computacionais de modelação
de cada uma dessas opções6), não só simplifica a utilização do sistema, reduzindo a
carga cognitiva imposta ao utilizador, como também a quantidade de informação
necessária à sua aprendizagem é menor, pelo que os manuais serão, correspondentemente, menos extensos e de mais fácil compreensão.
5.3.2 Apresentação do sistema GIDeS aos participantes
A apresentação do sistema GIDeS aos participantes teve a duração aproximada de 40
minutos e consistiu numa exibição audiovisual e no posto de trabalho do protótipo,
seguida de discussão.
A apresentação no posto de trabalho permitiu demonstrar as funcionalidades básicas
do sistema GIDeS, nomeadamente a familiarização com o paradigma do desenho
incremental, os gestos associados aos comandos elementares de apagar e seleccionar
objectos, os comandos de manipulação da câmara e o modo de invocação dos mesmos7, o modo de invocação dos comandos de edição 3D8, as primitivas 3D suportadas
pelo sistema e os gestos que as instanciam, a sugestão automática de operações booleanas e as listas de expectativas em todas as suas diferentes configurações.
6
Isto é, ao contrário dos sistemas de CAD tradicionais, em que o utilizador começa por invocar um
comando, define as opções de configuração desse comando, e obtém um e um só resultado, no sistema
GIDeS o utilizador invoca um comando e obtém, de um modo geral, diversos resultados sob a forma de
uma lista de expectativas, cada um dos quais traduz uma opção diferente de configuração do comando
invocado. Ao utilizador cabe apenas a tarefa de seleccionar o resultado pretendido.
7
À semelhança do que acontece com os menus flutuantes existentes na generalidade das interfaces
WIMP, a lista de expectativas associada aos comandos de manipulação da câmara é invocada mediante
o uso do botão lateral do estilete (ou do botão direito do rato, se for o caso), não existindo nenhum
indicador visual que informe o utilizador da existência desta funcionalidade.
8
A invocação da lista de expectativas correspondente aos comandos de edição 3D é feita pressionando
o estilete, com a duração mínima de um segundo, sobre a projecção de um objecto previamente seleccionado. Também neste caso não existe nenhum indicador visual que alerte o utilizador para a existência desta funcionalidade.
Avaliação de usabilidade
5-17
A apresentação audiovisual incluiu a apresentação de cinco pequenos vídeos, devidamente comentados, de demonstração das funcionalidades mais avançadas do sistema
GIDeS. No primeiro e segundo vídeos foram exibidas algumas das capacidades de
edição 2D e 3D do sistema, designadamente a correcção de esboços – oversketching –
e o corte de objectos.
Figura 5-4 – Cena composta por uma mesa, quatro cadeiras e um vaso
No terceiro vídeo foi exibido o processo de construção de uma cadeira de formas rectilíneas, em tudo semelhante às que se podem ver na Figura 5-4. O objectivo deste
vídeo foi o de demonstrar algumas das funcionalidades mais avançadas do sistema
GIDeS, como sejam o uso de linhas de construção na produção rigorosa de geometria,
o uso das ferramentas avançadas de edição 3D – deslocamento, ajustamento, colagem
e corte de objectos – e as restrições de carácter geométrico associadas a estes processos – coincidência dos planos das faces dos objectos, alinhamento das arestas e coincidência de vértices.
5-18
Interacção caligráfica ambígua em sistemas computacionais de modelação
O quarto vídeo ilustrou a construção de um modelo semelhante ao representado na
Figura 5-5 e pretendeu demonstrar a criação precisa de objectos de revolução com
base nas restrições da coincidência dos centros geométricos e da igualdade de diâmetros. Também serviu para reforçar a utilização da ferramenta de colagem na produção
incremental de objectos compostos.
Figura 5-5 – Candeeiro
Com o quinto e último vídeo os participantes tiveram a oportunidade de observar o
processo de construção de um modelo 3D de maior complexidade (Figura 5-6) e, deste modo, consolidar a sua aprendizagem relativamente às funcionalidades e ao modo
de utilização do sistema GIDeS.
O processo de apresentação do protótipo concluiu-se com uma discussão em que os
participantes tiveram o ensejo de colocar aos elementos condutores da sessão todas as
Avaliação de usabilidade
5-19
questões que entenderam pertinentes e, por conseguinte, esclarecer todas as dúvidas
respeitantes à funcionalidade e à utilização do sistema.
Figura 5-6 – Candeeiro mais complexo
5.3.3 Primeiro questionário
Após a apresentação do protótipo GIDeS, foi pedido aos participantes que respondessem a um primeiro questionário, no qual estes tiveram a oportunidade de emitir as
suas opiniões no que concerne a diversos aspectos da utilização do sistema e às ideias
que lhe são subjacentes. Note-se que o questionário precedeu a experimentação do
protótipo, pelo que as respostas dos participantes reflectem única e exclusivamente as
opiniões decorrentes da apresentação audiovisual e no posto de trabalho, previamente
efectuada. A Figura 5-7 ilustra o gráfico das respostas dadas pelos diferentes participantes ao questionário. O gráfico dos valores médios correspondentes está representado na Figura 5-8.
5-20
Interacção caligráfica ambígua em sistemas computacionais de modelação
Primeiro Questionário
15
13
11
Respostas
9
7
5
3
1
Participante 5
Participante 4
-1
Participante 3
Participante 2
-3
Participante 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
-5
Questão n.º
Figura 5-7 – Respostas ao primeiro questionário
Primeiro Questionário
2.5
2
1.5
1
0.5
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Respostas (valor médio)
3
Questão n.º
Figura 5-8 – Valores médios das respostas ao primeiro questionário
As questões 1 a 3 do questionário tiveram o propósito de conhecer a opinião global de
cada um dos participantes no que se refere às ideias subjacentes ao desenvolvimento
Avaliação de usabilidade
5-21
do sistema GIDeS. As respostas indicam que as referidas ideias são muito interessantes (questão 1, valor médio 3.0 numa escala de -3.0 a +3.0), originais (questão 2, valor
médio 2.8) e muito úteis (questão 3, valor médio 2.8).
Nas seis questões seguintes os participantes classificaram o protótipo GIDeS sob os
mais variados aspectos. Mais concretamente, o sistema foi considerado fácil de usar
(questão 4, valor médio 2.6), estimulante (questão 5, valor médio 2.8) e flexível
(questão 6, valor médio 2.4). No que se refere à concepção de novos objectos, a utilização do protótipo foi classificada como sendo familiar (questão 7, valor médio 2.8),
adequada (questão 8, valor médio 2.8) e suficiente (questão 9, valor médio 2.0).
Nas questões 10 a 21 os participantes caracterizaram a adequação do sistema à modelação 3D, nos aspectos ligados aos dispositivos de entrada/saída, ao conjunto de gestos caligráficos, e ao mecanismo de sugestão e resolução de ambiguidades – listas de
expectativas – nas suas diferentes configurações.
No que se refere aos dispositivos de entrada/saída, a adequação do conjunto composto
por um rato e um ecrã convencionais foi considerada aceitável (questão 10, valor
médio 0.6). No entanto, os participantes atribuíram classificações bem mais elevadas
aos conjuntos constituídos por uma mesa digitalizadora e um ecrã convencional (questão 11, valor médio 2.0), e por um estilete e um ecrã táctil (questão 12, valor médio
3.0).
Os gestos caligráficos reconhecidos pelo protótipo foram classificados como muito
bons no entender dos participantes. Mais concretamente, os gestos associados a
comandos (questão 13) obtiveram a classificação média de 2.4, tendo os gestos que
instanciam primitivas 3D (questão 14) alcançado o valor médio de 3.0.
5-22
Interacção caligráfica ambígua em sistemas computacionais de modelação
A classificação das diversas opções de configuração das listas de expectativas de primitivas 3D está patente nas respostas às questões 15 a 21. Existem três estilos possíveis de listas de expectativas: o primeiro consiste em apresentar as primitivas que, em
função do contexto, estão disponíveis para o utilizador, sob a forma de uma barra de
ícones predefinidos, localizada junto ao cursor9 (Figura 5-9).
Figura 5-9 – Lista de expectativas de primitivas 3D: barra de ícones
Esta alternativa tem a vantagem de exibir todas as opções simultaneamente e de não
obrigar a grandes movimentações do estilete. No entanto, o facto de os ícones serem
predefinidos e constituírem apenas símbolos representativos das primitivas que lhes
estão associadas, não dá ao utilizador uma ideia antecipada e precisa do resultado que
vai obter em cada um dos casos. A opinião dos participantes relativamente a este estilo (questão 15) não foi consensual: os participantes 1 e 3 classificaram-no negativamente, enquanto os participantes 2, 4 e 5 lhe atribuíram pontuações positivas. O valor
médio correspondente é de 0.2.
O segundo estilo de lista de expectativas consiste numa sequência em escala natural
das primitivas que estão disponíveis para o utilizador (Figura 5-10). Este percorre as
9
Isto é, nesta configuração as listas de expectativas de primitivas 3D são em tudo semelhantes às suas
congéneres de comandos.
Avaliação de usabilidade
5-23
diversas opções da sequência, pressionando sucessivamente o estilete na região amarela delimitada por um rectângulo vermelho a traço ponteado, da área de trabalho.
Figura 5-10 – Lista de expectativas de primitivas 3D: sequência de modelos em escala natural
Esta configuração tem a vantagem de exibir em antecipação, e no local definitivo da
área de trabalho, os resultados susceptíveis de virem a ser obtidos pelo utilizador, e
não obriga a movimentações significativas do estilete. Como contrapartida, a interacção é mais lenta e implica um maior dispêndio de esforço, na medida em que o utilizador tem de invocar em sucessão as diversas opções, até encontrar a que pretende. A
classificação média alcançada por este estilo foi de 2.8 (questão 16).
Figura 5-11 – Lista de expectativas de primitivas 3D: modelos em escala reduzida
O terceiro e último estilo de lista de expectativas consiste em exibir, no canto superior
esquerdo da área de trabalho, uma janela secundária contendo modelos em escala
reduzida das primitivas disponíveis em função do contexto10 (Figura 5-11). O utilizador indica ao sistema o objecto pretendido, pressionando o estilete sobre a representa-
10
Neste estilo, e ao contrário do que acontece com as barras de ícones, optou-se por não exibir a lista
de expectativas junto ao cursor, e assim minimizar os efeitos negativos decorrentes da ocultação da
área de trabalho pela janela secundária.
5-24
Interacção caligráfica ambígua em sistemas computacionais de modelação
ção do mesmo. Esta configuração partilha com a anterior a vantagem de exibir de uma
forma antecipada e precisa os resultados decorrentes da escolha das diversas opções.
Além disso, e à semelhança do que acontece com as barras de ícones, as expectativas
são apresentadas simultaneamente, e não em sequência. Como contrapartida, o facto
de a localização da janela secundária ser fixa, pode obrigar o utilizador a movimentações significativas do estilete11. Os participantes atribuíram a este estilo a classificação média de 1.6 (questão 17).
As listas de expectativas também foram classificadas no que se refere à acção por
omissão. Quer isto dizer que, quando um gesto dá origem ao reconhecimento de uma
ou mais primitivas 3D e a correspondente lista de expectativas é exibida, e caso o utilizador prossiga a actividade de desenho sem seleccionar explicitamente uma das
sugestões da lista, a reacção do sistema varia consoante a configuração adoptada,
podendo ser nenhuma – prevalecimento do desenho – ou gerar a primitiva que aparece
em primeiro lugar na lista. As classificações médias obtidas por estas duas opções de
configuração foram, respectivamente, de 2.6 e 0.2 (questões 18 e 19), não tendo havido convergência de opiniões no segundo caso: os participantes 1 e 3 atribuíram-lhe
uma pontuação negativa, em contraste com os participantes 2, 4 e 5, que manifestaram
uma opinião favorável.
Também a ordem pela qual as diferentes sugestões de primitivas 3D são exibidas
numa lista de expectativas é susceptível de ser configurada, podendo ser fixa ou variável em função das escolhas prévias do utilizador. Este aspecto é interessante, na medi-
11
Existe ainda uma quarta configuração, que consiste na conjugação do estilo dos modelos em escala
natural, localizados na área de trabalho, com o estilo dos modelos em escala reduzida, posicionados no
canto superior esquerdo da mesma área. Esta redundância confere ao utilizador a liberdade de escolher,
em cada momento, a interacção da sua preferência.
Avaliação de usabilidade
5-25
da em que põe em conflito duas das linhas de orientação do design de interfaces propostas por Hix e Hartson em [Hix93]. Por um lado deve existir inércia na visualização, isto é, objectos de interacção idênticos devem surgir sempre nos mesmos locais
do ecrã, janela ou caixa, o que sugere uma ordenação fixa12. Por outro lado, os diversos grupos de opções de um menu devem estar ordenados de acordo com algum critério, podendo este ser alfabético, numérico, estatístico (em função, por exemplo, da
frequência de utilização das diferentes opções), probabilístico (o sistema dispõe as
opções por ordem decrescente de probabilidade), ou reflectir a cronologia de utilização das opções13. No caso particular do sistema GIDeS, os critérios alfabético, numérico e cronológico não se aplicam. O critério probabilístico é usado na ordenação das
listas de expectativas de primitivas de desenho, mas o mesmo não acontece com as
listas de primitivas 3D, pois os gestos que as instanciam não contêm, de um modo
geral, informação que permita ao sistema atribuir uma probabilidade a cada primitiva.
Resta o critério estatístico, o qual foi efectivamente adoptado. No entanto, a frequência de utilização das diferentes primitivas vai-se alterando ao longo da sessão de trabalho, pelo que a ordenação com base neste critério terá de ser, necessariamente,
variável.
As pontuações médias destas duas opções de configuração foram, respectivamente,
1.2 e 1.6 (questões 20 e 21), sendo que, a nível individual, o participante 1 revelou
12
Por exemplo, numa interface WIMP que contenha várias caixas de mensagens com os botões OK,
Cancel e Help, a ordenação dos botões deverá ser, na medida do possível, idêntica em todas as caixas.
13
Por exemplo, no menu File existente na maioria das interfaces WIMP, a disposição das diversas
opções – New, Open, Save, Save As, Exit – não é arbitrária, reflectindo, ao invés, a cronologia da sua
utilização: o utilizador começa por criar um novo documento (New) ou abrir um documento já existente
(Open); uma vez concluída a edição do mesmo, o documento é guardado mediante a invocação dos
comandos Save ou Save As, após o que a aplicação é terminada (Exit).
5-26
Interacção caligráfica ambígua em sistemas computacionais de modelação
uma forte preferência pela ordenação fixa, os participantes 2, 4 e 5, não obstante
terem classificado ambas as configurações de forma positiva, manifestaram a opinião
contrária, e o participante 3 optou por respostas neutras a ambas as questões.
As quatro questões seguintes tiveram como finalidade conhecer a opinião dos participantes nos aspectos ligados à facilidade dos processos de construção de modelos 3D,
nomeadamente o desenho (questão 22), as primitivas (questão 23), as operações booleanas (questão 24) e a opinião global (questão 25). Os valores médios alcançados
foram, respectivamente, de 2.0, 2.6, 2.6 e 2.8, sendo que, a nível individual, a única
resposta negativa foi a do participante 3 à questão 22 (desenho).
Nas questões 26 a 30 os participantes exprimiram a sua opinião relativamente à facilidade dos processos de edição de modelos 3D, designadamente a execução de furos
(questão 26), cavidades (questão 27), saliências (questão 28), cortes (questão 29) e a
opinião global (questão 30). Os valores médios obtidos (2.6 na questão 28 e 2.8 nas
restantes questões) foram excelentes.
As quatro questões seguintes serviram para conhecer a opinião dos participantes nos
aspectos ligados à facilidade de utilização das ferramentas de transformação geométrica de modelos 3D, nomeadamente a translação (questão 31), o ajustamento (questão
32), a colagem (questão 33) e a opinião global (questão 34). Os valores médios alcançados (2.2 na questão 32 e 2.6 nas restantes questões) foram, mais uma vez, excelentes.
Para finalizar, as questões 35 a 38 permitiram conhecer a opinião dos participantes
relativamente à facilidade de execução dos comandos de manipulação da câmara.
Mais concretamente, foram atribuídas as pontuações médias de 2.8, 2.4 e 2.6 às ope-
Avaliação de usabilidade
5-27
rações de pan (questão 35), zoom (questão 36) e viewpoint (questão 37), respectivamente. A opinião média global (questão 38) foi de 2.6.
5.3.4 Testes de eficiência
Os testes de eficiência consistiram na realização de três tarefas de modelação, de
complexidade crescente, as quais foram devidamente cronometradas pelos elementos
que conduziram a sessão. O facto de só estar disponível um ecrã táctil levou a que os
testes não pudessem ser efectuados em simultâneo por todos os participantes. No
entanto, teve-se o cuidado de manter o utilizador que, em dado momento, realizava os
testes, isolado dos restantes elementos, de modo a garantir que a acção destes não
seria influenciada pela dos participantes que os precederam.
A realização dos testes foi antecedida de um breve período, com a duração aproximada de 10 minutos, de adaptação do utilizador ao sistema e de experimentação dos dispositivos de entrada/saída – rato/ecrã convencionais, por um lado, e estilete/ecrã táctil,
por outro. Serviu, também, para testar as diferentes opções de configuração das listas
de expectativas de primitivas 3D, após o que o protótipo foi configurado da forma que
mais agradou a cada um dos participantes. Verificou-se que todos optaram pela configuração que conjuga o estilo da sequência de modelos em escala natural com o da barra de modelos em escala reduzida. A acção por omissão da preferência dos utilizadores foi, em todos os casos, nenhuma – prevalecimento do desenho. Já o critério de
ordenação das expectativas na lista não foi consensual: o participante 1, não obstante
a forte preferência evidenciada, aquando do preenchimento do primeiro questionário,
pela ordenação fixa, mudou a sua opinião e escolheu a ordenação variável. Igual resolução foi tomada pelos utilizadores 2, 4 e 5. O participante 3, não obstante a neutrali-
5-28
Interacção caligráfica ambígua em sistemas computacionais de modelação
dade manifestada nas respostas ao primeiro questionário, decidiu usar a ordenação
fixa.
5.3.4.1 Primeiro teste de eficiência
A primeira tarefa consistia na criação de uma cena simples composta por uma secretária, uma cadeira e um vaso (Figura 5-12).
Figura 5-12 – Primeiro teste de eficiência
Pretendia-se que as arestas arredondadas dos dois primeiros objectos fossem obtidas
ainda na fase de esboço dos mesmos, com o recurso ao mecanismo de edição de tra-
Avaliação de usabilidade
5-29
ços 2D – oversketching. Pretendia-se, também, explorar a utilização de linhas de construção no sentido de garantir que as pernas da secretária, por um lado, e as pernas e as
costas da cadeira, por outro, tivessem espessuras idênticas.
a)
d)
b)
e)
c)
f)
Figura 5-13 – Processo de construção da cadeira
A Figura 5-13 ilustra uma maneira possível de construir a cadeira. O esboço inicial
(Figura 5-13a) garante, à partida, a igualdade de espessuras das costas e da perna traseira do objecto. Segue-se o desenho das linhas de construção, representadas, por uma
questão de clareza, a azul na Figura 5-13b, as quais permitem esboçar a perna diantei-
5-30
Interacção caligráfica ambígua em sistemas computacionais de modelação
ra com uma espessura idêntica à da perna traseira (Figura 5-13c). Todas as linhas
auxiliares são, em seguida, apagadas (Figura 5-13d), os cantos são arredondados e a
aresta que determina a largura do objecto é esboçada (Figura 5-13e). Esta acção do
utilizador tem como consequência que o sistema reconheça o desenho como tendo
uma topologia e uma geometria compatíveis com as de um sólido de extrusão, pelo
que a sua construção é sugerida ao utilizador, obtendo-se assim o modelo pretendido
(Figura 5-13f).
O processo de construção da secretária é idêntico ao da cadeira, recorrendo-se, mais
uma vez, ao mecanismo de oversketching e ao desenho de linhas de construção para,
respectivamente, arredondar os cantos e garantir a igualdade de espessuras de ambas
as pernas do modelo.
O processo de construção do vaso consiste, simplesmente, na criação de uma superfície de revolução, a qual é obtida mediante o traçado de uma elipse e de um perfil de
revolução, sendo que o segundo foi convenientemente aperfeiçoado pelos utilizadores,
novamente mediante o recurso ao mecanismo de edição de traços 2D. Esta tarefa ilustra claramente a razão pela qual os participantes foram unânimes em preferir que a
acção por omissão das listas de expectativas de primitivas 3D fosse nenhuma, dando
assim prioridade ao desenho. Com efeito, no decurso do processo iterativo de aprimoramento do perfil de revolução, o sistema reconhece, em cada iteração, a possibilidade
de o utilizador pretender construir uma superfície de revolução, e sugere esta acção
sob a forma de uma lista de expectativas. No entanto, o utilizador só deseja aceitar a
sugestão quando o processo de aperfeiçoamento do perfil estiver concluído. Se o sistema, por omissão, substituir em cada iteração o desenho pela correspondente primitiva, o utilizador é constantemente forçado a rejeitá-la, enquanto que no caso em que
Avaliação de usabilidade
5-31
não existe qualquer acção por omissão, o utilizador só tem que ignorar a sugestão de
criação da primitiva e prosseguir com a actividade de edição do perfil.
A construção do vaso permitiu, também, observar a flexibilidade do sistema GIDeS
no que se refere à forma diferente como utilizadores diferentes trabalham. Os participantes 1, 4 e 5 optaram por construir o vaso directamente sobre o tampo da secretária.
Ao participante 2 não agradou o facto de o traçado do vaso se confundir com a superfície da secretária14, pelo que optou por criar o vaso numa área livre da janela de trabalho, após o que recorreu à ferramenta de ajustamento para deslocar o objecto para a
posição pretendida. O participante 3 preferiu construir o vaso antes de iniciar a construção da secretária, pelo que também teve de utilizar a ferramenta de ajustamento.
5.3.4.2 Segundo teste de eficiência
A segunda tarefa tinha como finalidade avaliar as ferramentas avançadas de edição de
objectos 3D – deslocamento, ajustamento, colagem e corte – e as restrições de carácter geométrico – coincidência dos planos das faces dos objectos, alinhamento de arestas e coincidência de vértices – que as suportam. Mais concretamente, pretendia-se
que fossem efectuados dois furos na cadeira que havia sido construída aquando da
realização do primeiro teste de eficiência (Figura 5-14a). O primeiro furo concluía o
processo de construção das pernas da cadeira, enquanto o segundo, a efectuar nas costas da mesma, deveria ter em conta a largura das pernas. A precisão dos furos deveria
ser alcançada, mais uma vez, mediante a utilização de linhas de construção.
14
Os traços esboçados pelo utilizador são espessos e cinzentos antes de serem processados pelo módulo
de reconhecimento de primitivas de desenho, e convertidos em traços finos e negros após o reconhecimento, pelo que o contraste com a superfície cinzenta da secretária não é grande.
5-32
Interacção caligráfica ambígua em sistemas computacionais de modelação
O teste terminava com o reposicionamento da cadeira em relação à secretária, de forma a obter a cena representada na Figura 5-14b.
a)
b)
Figura 5-14 – Segundo teste de eficiência
A Figura 5-15 ilustra uma maneira possível de efectuar os furos. As linhas de construção, representadas a azul na Figura 5-15a, servem de auxiliar na execução do primeiro
furo, de modo a assegurar que as pernas terão todas a mesma largura (Figura 5-15b).
Na Figura 5-15c estabelecem-se os preparativos para a realização do segundo furo. A
Avaliação de usabilidade
5-33
linha de construção vertical do lado direito determina que a largura do furo irá ser
idêntica à distância existente entre as pernas traseiras do objecto. O resultado obtido,
uma vez apagadas as linhas de construção, pode ser visto na Figura 5-15d.
a)
b)
c)
d)
Figura 5-15 – Processo de edição da cadeira
O protótipo GIDeS permite que a execução de furos seja levada a cabo de duas maneiras distintas: mediante a utilização da ferramenta de corte, ou recorrendo à abordagem
tradicional, também disponível na generalidade dos sistemas comerciais, que consiste
5-34
Interacção caligráfica ambígua em sistemas computacionais de modelação
na construção de sólidos de extrusão, com a forma, dimensão e posicionamento adequados (dois paralelepípedos, neste caso em particular), seguida da subtracção booleana dos mesmos ao objecto em concepção. Não obstante os participantes estarem
mais familiarizados com a segunda alternativa, em virtude da sua experiência com os
sistemas de CAD tradicionais, verificou-se que todos optaram pela utilização da ferramenta de corte.
O reposicionamento final da cadeira em relação à secretária implicava que fossem
efectuadas duas transformações geométricas do primeiro objecto: uma rotação e uma
translação. Esta tarefa foi facilmente desempenhada por todos os utilizadores, mediante o recurso às ferramentas de colagem e de ajustamento.
5.3.4.3 Terceiro teste de eficiência
A terceira e última tarefa consistia na construção de um objecto de formas suaves, um
pouco mais complexo que os efectuados nos testes anteriores (Figura 5-16).
Figura 5-16 – Terceiro teste de eficiência
As primitivas 3D que compõem o candeeiro são variadas: a lâmpada é feita a partir de
um cilindro (não visível na figura) e de uma esfera; uma superfície de revolução permite modelar o quebra-luz, enquanto um cilindro e um tronco de cone compõem a
estrutura posterior do candeeiro; o fio eléctrico é modelado por um ducto de secção
Avaliação de usabilidade
5-35
circular. As restrições envolvidas na construção deste objecto são a coincidência de
centros geométricos, usada no alinhamento de todas as primitivas, e a igualdade de
diâmetros, a qual garante que a base cilíndrica do candeeiro e o quebra-luz se ajustem
na perfeição. As primitivas podem ser criadas, à partida, nas suas posições definitivas
ou, pelo contrário, construídas à parte e posteriormente coladas umas às outras. As
formas do quebra-luz e do fio eléctrico podem ser modificadas facilmente recorrendo
ao mecanismo de edição de esboços 2D – oversketching.
5.3.4.4 Resultados
Após a realização dos testes de eficiência por parte de todos os utilizadores, o participante 3 voltou a efectuá-los, desta vez usando como dispositivos de entrada/saída um
rato convencional e o ecrã do próprio computador. Os testes foram, igualmente, repetidos pelos participantes 4 e 5, em dois sistemas de CAD convencionais, de modo a
estabelecer um termo de comparação com o protótipo GIDeS.
Na Tabela 5-2 estão representados os tempos médios obtidos pelos participantes na
realização dos três testes de eficiência, quer com o protótipo GIDeS, quer com os sistemas de CAD comercialmente disponíveis (CAD #1 e CAD #2 na tabela).
1
2
3
GIDeS (s)
135.8
060.5
173.8
CAD #1 (s)
267.5
213.5
407.5
CAD #2 (s)
298.5
158.5
268.0
Tabela 5-2 – Tempos médios obtidos na realização dos testes de eficiência
Na Tabela 5-3 podem ser observadas as variações, em percentagem e para cada teste
de eficiência, do protótipo GIDeS face a cada um dos sistemas de CAD convencionais. Estão também representados os valores médios correspondentes ao conjunto dos
três testes.
5-36
Interacção caligráfica ambígua em sistemas computacionais de modelação
1
2
3
Média
GIDeS/CAD #1 (%) GIDeS/CAD #2 (%)
-49.2
-54.5
-71.7
-61.8
-57.3
-35.1
-59.4
-50.5
Tabela 5-3 – Comparação do protótipo GIDeS com dois sistemas de CAD convencionais
Verifica-se que o sistema GIDeS leva uma vantagem apreciável em todos os testes,
com ganhos médios de eficiência da ordem dos 50% a 60%, sendo de destacar a eficácia das operações de edição e transformação de sólidos (tarefa 2), bem como da
criação de objectos de formas curvilíneas razoavelmente complexos (tarefa 3)15.
1
2
3
Estilete/ecrã táctil (s)
110.0
047.0
115.0
Rato/ecrã convencional (s) Variação (%)
208.0
+089.1
107.0
+127.7
174.0
+051.3
Média
+089.4
Tabela 5-4 – Comparação de dispositivos de entrada/saída
Na Tabela 5-4 podem comparar-se os tempos obtidos pelo participante 3 na realização
dos testes de eficiência com diferentes dispositivos de entrada/saída. Verifica-se que,
para todas as tarefas, a utilização do rato e ecrã convencionais se traduz, face ao estilete e ecrã táctil, numa diminuição significativa da eficiência, com um aumento médio
nos tempos de execução de 89.4%. No caso particular do segundo teste, o acréscimo
foi mesmo superior a 100%, o que demonstra a inadequação dos dispositivos de
entrada/saída convencionais a este tipo de interface. Esta conclusão foi, aliás, corroborada pela opinião dos participantes, traduzida nas respostas ao segundo questionário
(Secção 5.3.5).
15
A facilidade e a rapidez com que o sistema GIDeS permite criar objectos de formas suaves foi particularmente apreciada pelos participantes, na medida em que a concepção das mesmas com o recurso ao
papel e lápis obriga ao sombreamento das superfícies, de modo a realçar a sua curvatura.
Avaliação de usabilidade
5-37
5.3.5 Segundo questionário
O segundo questionário é muito semelhante ao primeiro, e teve como finalidade reavaliar as opiniões dos utilizadores acerca do sistema GIDeS, após a experimentação
do mesmo16.
Na Figura 5-17 está representado o gráfico das respostas dadas pelos diferentes participantes ao questionário. O gráfico dos valores médios correspondentes pode ver-se
na Figura 5-18.
Segundo Questionário
15
Respostas
10
5
0
Participante 5
Participante 4
-5
Participante 3
Participante 2
Participante 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
-10
Questão n.º
Figura 5-17 – Respostas ao segundo questionário
16
Recorde-se que o preenchimento do primeiro questionário foi anterior à experimentação do sistema,
pelo que os participantes formularam as suas opiniões com base, apenas, na apresentação audiovisual e
no posto de trabalho.
5-38
Interacção caligráfica ambígua em sistemas computacionais de modelação
Segundo Questionário
3
Respostas (valor médio)
2.5
2
1.5
1
0.5
0
-0.5
-1.5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
-1
Questão n.º
Figura 5-18 – Valores médios das respostas ao segundo questionário
Comparação Primeiro/Segundo Questionários
6
4
2
Variação
0
-2
-4
-6
Participante 5
Participante 4
-8
Participante 3
Participante 2
-10
Participante 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
-12
Questão n.º
Figura 5-19 – Variações das respostas obtidas nos primeiro e segundo questionários
Na Figura 5-19 está representado o gráfico das variações nas opiniões dos participantes, face às respostas correspondentes dadas aquando do preenchimento do primeiro
Avaliação de usabilidade
5-39
questionário. Os valores médios dessas variações podem ser observados no gráfico da
Figura 5-20.
Comparação Primeiro/Segundo Questionários
1.5
Variação (valor médio)
1
0.5
0
-0.5
-1
-1.5
-2.5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
-2
Questão n.º
Figura 5-20 – Variações médias das respostas obtidas nos primeiro e segundo questionários
As questões 1 a 3 traduzem a opinião dos utilizadores face à adequação ao sistema
GIDeS de diferentes tipos de dispositivos de entrada/saída. Verifica-se uma mudança
acentuada de opinião no que se refere à adequação do conjunto composto por um rato
e um ecrã convencionais (questão 1), o qual obteve uma classificação negativa da parte de todos os participantes, com excepção do quinto. As opiniões relativamente à
mesa de desenho (questão 2) e ao conjunto estilete/ecrã táctil (questão 3) mantiveramse elevadas. O ligeiro decréscimo, por parte dos participantes 1 e 2, na pontuação atribuída a este último dispositivo, deveu-se, no entender dos mesmos, às reduzidas
dimensões do ecrã táctil (12”) e ao facto de os planos das superfícies de desenho e de
visualização não serem rigorosamente coincidentes, o que origina erros de paralaxe.
As duas questões seguintes serviram para reapreciar a adequação dos gestos caligráficos às tarefas de modelação 3D. Os valores médios obtidos mantiveram-se elevados,
5-40
Interacção caligráfica ambígua em sistemas computacionais de modelação
tendo-se verificado um ligeiro aumento na classificação atribuída aos gestos de
comando (questão 4), e uma pequena diminuição na pontuação dos gestos geradores
de primitivas 3D (questão 5).
As questões 6 a 12 tiveram o propósito de reavaliar as diferentes opções de configuração das listas de expectativas de primitivas 3D. Os estilos correspondentes à barra de
ícones (questão 6) e à barra de modelos em escala reduzida (questão 8) viram as suas
classificações melhoradas por parte dos utilizadores 1, 4 e 5, enquanto o estilo caracterizado pela sequência de modelos em escala natural (questão 7) sofreu um decréscimo por parte dos participantes 1 e 5. A barra de ícones continua, no entanto, a ser o
estilo que menos agrada aos utilizadores, e as diferenças observadas na apreciação dos
restantes estilos tendeu a esbater-se, sendo que a forte preferência pela sequência de
modelos em escala natural deu lugar a uma ligeira vantagem por parte da barra de
modelos em escala reduzida17.
A acção por omissão do mecanismo de sugestão aquando do reconhecimento de gestos correspondentes a primitivas 3D foi reavaliada nas duas questões seguintes. A preferência, evidenciada anteriormente, por acção nenhuma (questão 9), em detrimento
de uma primitiva 3D por omissão (questão 10), saiu reforçada após a experimentação
do protótipo. No primeiro caso a pontuação atribuída pelos participantes não sofreu
alterações (valor médio 2.6), enquanto no segundo o participante 2 mudou de opinião
(de +1 para -1), o que se traduziu numa alteração da classificação média de +0.2 para
-0.2.
17
Recorde-se, no entanto, que existe uma quarta configuração que conjuga ambos os estilos, dando ao
utilizador a liberdade de optar, em cada momento, pela interacção que melhor lhe convier.
Avaliação de usabilidade
5-41
As questões 11 e 12 serviram para reapreciar o critério de ordenação das sugestões de
primitivas 3D numa lista de expectativas. Ambos os critérios – ordenação fixa (questão 11), e ordenação variável em função das escolhas prévias do utilizador (questão
12) – saíram reforçados após a experimentação (variações médias de +0.2 e +0.8, respectivamente), sendo que a ligeira preferência pelo segundo critério face ao primeiro
(1.6 contra 1.2 no primeiro questionário, em valores médios) aumentou significativamente (2.4 contra 1.4 no segundo questionário), em virtude da mudança radical de
opinião do participante 1 (+3 e -1 no primeiro questionário, +1 e +3 no segundo, o que
se traduz em variações de -2 e +4, respectivamente).
As quatro questões seguintes tiveram como objectivo reavaliar a facilidade de utilização do sistema GIDeS nos aspectos ligados à construção de modelos 3D. As opiniões
respeitantes ao desenho (questão 13) e às primitivas 3D (questão 14) saíram reforçadas pela experimentação e obtiveram a classificação máxima por parte de todos os
participantes. Já no que se refere às operações booleanas (questão 15) e à opinião global (questão 16), estas sofreram ligeiros reajustamentos no sentido negativo (variações
médias de -0.4 e -0.2, respectivamente). No entanto, também as pontuações atribuídas
a estes dois itens foram elevadas (valores médios de 2.2 e 2.6, respectivamente).
As questões 17 a 21 serviram o propósito de reapreciar a facilidade de edição de
objectos 3D, designadamente na execução de furos (questão 17), cavidades (questão
18), saliências (questão 19), cortes (questão 20) e a opinião global (questão 21). As
classificações médias obtidas após a experimentação, não obstante terem sido ligeiramente inferiores às alcançadas anteriormente (variações médias compreendidas entre
–0.4 e 0.0), mantiveram-se elevadas (entre 2.4 e 2.6).
5-42
Interacção caligráfica ambígua em sistemas computacionais de modelação
Nas quatro questões seguintes, os participantes voltaram a exprimir a sua opinião
sobre a facilidade de execução de transformações geométricas de modelos 3D,
nomeadamente a translação (questão 22), o ajustamento (questão 23), a colagem
(questão 24) e a opinião global (questão 25). As pontuações atribuídas aquando do
preenchimento do primeiro questionário (valores médios de 2.6, 2.2, 2.6 e 2.6, respectivamente) não sofreram quaisquer alterações.
A facilidade de utilização dos comandos de manipulação da câmara foi reavaliada nas
questões 26 a 29. Todos eles obtiveram a classificação média de 2.8, o que se traduz
em variações médias de 0.0, +0.4, +0.2 e +0.2 para as operações de pan, zoom, viewpoint e opinião global, respectivamente.
Nas seis últimas questões os participantes classificaram de novo o protótipo GIDeS
sob diversos aspectos gerais. O sistema foi, mais uma vez, considerado fácil de usar
(questão 30, valor médio 2.6, variação média 0.0), estimulante (questão 31, valor
médio 2.0, variação média -0.8) e flexível (questão 32, valor médio 2.0, variação
média -0.4). No que se refere à concepção de novos objectos, a utilização do protótipo
foi classificada como sendo familiar (questão 33, valor médio 2.4, variação média
-0.4), adequada (questão 34, valor médio 2.2, variação média -0.6) e suficiente (questão 35, valor médio 2.6, variação média +0.6).
5.3.6 Críticas e sugestões ao sistema GIDeS
O preenchimento do segundo questionário concluiu-se com uma exposição, por parte
dos participantes, de comentários, críticas e sugestões de aperfeiçoamento do sistema
GIDeS.
Avaliação de usabilidade
5-43
5.3.6.1 Comando undo
O aspecto mais criticado teve a ver com a inexistência de um comando undo. Com
efeito, e embora exista um gesto, devidamente reconhecido pelo sistema, associado a
este comando (Figura 5-21), o mesmo não foi implementado no protótipo.
Figura 5-21 – Gesto correspondente ao comando undo
O utilizador tem sempre a opção de não aceitar as sugestões que o sistema lhe propõe
sob a forma de listas de expectativas. Isto é válido, inclusivamente, para as primitivas
2D, em cujas listas existe uma opção – um “X” de cor vermelha – que permite rejeitar
todas as opções de desenho propostas (Figura 5-22)18. No entanto, esta funcionalidade
não dispensa a implementação de um verdadeiro comando undo que permita reverter
facilmente as acções do utilizador.
Figura 5-22 – Lista de expectativas de primitivas 2D com a opção de rejeição seleccionada
5.3.6.2 Projecções ortográficas
Outro dos aspectos criticados pelos participantes tem a ver com a inexistência de vistas auxiliares com as projecções ortográficas do objecto em concepção19. As projec-
18
A opção de rejeição foi acrescentada numa fase já avançada de desenvolvimento do protótipo, com
base numa sugestão de alteração feita por potenciais utilizadores.
19
Projecções ortográficas são as projecções feitas num dos três planos coordenados – x = 0, y = 0 ou
z = 0 – do espaço tridimensional.
5-44
Interacção caligráfica ambígua em sistemas computacionais de modelação
ções ortográficas dão ao utilizador uma imagem mais precisa – o perfil de uma superfície de revolução ou de um sólido de extrusão, por exemplo – do modelo a construir.
Não obstante o sistema GIDeS permitir a manipulação da câmara de forma a obter
uma projecção ortográfica da cena, certas operações como, por exemplo, a criação de
objectos 3D, não são susceptíveis de serem efectuadas nessas condições, pois o facto
de um dos eixos coordenados ser perpendicular ao plano de projecção, não só altera a
topologia dos gestos que instanciam primitivas 3D, como a informação 2D esboçada
pelo utilizador não é suficiente para determinar de forma inequívoca os parâmetros
dessas operações.
x=0
x=0
z=0
a) projecção axonométrica
b) projecção ortográfica
z=0
c) projecção ortográfica
Figura 5-23 – Diferentes projecções do gesto que instancia um prisma hexagonal
Avaliação de usabilidade
5-45
Por exemplo, um prisma é instanciado por um gesto composto por um polígono ligado
a um segmento de recta (Figura 5-23a). O número de lados do polígono determina o
número de faces do prisma resultante. Numa projecção ortográfica, duas situações
podem ocorrer: ou o polígono é convertido num segmento de recta, o que não só não
permite determinar o número de faces do prisma, como nem sequer permite determinar a identidade do objecto (Figura 5-23b)20; ou o segmento de recta é convertido num
único ponto, o que não permite determinar a altura do prisma (Figura 5-23c).
Este problema pode ser solucionado se, em simultâneo com a projecção axonométrica
actualmente existente, existirem três projecções ortográficas auxiliares nas quais o
utilizador possa, caso o deseje, desenhar. As coordenadas 2D dos traços esboçados
numa vista auxiliar são convertidas em 3D com base na equação do plano de projecção dessa vista, e de novo em 2D nas restantes vistas. No exemplo da Figura 5-23, o
utilizador desenha um polígono regular na vista correspondente ao plano z = 0 (Figura
5-23c), e um segmento de recta na vista correspondente ao plano x = 0 (Figura 5-23b).
O sistema encarrega-se de replicar os traços do utilizador nas restantes vistas, tendo
em conta as transformações decorrentes do facto de os planos de projecção serem
diferentes. Na vista axonométrica obtém-se, deste modo, o resultado observado na
Figura 5-23a, o qual tem a topologia e a geometria necessárias para ser adequadamente reconhecido como um gesto que instancia um prisma.
Uma alternativa à solução de quatro vistas simultâneas consiste em continuar a exibir
uma só vista, a qual poderá ser facilmente comutada para a projecção – axonométrica
20
Não permite, por exemplo, distinguir um prisma de um cilindro, embora esta situação pudesse ser
facilmente resolvida com o recurso, mais uma vez, às listas de expectativas.
5-46
Interacção caligráfica ambígua em sistemas computacionais de modelação
ou ortográfica – desejada, mediante a acção do utilizador sobre o botão lateral do estilete. Na Figura 5-24 está representada uma variação possível21 da lista de expectativas
descrita e ilustrada, respectivamente, na Secção 4.5.1 e na Figura 4-43 do Capítulo 4.
Figura 5-24 – Operações de câmara e de comutação de vistas
Além dos comandos, já existentes, de manipulação da câmara, a lista exibe agora
várias opções de comutação de vistas. Os botões estão agrupados da forma que se
pode ver na Figura 5-25.
c)
b)
a)
Figura 5-25 – Agrupamento das operações de câmara e de comutação de vistas
No primeiro grupo (Figura 5-25a) estão disponíveis duas vistas correspondentes a projecções axonométricas: a última projecção axonométrica válida definida pelo utilizador, e a projecção oposta. No segundo grupo, ilustrado na Figura 5-25b, estão as vistas correspondentes a seis projecções ortográficas distintas: vista frontal, superior,
21
Já implementada, mas ainda não testada por potenciais utilizadores do sistema.
Avaliação de usabilidade
5-47
lateral esquerda, lateral direita, inferior e posterior. A disposição dos botões não é
arbitrária, sendo idêntica ao arranjo das vistas no método do primeiro diedro22. No
terceiro e último grupo estão reunidos os comandos de manipulação da câmara: pan,
zoom, viewpoint e restauração da isometria (Figura 5-25c).
5.3.6.3 Projecções paralelas a faces de objectos
Foi sugerida uma maneira alternativa de manipulação da câmara, a qual consiste em
tocar duas vezes com a extremidade do estilete23 sobre a projecção de uma face de um
objecto existente na cena, o que terá como resultado que o plano de projecção se altere de modo a tornar-se paralelo ao plano dessa face. Esta funcionalidade24, à semelhança do que acontece com as projecções ortográficas, permitirá editar o objecto –
traçar um perfil de corte, por exemplo – de uma forma mais simples e rigorosa.
5.3.6.4 Linhas de construção
Os participantes criticaram o facto de ter de ser o utilizador a apagar as linhas de
construção, assim que estas lhe deixam de ser úteis. Efectivamente, o sistema GIDeS
não estabelece nenhuma distinção entre as linhas de construção e os restantes elementos do desenho. Esta situação pode ser resolvida se os traços correspondentes às linhas
de construção forem desenhados de maneira diferente dos restantes – traço interrompido no primeiro caso e cheio no segundo, por exemplo; ou se a pressão que o utiliza-
22
No método de projecção designado por método do primeiro diedro (ou método europeu, ou método
E), considera-se que o objecto está situado entre o desenhador e o plano de projecção. Existem seis
planos de projecção, paralelos dois a dois, correspondentes às faces de um cubo, o qual é designado por
cubo de projecção. Da planificação do cubo de projecção resulta a disposição das vistas que se pode ver
na Figura 5-25b [Morais80].
23
O equivalente a um duplo click no botão esquerdo do rato.
24
Já implementada, mas ainda não testada por potenciais utilizadores do sistema.
5-48
Interacção caligráfica ambígua em sistemas computacionais de modelação
dor exerce com o estilete sobre a superfície do ecrã variar consoante o tipo de linha
pretendido. Com base nesta identificação, o sistema coloca as linhas de construção
numa camada – layer – de desenho reservada exclusivamente para esse fim, a qual
pode, em qualquer momento, ser tornada visível ou invisível por acção do utilizador.
5.3.6.5 Listas de expectativas de primitivas 3D
Um dos participantes sugeriu uma alternativa ao processo de ordenação das sugestões
de primitivas 3D nas listas de expectativas: a ordem deveria ser fixa nas situações em
que o número de opções é reduzido – três ou inferior – e variável em função das escolhas prévias do utilizador no caso de listas mais extensas.
5.3.7 Complemento à discussão de resultados
Os resultados decorrentes da avaliação da usabilidade do protótipo GIDeS foram francamente animadores e constituem um incentivo à prossecução do desenvolvimento
das ideias que lhe são subjacentes.
Os valores médios das respostas ao primeiro questionário foram todos positivos (ver a
Figura 5-8, Secção 5.3.3), o que revela a opinião favorável dos participantes sobre a
validade do paradigma do desenho incremental e das restantes contribuições no âmbito do design assistido por computador.
As questões de carácter mais geral permitiram classificar as ideias subjacentes ao protótipo como sendo muito interessantes, originais e úteis (questões 1 a 3, valores
médios compreendidos entre 2.8 e 3.0), e o protótipo em si como sendo fácil de usar,
estimulante e flexível (questões 4 a 6, valores médios compreendidos entre 2.4 e 2.8).
O sistema GIDeS foi, também, classificado como natural, adequado e suficiente para a
concepção de objectos (questões 7 a 9, valores médios compreendidos entre 2.0 e 2.8),
Avaliação de usabilidade
5-49
em contraste com a pontuação alcançada pelos sistemas de CAD tradicionais no que
se refere à sua utilidade na fase conceptual do design (questão 7 do questionário inicial, valor médio -0.4; ver a Figura 5-3, Secção 5.3.1).
Nas questões de natureza mais específica, as classificações também foram excelentes,
nomeadamente a adequação do protótipo a uma utilização feita com o recurso a um
estilete e um ecrã táctil (questão 12), os gestos caligráficos (questões 13 e 14), com
especial destaque para os que instanciam primitivas 3D, as listas de expectativas em
algumas das suas opções de configuração (questões 16, 17, 18 e 21), e a facilidade de
utilização nos aspectos ligados à construção (questões 22 a 25), edição (questões 26 a
30) e transformação de modelos 3D (questões 31 a 34), bem como à manipulação da
câmara (questões 35 a 38).
Os valores mais baixos são os correspondentes às questões 10, 15, 19 e 20, nas quais
são avaliados os dispositivos de entrada/saída e as opções de configuração das listas
de expectativas de primitivas 3D. No primeiro caso (questão 10), a opinião prevalecente é a de que a utilização de um conjunto composto por um rato e um ecrã convencionais não é apropriada num sistema de CAD com as características do protótipo
GIDeS. No segundo caso (questões 15, 19 e 20), as respostas traduzem a opinião de
que o estilo da barra de ícones, a sugestão de uma primitiva por omissão, e o critério
fixo de ordenação das sugestões exibidas na lista, não são as opções mais adequadas
face às alternativas existentes: sequência de modelos à escala e/ou barra de modelos
em escala reduzida, prevalecimento do desenho na acção por omissão e critério de
ordenação variável, em função das escolhas anteriores do utilizador.
Os valores médios das respostas ao segundo questionário, preenchido após a experimentação do protótipo, também são todos positivos, com a excepção das respostas às
5-50
Interacção caligráfica ambígua em sistemas computacionais de modelação
questões 1 e 10 (ver a Figura 5-18, Secção 5.3.5). A primeira questão prende-se com a
utilização de um rato e um ecrã convencionais, e a pontuação alcançada (-1.4) após a
realização dos testes de eficiência confirma a opinião inicial dos participantes sobre a
inadequação deste género de dispositivos face às alternativas constituídas por uma
mesa de desenho (questão 2, valor médio 1.6), ou por um estilete e um ecrã táctil
(questão 3, valor médio 2.6). A questão 10 prende-se, mais uma vez, com a acção por
omissão do mecanismo de sugestão – lista de expectativas – aquando do reconhecimento de um gesto correspondente a uma primitiva 3D. A experimentação permitiu
reforçar a opinião inicial, expressa aquando do preenchimento do primeiro questionário, de que o prevalecimento do desenho (questão 9, valor médio 2.6) é preferível à
criação, por omissão, de uma das primitivas exibidas na lista (questão 10, valor médio
-0.2).
De entre os valores positivos, os mais baixos (questões 6 e 11) estão, igualmente,
relacionados com algumas das opções de configuração das listas de expectativas de
primitivas 3D. Não obstante a pontuação média alcançada pelo estilo caracterizado
pela barra de ícones (questão 6) ter sido significativamente maior do que a obtida
antes da experimentação (1.4 contra 0.2), não deixa de ser baixa quando comparada
com as classificações alcançadas pelos estilos da sequência de modelos à escala
(questão 7, valor médio 2.0) e da barra de modelos em escala reduzida (questão 8,
valor médio 2.2). Também o critério variável de ordenação das sugestões de primitivas 3D numa lista de expectativas (questão 12, valor médio 2.4) saiu reforçado face à
alternativa constituída por uma disposição fixa (questão 11, valor médio 1.4).
As respostas às restantes questões, nomeadamente as de carácter geral (questões 30 a
35) e as de natureza mais específica – adequação dos gestos caligráficos à modelação
Avaliação de usabilidade
5-51
3D (questões 4 e 5), facilidade de utilização na construção (questões 13 a 16), edição
(questões 17 a 21) e transformação de modelos 3D (questões 22 a 25) e na manipulação da câmara (questões 26 a 29) – obtiveram de novo pontuações elevadas, com
valores médios compreendidos entre 2.0 e 3.0, embora com ligeiras variações face aos
valores expressos no primeiro questionário.
Na comparação dos dois questionários, as variações mais significativas dizem respeito, pela negativa, às questões 1, 7, 31 e 34, e no aspecto positivo, às questões 6, 8, 12,
13 e 35 (ver a Figura 5-20, Secção 5.3.5).
A questão 1 prende-se, de novo, com a inadequação dos dispositivos de entrada/saída
tradicionalmente usados nas interfaces do tipo WIMP – rato e ecrã – em sistemas
dotados de interfaces caligráficas e em que o paradigma de interacção é o desenho.
As questões 6, 7 e 8 dizem respeito aos estilos disponíveis para as listas de expectativas de primitivas 3D. Verifica-se que a sequência de modelos em escala natural (questão 7) sofreu uma variação negativa, em contraste com a barra de modelos em escala
reduzida (questão 8) e a barra de ícones (questão 6), que viram as suas classificações
melhoradas. No entanto, e não obstante o grande incremento verificado na reapreciação da barra de ícones, este estilo continua a ser o menos apreciado pelos utilizadores.
A questão 12 prende-se com o critério – variável em função das escolhas anteriores do
utilizador – de ordenação das sugestões de primitivas 3D nas listas de expectativas,
um aspecto que não era consensual aquando do preenchimento do primeiro questionário. A experimentação do protótipo permitiu esclarecer este ponto e estabelecer o critério variável de ordenação como sendo inequivocamente superior ao critério de ordenação fixa.
5-52
Interacção caligráfica ambígua em sistemas computacionais de modelação
As questões 13 e 14 avaliam a facilidade de construção de modelos 3D nos aspectos
ligados ao desenho e às primitivas 3D, respectivamente. As variações positivas observadas nas respostas a estas questões levaram a que ambos os aspectos obtivessem a
classificação máxima possível.
As questões 30 a 35 são as questões de carácter geral já referidas anteriormente, e
todas as respostas, com a excepção da primeira e da última, sofreram variações negativas. Uma possível justificação para estas variações assenta na conjugação de dois
factores. O primeiro questionário, recorde-se, precede a experimentação do sistema
GIDeS e reflecte a opinião dos participantes em função, apenas, da apresentação
audiovisual e no posto de trabalho. Na apresentação foram cometidos poucos ou
nenhuns erros de interacção, dada a experiência de utilização do protótipo por parte de
quem a efectuou. No entanto os participantes, embora experientes no que se refere aos
sistemas de CAD tradicionais, são utilizadores inexperientes do protótipo, pelo que os
erros de interacção são inevitáveis. A existência de um comando undo, semelhante
aos existentes nos sistemas comerciais, permitiria corrigir esses erros de uma forma
eficiente, mas esse comando não está disponível no sistema GIDeS25, o que obriga os
utilizadores a suprimir manualmente os efeitos indesejados que decorrem desses erros
e a reiniciar a execução da tarefa.
Tendo estes factores em consideração, não surpreende que a experimentação do protótipo tenha determinado uma reapreciação do mesmo no sentido de não ser tão estimu-
25
O sistema GIDeS é um protótipo que foi construído com o propósito de testar a exequibilidade e a
validade das contribuições apresentadas neste trabalho. A existência de um comando undo, se bem que
indispensável num produto acabado, não viria trazer nada de novo no contexto da investigação de
novas ideias e conceitos de interacção aplicados aos sistemas computacionais de apoio ao design, pelo
que a sua implementação foi posta de parte. No entanto, a inexistência deste comando não põe em causa a validade dos resultados obtidos.
Avaliação de usabilidade
5-53
lante, flexível, natural e adequado quanto se pensava anteriormente (questões 31 a 34,
valores médios compreendidos entre 2.0 e 2.4, variações médias entre -0.8 e -0.4). No
entanto, as classificações atingidas permanecem elevadas. E os aspectos ligados à
facilidade de utilização e à suficiência do sistema foram reavaliados, respectivamente,
sem alterações (questão 30, valor médio 2.6, variação média nula) e de forma favorável (questão 35, valor médio 2.6, variação média +0.6).
Os testes de eficiência também proporcionaram resultados muito positivos e encorajadores. Não obstante a complexidade das tarefas envolvidas não ser muito grande, foi
possível avaliar de forma objectiva26 os conceitos em que o desenvolvimento do sistema GIDeS se baseou. No planeamento das tarefas, ao invés de se testar cada um
destes conceitos separadamente, optou-se pela reprodução de situações reais de utilização, nas quais todas a funcionalidades do sistema interactivo – e, por conseguinte,
todas as ideias que lhes são subjacentes – são usadas em conjunto na modelação de
objectos que é habitual encontrar na nossa vida quotidiana.
O conceito do desenho incremental como paradigma de interacção; as interfaces caligráficas de reduzido número de comandos – interfaces RISC; a independência do processo de reconhecimento face à ordem e sentido pelos quais os traços constituintes de
um desenho são esboçados pelo utilizador; a gestão integrada de ambiguidades com
informação dependente do contexto, apresentada ao utilizador sob a forma pictográfica, aos mais diversos níveis do processo de concepção e modelação de objectos 3D –
listas de expectativas. Os mecanismos que implementam estas ideias foram ampla-
26
Isto é, de forma independente da opinião subjectiva de cada um dos participantes, a qual foi convenientemente expressa nas respostas aos questionários.
5-54
Interacção caligráfica ambígua em sistemas computacionais de modelação
mente utilizados em todos os testes de eficiência, pelo que a avaliação da validade das
mesmas foi efectiva.
O primeiro teste permitiu também, além das ideias referidas anteriormente, avaliar o
conceito de oversketching, bem como a utilização, na fase de desenho27, de linhas
auxiliares de construção.
No segundo teste de eficiência foram avaliados os processos de alto nível de edição
3D – os quais obedecem ao conceito de que deve ser o sistema, e não o utilizador, a
deduzir os passos e as operações que é necessário efectuar para se obter um determinado resultado – bem como as restrições geométricas que lhes estão associadas. Também foi avaliado o conceito de utilização de linhas de construção na fase posterior –
fase de edição – à criação de objectos tridimensionais.
O terceiro e último teste de eficiência serviu para avaliar o conceito de utilização de
restrições geométricas no âmbito da construção28 rigorosa de modelos. Serviu, também, o propósito de avaliar o processo de construção de várias primitivas (e dos gestos que as instanciam) que não foram usadas aquando da realização dos dois primeiros
testes. Permitiu reavaliar o conceito de oversektching, desta vez no contexto mais exigente da construção de um objecto de formas suaves razoavelmente complexo29. E
27
Isto é, na fase que precede a criação efectiva de objectos 3D. A utilização de linhas de construção em
fases posteriores, nomeadamente na edição de sólidos previamente construídos, foi avaliada no segundo teste de eficiência.
28
E não no âmbito da edição. As restrições geométricas estão presentes quer ao nível da construção,
quer ao nível da edição precisa de objectos, o último dos quais foi avaliado no segundo teste de eficiência.
29
Recorde-se que a representação numa folha de papel de modelos de formas suaves é um processo
particularmente moroso, pois obriga ao sombreamento das superfícies, de modo a realçar a sua curvatura.
Avaliação de usabilidade
5-55
permitiu observar a aplicação do conceito de que um sistema computacional de apoio
ao design não só não deve ser intrusivo, como deve respeitar a liberdade do designer,
aceitando o facto – e adaptando-se a ele – de que utilizadores diferentes têm métodos
de trabalho também diferentes.
Os tempos obtidos nos testes de eficiência foram excelentes em todos os casos, verificando-se, na comparação com dois sistemas de CAD comerciais, reduções médias da
ordem dos 50% a 60% no tempo de execução das tarefas estabelecidas (ver as Tabelas
5-2 e 5-3, Secção 5.3.4.4).
O número de traços esboçados por cada participante na execução de cada um dos testes de eficiência também foi contabilizado pelos elementos que conduziram a sessão.
Este aspecto é importante, na medida em que o tempo dispendido na realização de
uma tarefa depende, em princípio, do número de traços necessários para a concretizar,
o que tem repercussões na eficiência e, por conseguinte, na usabilidade da interface.
Os resultados obtidos variaram significativamente de utilizador para utilizador, razão
pela qual não foram apresentados neste documento. Mas a disparidade de resultados,
ao contrário do que se possa pensar, não é inconclusiva. Pelo contrário, vem confirmar que o protótipo GIDeS obedece ao importante princípio de que, na medida do
possível, deve ser o sistema interactivo a adaptar-se aos utilizadores e à forma como
estes trabalham, e não o inverso.
Para melhor se compreender este aspecto, considere-se a tarefa de construir um sólido
de extrusão razoavelmente complexo, com base num polígono com um elevado número de lados: doze, por exemplo (Figura 5-26).
5-56
Interacção caligráfica ambígua em sistemas computacionais de modelação
Figura 5-26 – Exemplo de um sólido de extrusão obtido a partir de um polígono de doze lados
O sistema GIDeS permite que o delineamento do polígono seja feito de uma vez só,
isto é, com um único traço. O segmento de recta que define a extensão da extrusão
pode ser esboçado na continuação da linha que define o polígono, sem levantar o estilete da superfície do ecrã, pelo que um traço é o suficiente para construir o objecto.
No entanto, o utilizador podia ter optado – e o protótipo também o permite – por esboçar um traço separado para cada um dos lados do polígono, o que implica um total de
treze traços para criar o modelo. E todas as soluções intermédias seriam, igualmente,
possíveis.
A disparidade observada no número de traços – um contra treze – permite-nos tirar
duas conclusões: a primeira é a de que existem, efectivamente, muitas maneiras diferentes de se atingir o mesmo resultado. A segunda é a de que o protótipo GIDeS dá ao
utilizador a liberdade de escolher o método de trabalho da sua preferência. Se o designer optar por desenhar treze traços e despender mais tempo na execução dessa tarefa,
fá-lo porque quer, e não por imposição do sistema ou dos conceitos nele envolvidos.
Tendo a opção de trabalhar da maneira que mais lhe agrada ou que melhor serve os
seus intentos, a satisfação subjectiva do utilizador será, com certeza, maior do que
seria se tivesse de condicionar a sua acção a um conjunto de restrições impostas pela
Avaliação de usabilidade
5-57
interface. E a satisfação subjectiva do utilizador é, recorde-se, um dos aspectos envolvidos no conceito de usabilidade (ver a Secção 5.1).
Os testes de eficiência permitiram, também, confirmar de uma forma objectiva a opinião dos participantes, expressa nos questionários, acerca da utilização dos dispositivos de entrada/saída característicos das interfaces WIMP – rato e ecrã convencionais
– em sistemas computacionais caligráficos de apoio ao design. O agravamento nos
tempos de execução das diversas tarefas (89.4% em média), em comparação com os
tempos obtidos aquando da utilização de um ecrã táctil e respectivo estilete, revela
bem a inadequação dos primeiros face aos segundos (ver a Tabela 5-4, Secção
5.3.4.4).
Por último, as críticas e sugestões de modificação feitas pelos participantes no final da
sessão são muito importantes, por duas razões: a par dos bons resultados obtidos, quer
nas respostas aos questionários, quer nos testes de eficiência, constituem um incentivo
à continuação do trabalho realizado e a uma exploração mais eficiente dos conceitos
aqui defendidos. E dão origem ao aparecimento de novas ideias, algumas das quais
estão já em fase de concretização, que irão contribuir para que os futuros sistemas de
CAD possam conjugar a funcionalidade já existente nos sistemas actuais, com a naturalidade e a simplicidade de utilização que caracterizam o lápis e a folha de papel.
5.4 Conclusão
Neste capítulo descreveram-se os procedimentos experimentais que foram realizados
no sentido de validar os princípios subjacentes à abordagem ao problema formulado
no início da dissertação. Mais concretamente, e após uma pequena introdução na qual
se referiram os principais aspectos a ter em conta durante o processo de concepção de
5-58
Interacção caligráfica ambígua em sistemas computacionais de modelação
sistemas interactivos em geral – design centrado no utilizador, noção de usabilidade,
metodologias top-down/bottom-up de desenvolvimento iterativo e centrado na avaliação – seguiu-se a descrição pormenorizada da sessão de avaliação da usabilidade do
protótipo GIDeS, na qual participou um conjunto de cinco elementos representativos
do universo de potenciais utilizadores de sistemas de modelação, e analisaram-se os
resultados decorrentes da sua realização.
A avaliação de usabilidade foi deveras produtiva em todas as suas vertentes: na opinião dos participantes acerca das ideias inovadoras subjacentes à concepção do protótipo (traduzida nas respostas aos questionários); nos tempos obtidos na realização dos
testes de eficiência; e nos comentários e sugestões de aperfeiçoamento que foram emitidos. De todos estes aspectos, o segundo revela-se ainda mais importante se se considerar que a experiência da generalidade dos participantes na utilização dos sistemas
de CAD comercialmente disponíveis é muito grande, quando comparada com o quase
total desconhecimento dos mesmos em relação ao protótipo que foi submetido à sua
apreciação. Todos estes factores constituem um forte incentivo à prossecução dos
objectivos que a abordagem caligráfica ambígua se propõe alcançar no âmbito do
apoio computorizado às etapas iniciais do design.
Capítulo 6
Trabalho futuro e conclusão
Trabalho futuro
Paradigma híbrido do desenho
Modalidades complementares de interacção
Ambiguidade infinita
Expansão do âmbito de utilização das listas de expectativas
Correcção automática de esboços
Execução de cortes e furos em objectos
Características temporais do gesto
Ordenação das opções das listas de expectativas
Sugestão automática de operações de manipulação da câmara
Projecções ortográficas
Restrições geométricas
Linhas de construção e edição automática
Cotagem de objectos
Conclusão
6 Trabalho futuro e conclusão
Neste capítulo é feita a apresentação, a título de trabalho futuro, de novas contribuições no âmbito da interacção caligráfica em sistemas computacionais de apoio ao
design, bem como de ideias para a prossecução e desenvolvimento de alguns dos conceitos que aqui foram defendidos. É o caso, entre outros, do paradigma híbrido de
desenho, do recurso a modalidades complementares de interacção natural, da resolução de ambiguidades infinitas, do alargamento do contexto de utilização das listas de
expectativas a outras manifestações de ambiguidade, do aproveitamento das características temporais do gesto na interpretação das acções do utilizador, da exploração de
linhas de construção na edição automática de objectos e dos mecanismos de cotagem
assistida por computador. O capítulo termina com a conclusão do presente documento.
6.1 Trabalho futuro
Algumas das ideias que aqui se descrevem constituem uma tentativa de resolução dos
principais problemas encontrados aquando da realização da sessão de avaliação da
usabilidade do protótipo GIDeS e resultam sobretudo dos comentários e sugestões de
alteração feitos pelos participantes na referida sessão (Secção 5.3.6 do Capítulo 5).
Outras tiveram origem em conversas mantidas com potenciais utilizadores – na sua
maioria designers – deste tipo de sistemas [Fonseca03c], e na observação in loco dos
seus processos de trabalho [Fonseca03d]. Muitas destas ideias encontram-se actualmente a ser implementadas1 no âmbito de um projecto europeu que tem como objectivo a utilização natural e eficiente dos sistemas computacionais nas etapas iniciais do
1
O sistema GIDeS++ [Jorge03].
6-2
Interacção caligráfica ambígua em sistemas computacionais de modelação
processo de design (o Projecto SmartSketches; ver a Secção 3.2.3 do Capítulo 3), e
algumas foram já objecto de avaliações preliminares de usabilidade [Araújo03, Silva03].
6.1.1 Paradigma híbrido do desenho
Na Secção 3.1 do Capítulo 3 foi feita uma análise comparativa do paradigma do desenho puro, estabelecido por Branco no âmbito da sua dissertação [Branco94, Branco96], e a abordagem incremental descrita neste trabalho. Recorde-se que, no paradigma do desenho puro, a criação de geometria tridimensional pode ser feita de uma
forma, em princípio, mais expedita, com o recurso a algoritmos de reconstrução que
convertem directamente os esboços 2D no modelo 3D correspondente2. A maioria
destes algoritmos recorre a técnicas de etiquetagem do desenho que têm como ponto
de partida os trabalhos desenvolvidos de forma independente por Huffman [Huffman71] e Clowes [Clowes71] em 1971, o que tem como consequência que os mesmos
só possam ser usados na reconstrução de objectos de faces poligonais planas e vértices
trivalentes. O mesmo sucede com outras abordagens como, por exemplo, a de Lamb e
Bandopadhay [Lamb90]3, na qual são usadas regras heurísticas e perceptuais na tentativa de ajustar automaticamente o desenho, de forma a eliminar as imprecisões que o
caracterizam, e de reconstruir a estrutura 3D correspondente. Nas situações em que o
conjunto de regras não é suficiente para restringir o número de interpretações possíveis, é requerida a intervenção do utilizador.
2
Ou, melhor dizendo, num modelo que esteja em concordância com o desenho, uma vez que a informação 2D disponível é, normalmente, insuficiente para determinar inequivocamente a geometria 3D do
objecto.
3
Na qual se baseou o processo de reconstrução utilizado por Branco no sistema IDeS [Branco94, Branco96].
Trabalho futuro e conclusão 6-3
O paradigma do desenho incremental não padece destes problemas, nomeadamente o
de a sua utilização não estar limitada à construção de modelos de faces planas e vértices trivalentes. Além disso, as imprecisões do desenho vão sendo corrigidas em tempo
real, à medida que o utilizador vai esboçando a forma do objecto em concepção. Em
contrapartida, a construção de modelos de grande complexidade com base num conjunto de primitivas muito simples – paralelepípedos, cilindros, etc. – pode constituir
um processo moroso.
Uma ideia para a resolução deste problema consiste na adopção de um paradigma
híbrido de interacção. Com base no desenho puro, e recorrendo a algoritmos de
reconstrução 3D, é possível criar, de forma eficaz, poliedros de vértices trivalentes de
pequena e média complexidade. O reconhecimento de primitivas 2D e as restrições de
natureza geométrica defendidas neste trabalho agem em permanência durante toda a
actividade de desenho, corrigindo as imprecisões do esboço e eliminando desde logo
algumas das dificuldades do processo de reconstrução propriamente dito. Nos casos
em que as regras de ordem heurística e perceptual, atrás referidas, não permitem restringir o número de interpretações possíveis e determinar inequivocamente a geometria do objecto, recorre-se à utilização de listas de expectativas.
Os sólidos criados por este processo são, por sua vez, usados como primitivas4 na
construção, de forma incremental, de objectos de maior complexidade. Isto é, o paradigma do desenho puro constitui um atalho que, ao disponibilizar primitivas mais
complexas do que as definidas no paradigma do desenho incremental, permite reduzir
4
Juntamente com as primitivas básicas já existentes.
6-4
Interacção caligráfica ambígua em sistemas computacionais de modelação
consideravelmente a extensão do caminho a percorrer ao longo das diversas fases do
processo de design.
Nos casos em que o modelo ou cena tridimensional é susceptível de ser construído
mediante qualquer uma das abordagens referidas anteriormente, o paradigma híbrido
confere ao utilizador a liberdade de escolher a que melhor lhe convier. Mas é nas
situações de maior complexidade que os méritos da conjugação do desenho puro e do
desenho incremental se manifestam, constituindo uma ferramenta verdadeiramente
eficiente, de utilização quase ilimitada, na qual as vantagens de cada uma das abordagens se combinam e as desvantagens se cancelam.
6.1.2 Modalidades complementares de interacção
O recurso a modalidades alternativas de interacção natural, nomeadamente a fala e a
escrita, poderá vir a ser um complemento importante ao principal processo de comunicação com o sistema de modelação – o desenho – e contribuir para aumentar a eficiência e, por conseguinte, a usabilidade da interface.
No caso particular do protótipo GIDeS, o reconhecimento da fala poderá ser aproveitado na invocação das listas de expectativas associadas às transformações geométricas
e às operações de manipulação da câmara virtual. A activação da primeira é feita,
recorde-se, mantendo o estilete pressionado de encontro ao ecrã, pela duração mínima
de um segundo, sobre a projecção de um sólido previamente seleccionado. O aparecimento da segunda está dependente da acção sobre um botão suplementar – o botão
lateral do estilete ou o botão secundário do rato, se for o caso – do dispositivo de interacção.
Trabalho futuro e conclusão 6-5
A invocação pela fala destas e de outras operações5 foi já implementada no sistema
GIDeS++, a evolução do protótipo GIDeS feita no âmbito do Projecto SmartSketches
[Jorge03]. A expressão verbal adoptada para cada comando é constituída, no mínimo,
por duas palavras, de modo a reduzir a ocorrência de situações em que o sistema
interpreta, erradamente, um fragmento de uma conversa entre seres humanos como
uma ordem que lhe era destinada. A primeira palavra descreve a acção, a segunda
especifica o objecto sobre o qual a referida acção deverá incidir6. Por exemplo, para
invocar os modos pan, zoom e viewpoint de manipulação da câmara, usam-se as
expressões “pan (ou move) view”, “zoom view” e “change view”, respectivamente.
Repare-se que a palavra que descreve o objecto – view, neste caso – é idêntica para
todos os comandos, o que contribui para reduzir a carga cognitiva imposta ao utilizador.
Outra aplicação possível para o reconhecimento da fala, sugerida por Augusto de Sousa numa conversa informal com o autor, consiste em seleccionar as opções das diversas listas de expectativas com base em alguma forma inequívoca de identificação.
Esta poderia ser, consoante o tipo de lista, o nome do comando, primitiva 2D, primitiva 3D ou operação booleana pretendida pelo utilizador ou, mais uma vez para minimizar a carga cognitiva imposta a este último, um simples número de ordem que
reflectisse a posição ocupada pela opção na lista de expectativas7.
5
As opções que constam do menu File do sistema.
6
Está-se, por conseguinte, em presença de um paradigma de interacção do tipo acção-objecto, semelhante ao usado na generalidade das interfaces de linha de comandos [Hix93].
7
“Option number two” ou “second option”, por exemplo. A primeira opção, por se tratar de uma acção
por omissão, não necessitaria de confirmação verbal.
6-6
Interacção caligráfica ambígua em sistemas computacionais de modelação
Já no que se refere ao reconhecimento da escrita, este poderá ser usado na cotagem
dos objectos constituintes da cena em concepção (ver a Secção 6.1.9, mais adiante
neste capítulo). O algoritmo responsável pela interpretação da informação manuscrita
deverá estar apto a identificar não só números (“25.8”, por exemplo), mas também
expressões aritméticas simples (“2 * 6.3 + 13.2”, por exemplo)8.
6.1.3 Ambiguidade infinita
As listas de expectativas revelaram-se um meio eficaz de resolução das ambiguidades
inerentes ao processo de identificação dos objectos – sejam eles comandos, primitivas
2D, 3D, ou operações booleanas – instanciados pelos gestos do utilizador, em que o
número de opções possíveis não só é finito, como também é reduzido. Há, no entanto,
um outro tipo de ambiguidade, mais complexo, que conduz a um número infinito de
soluções e que as listas de expectativas, só por si, não permitem resolver com total
eficácia. Trata-se da indeterminação que sempre aparece associada aos processos de
cálculo da geometria de um modelo tridimensional a partir da informação 2D existente no desenho que o representa.
Com efeito, numa projecção axonométrica, a transformação das coordenadas 3D de
cada ponto da cena nas coordenadas 2D do ponto projectado correspondente é feita de
acordo com as seguintes equações [Rogers90]:
Eq. 6-1
x 2D = x3D cos φ + z 3D sin φ
Eq. 6-2
y2D = x3D sin φ sin θ + y3D cosθ − z3D cos φ sin θ
8
A aptidão para o reconhecimento de expressões aritméticas foi sugerida por um dos participantes na
sessão preliminar de avaliação da usabilidade do protótipo GIDeS++.
Trabalho futuro e conclusão 6-7
em que φ e θ são, respectivamente, os ângulos de observação horizontal e vertical;
x3D, y3D e z3D são as coordenadas 3D do ponto original; x2D e y2D são as coordenadas
2D do ponto projectado.
A interpretação do desenho como representação de uma projecção axonométrica de
um objecto tridimensional requer a transformação inversa, ou seja, a determinação,
para cada ponto (x2D, y2D) do esboço, do ponto (x3D, y3D, z3D) correspondente. Por
outras palavras, requer a resolução, para cada ponto, de um sistema de duas equações
a três incógnitas o qual, como é sabido, é indeterminado, permitindo um número infinito de soluções.
A abordagem adoptada para solucionar este problema passou pela conjugação das listas de expectativas com algumas regras de natureza heurística e perceptual. Do ponto
de vista matemático, a aplicação de um dado conjunto de regras equivale à introdução
de uma terceira equação no sistema acima referido e à consequente viabilização da
sua resolução. Diferentes conjuntos de regras conduzirão a diferentes equações e a
diferentes soluções. Mas estas são, agora, em número finito e reduzido, pelo que
podem ser geridas de uma forma eficiente pelas listas de expectativas.
Atente-se no desenho ilustrado na Figura 6-1a. Pode representar uma superfície de
revolução ou um ducto, mas para o efeito desta discussão considere-se apenas o ducto.
O desenho é composto por duas linhas que se encontram num ponto: a linha de secção
(fechada) e a linha de perfil (aberta).
Na sua versão actual, o sistema GIDeS contempla uma regra heurística que estabelece
que estas linhas, no caso do ducto, deverão ser consideradas como estando inscritas
6-8
Interacção caligráfica ambígua em sistemas computacionais de modelação
em planos paralelos aos planos principais do espaço tridimensional coordenado: os
planos XY, XZ e YZ.
Tangente
Linha de
secção
Ponto de
junção
Z
Y
X
Linha de
perfil
a) desenho
b) lista de expectativas
Figura 6-1 – Aplicação de regras heurísticas e perceptuais na interpretação de um desenho
O módulo de reconhecimento de primitivas 3D começa por calcular a tangente à linha
de perfil no ponto de junção da mesma com a linha de secção, e compara o declive da
referida tangente com o da projecção de cada um dos três eixos coordenados. No
exemplo da figura, os declives da tangente e do eixo Z projectado são aproximadamente idênticos, pelo que a linha de secção é considerada como estando inscrita num
plano perpendicular ao eixo Z, isto é, num plano paralelo ao plano XY (regra perceptual).
Uma vez estabelecido o plano XY para a linha de secção, e aplicando novamente a
regra heurística definida no início do procedimento, restam os planos XZ e YZ para a
linha de perfil. Ou seja, o conjunto infinito de soluções possíveis para a geometria do
ducto ficou reduzido a apenas dois elementos:
•
Um ducto representado por um desenho no qual a linha de secção está inscrita
no plano XY e a de perfil no plano XZ;
Trabalho futuro e conclusão 6-9
•
Um ducto representado por um desenho no qual a linha de secção está inscrita
no plano XY e a de perfil no plano YZ.
Havendo apenas duas soluções, é fácil criar a lista de expectativas correspondente, a
qual permitirá ao utilizador proceder à desambiguação final (Figura 6-1b)9.
O recurso a regras de natureza heurística ou perceptual apresenta, no entanto, o inconveniente de o conjunto restrito de soluções que decorre da sua aplicação não incluir
necessariamente a opção pretendida pelo utilizador. Por outras palavras, existirão
sempre situações, por poucas que sejam, em que as regras estabelecidas não serão
válidas. No exemplo acima descrito nada impede que o designer, ao esboçar a linha de
secção, tivesse em mente um plano diferente do plano XY. O mesmo sucede com a
linha de perfil, a qual poderia, no entender do utilizador, encontrar-se inscrita noutro
plano que não o XZ ou YZ.
Uma abordagem possível à resolução deste problema consiste em evitar, na medida do
possível, a aplicação de regras heurísticas e perceptuais, e em modificar o comportamento das listas de expectativas no sentido de as habilitar a gerir as ambiguidades
infinitas que são próprias do processo de conversão 2D/3D.
Considere-se o cenário ilustrado na Figura 6-2. Recorde-se que as listas de expectativas, numa das suas múltiplas configurações, são representadas quer por uma barra de
modelos em escala reduzida, localizada no canto superior esquerdo da janela primária,
quer por uma sequência de modelos em escala natural, no local apropriado da área de
trabalho. As primitivas 3D sugeridas – uma superfície de revolução e um ducto –
9
Recorde-se que o desenho usado neste exemplo também instancia uma superfície de revolução, pelo
que a lista de expectativas ilustrada na figura exibe um total de três soluções.
6-10
Interacção caligráfica ambígua em sistemas computacionais de modelação
foram instanciadas pelo desenho do exemplo anterior (Figura 6-1a). Note-se, no
entanto, que a barra de modelos em escala reduzida apresenta agora apenas uma solução para o ducto (confrontar com a Figura 6-1b).
O utilizador começa por identificar a primitiva a construir. Para tal, efectua um click
na imagem em escala reduzida do modelo pretendido ou, em alternativa, um ou mais
clicks na região amarela da área de trabalho (assinalada pela letra A na figura). Até
aqui tudo se passa como anteriormente.
B
D
C
A
Figura 6-2 – Exemplo de uma lista de expectativas infinitas
Uma vez identificada a primitiva – o ducto, no exemplo da figura – é dada ao designer
a possibilidade de definir com precisão a orientação dos planos correspondentes à
Trabalho futuro e conclusão 6-11
secção e ao perfil do objecto. Acções de carregar, arrastar e largar na região identificada por B permitirão alterar os co-senos directores da normal ao plano da secção,
enquanto acções idênticas na região assinalada por C terão implicações similares no
plano do perfil.
Mais concretamente, se OP for o vector unitário que define a normal a um dos planos
– o da secção ou o do perfil – os seus co-senos directores serão dados pelo seguinte
conjunto de equações (Figura 6-3):
z
P
O
α
x
β
cz
cy
cx
y
Figura 6-3 – Co-senos directores da normal a um plano
Eq. 6-3
c x = cos α cos β
Eq. 6-4
c y = sin α cos β
Eq. 6-5
c z = sin β
A reorientação do vector e, por conseguinte, do plano que lhe está associado, pode ser
concretizada fazendo variar os ângulos α e β em função do movimento do cursor:
Eq. 6-6
α = f ( xcur )
Eq. 6-7
β = g ( y cur )
6-12
Interacção caligráfica ambígua em sistemas computacionais de modelação
em que xcur e ycur são as coordenadas do cursor; f() e g() são duas funções lineares de
xcur e ycur, respectivamente.
Os casos particulares correspondentes a planos paralelos aos planos principais do
espaço coordenado poderão ser facilmente obtidos pelo utilizador se existir uma
pequena descontinuidade ao nível da suavidade da interacção (snapping).
Uma vez estabelecida a geometria pretendida para o sólido, o designer efectua um
click na região D da área de trabalho, fixando assim o resultado. O click será desnecessário se o utilizador prosseguir a sua actividade com o desenho de um novo traço,
concretizado por uma acção de carregar, arrastar e largar com início nas regiões A ou
D da área de trabalho.
6.1.4 Expansão do âmbito de utilização das listas de expectativas
A utilização de listas de expectativas tem como principal finalidade, recorde-se, a gestão das ambiguidades próprias do desenho, explorando-as de modo a trazer benefícios
ao utilizador. Actualmente, as listas são usadas em vários níveis do processo de interacção, nomeadamente na sugestão de comandos, primitivas 2D e 3D, e operações
booleanas. No entanto, o seu âmbito de utilização pode ser estendido a outros domínios, nos quais a ambiguidade também marca presença. Duas dessas áreas são a correcção automática de esboços e a utilização do utensílio de corte de objectos 3D.
6.1.4.1 Correcção automática de esboços
Considere-se a situação ilustrada na Figura 6-4. Após esboçar o contorno da Figura 64a, o utilizador delineou o traço cinzento representado na Figura 6-4b. Há três interpretações possíveis para esta acção:
Trabalho futuro e conclusão 6-13
a)
b)
c)
d)
e)
Figura 6-4 – Ambiguidade na correcção automática de esboços
•
O utilizador não pretendia efectuar qualquer correcção ao contorno original,
pelo que o novo traço deverá ser acrescentado ao desenho já existente (Figura
6-4c).
•
O utilizador pretendia corrigir o perfil da parte inferior do contorno, pelo que
esta deverá ser automaticamente apagada, sendo substituída pelo novo traçado
(Figura 6-4d).
•
O utilizador pretendia corrigir a forma da parte superior do contorno, de modo
a obter o resultado ilustrado na Figura 6-4e.
A ambiguidade está patente neste exemplo a dois níveis: na determinação da existência ou não de uma situação de correcção (Figura 6-4c versus Figuras 6-4d e 6-4e) e,
em caso afirmativo, na identificação da porção do contorno (inferior ou superior,
Figura 6-4d versus Figura 6-4e) que o utilizador pretende corrigir.
A proximidade do traço cinzento da fracção inferior do contorno permite fazer a suposição de que o utilizador pretende, efectivamente, corrigir aquela porção. Esta suposição pode ser reforçada por um dado adicional: os traços de correcção são, normalmente, mais espessos do que os restantes, pelo que a pressão que o utilizador exerce com o
6-14
Interacção caligráfica ambígua em sistemas computacionais de modelação
estilete sobre a superfície do ecrã no momento em que o traço é esboçado pode constituir um dado importante10. No entanto, o facto de esta interpretação ser a que maior
probabilidade tem de ser a interpretação correcta, não impede que as duas alternativas
o possam ser também. Isto é, a informação disponível permite estimar a probabilidade
de cada uma das interpretações ser a que está na mente do designer, mas não é suficiente para eliminar nenhuma com certeza absoluta. Uma possível solução para este
problema consiste, mais uma vez, na utilização de uma lista de expectativas, devidamente ordenada por ordem decrescente de probabilidade, e com a opção mais provável seleccionada por omissão (Figura 6-5).
Figura 6-5 – Lista de expectativas de correcção de esboços
6.1.4.2 Execução de cortes e furos em objectos
A execução de cortes e furos em objectos 3D é outra área onde a utilização de listas
de expectativas é adequada para resolver ambiguidades.
Considere-se o exemplo da Figura 6-6. A informação disponível no perfil de corte
esboçado na superfície de topo do cilindro (Figura 6-6a) não é suficiente para determinar inequivocamente que porção do objecto o utilizador pretende ver removida: a
menor (Figura 6-6b), ou a maior (Figura 6-6c). No sistema GIDeS é a menor que é
10
O sistema GIDeS não estabelece qualquer distinção entre um estilete e um rato. A extremidade do
primeiro é, em tudo, equivalente ao botão principal do segundo, pelo que o valor da pressão exercida
pelo estilete sobre a superfície do ecrã não é susceptível de ser medido. Esta situação pode, no entanto,
ser facilmente remediada, mediante a implementação de funções de baixo nível de processamento da
informação proveniente do dispositivo de entrada.
Trabalho futuro e conclusão 6-15
removida, à semelhança do que supostamente acontece quando uma pessoa retira uma
fatia a um bolo. Mas a segunda alternativa, embora não sendo tão provável, não deixa
de ser possível, pelo que também deveria ser tomada em consideração.
a)
b)
c)
Figura 6-6 – Ambiguidade na execução de cortes em objectos
Uma ambiguidade semelhante ocorre nas situações em que o perfil de corte corresponde a uma linha fechada (Figura 6-7a). Não é claro se o utilizador pretende executar
um furo (Figura 6-7b) ou, pelo contrário, se é sua intenção esculpir o objecto (Figura
6-7c). Em ambos os casos a utilização de listas de expectativas resolve eficazmente o
problema.
a)
b)
Figura 6-7 – Ambiguidade na execução de furos em objectos
c)
6-16
Interacção caligráfica ambígua em sistemas computacionais de modelação
6.1.5 Características temporais do gesto
Na Secção 4.2.3 foi referido que a decisão de aceitar ou rejeitar um gesto, tomada
pelo sistema no decurso do processo de reconhecimento caligráfico, não deve ser
baseada em critérios de ordem temporal, menos fiáveis do que os de cariz geométrico,
na medida em que a cinemática dos gestos varia consideravelmente de utilizador para
utilizador. Isto não impede, no entanto, que tais critérios sejam usados em decisões
menos drásticas, ou em acções que não estejam directamente relacionadas com o
desenho. São exemplos destas situações, respectivamente, o processo de ordenação
das opções das listas de expectativas e a sugestão automática de operações de manipulação da câmara.
6.1.5.1 Ordenação das opções das listas de expectativas
Considere-se o traço representado na Figura 6-8a. Há duas maneiras possíveis de
interpretar a acção do utilizador:
•
O utilizador pretendia desenhar uma elipse (Figura 6-8b), mas foi um pouco
descuidado na sua acção, pelo que a existência de uma concavidade na parte
inferior esquerda do traçado é puramente casual.
•
O utilizador pretendia esboçar uma linha genérica cujo contorno só por acaso
se assemelha ao de uma elipse (Figura 6-8c). A existência da concavidade
atrás referida foi, neste caso, premeditada pelo utilizador.
a)
b)
Figura 6-8 – Ambiguidade no desenho
c)
Trabalho futuro e conclusão 6-17
No sistema GIDeS, a lista de expectativas que decorre da acção do utilizador está
ordenada de modo que a elipse – por se tratar de uma curva específica – preceda a
spline cúbica correspondente à linha genérica. No entanto, este critério pode ser
melhorado se se tiver em conta a cinemática do gesto.
No primeiro caso, a concavidade em causa deve-se a uma acção descuidada do utilizador, pelo que é razoável supor que o traço foi esboçado com ligeireza. Se, no decurso do processo de reconhecimento, se verificar que o traço foi esboçado com uma
velocidade superior à média daquele utilizador, é criada uma lista de expectativas na
qual a elipse aparece em primeiro lugar – opção por omissão – e a spline em segundo.
No segundo caso, pelo contrário, a existência da concavidade não é fruto do acaso,
pelo que é razoável admitir que o traço foi desenhado de uma forma lenta e cuidadosa.
A observação de que a velocidade, neste caso, é inferior à média daquele utilizador,
leva o sistema a criar uma lista de expectativas na qual a spline precede a elipse e é a
opção por omissão.
Tudo isto pressupõe o conhecimento, por parte do sistema, do valor médio da velocidade imprimida pelo utilizador no delineamento dos traços. Este valor não é conhecido a priori, mas pode ser sucessivamente calculado ao longo da sessão, com uma precisão que vai aumentando à medida que novos elementos vão sendo acrescentados ao
desenho11.
11
Este é mais um exemplo da aplicação do princípio do reconhecimento adaptável.
6-18
Interacção caligráfica ambígua em sistemas computacionais de modelação
6.1.5.2 Sugestão automática de operações de manipulação da câmara
A medição das características temporais dos gestos do utilizador, em conjugação com
outros factores, pode ser aproveitada no desenvolvimento de um mecanismo de sugestão automática das operações de pan e zoom.
Considere-se uma situação em que o utilizador está a desenhar com lentidão numa
área restrita da janela de trabalho. É razoável supor que a morosidade do processo se
deve ao facto de a área em questão ser pequena, pelo que seria benéfico para o utilizador se a mesma fosse ampliada e centrada na janela de trabalho. O sistema pode ter
estes aspectos em consideração e sugerir ao designer, sob a forma de uma lista de
expectativas, a execução de uma operação composta pelos comandos zoom e pan. A
determinação dos parâmetros associados a estes comandos é simples (Figura 6-9).
w1
w0
h0
(x0, y0)
h1
(x1, y1)
Figura 6-9 – Sugestão automática do comando zoom
Sejam x0 e y0 as coordenadas do canto inferior esquerdo do rectângulo envolvente da
pequena área que está a ser usada pelo utilizador (representada a amarelo na figura).
Sejam w0 e h0, respectivamente, a largura e a altura do referido rectângulo. Sejam x1 e
y1 as coordenadas do canto inferior esquerdo da área total contida na janela de trabalho (a cinzento na figura). Sejam w1 e h1, respectivamente, a largura e a altura da referida área. O novo factor de ampliação (o parâmetro do comando zoom) é dado pela
equação:
Trabalho futuro e conclusão 6-19
f = min(
Eq. 6-8
w1 h1
, )
w0 h0
No primeiro caso, isto é, quando f = w1 / w0, as novas coordenadas da área de trabalho
(os parâmetros do comando pan) são dadas pelas equações:
x1 = x0
Eq. 6-9
h1 − h0
2
y1 = y 0 −
No segundo caso (f = h1 / h0), as coordenadas são dadas pelas equações:
x1 = x0 −
Eq. 6-10
y1 = y 0
w1 − w0
2
Procedimento semelhante pode ser adoptado sempre que o utilizador esboçar lentamente junto à periferia da janela de trabalho (Figura 6-10).
w1
(x0, y0)
h1
(x1, y1)
Figura 6-10 – Sugestão automática do comando pan
Neste caso, é sugerida ao designer a execução do comando pan, o qual tem como consequência o deslocamento da cena de maneira a que o ponto correspondente à extremidade do traço passe a estar localizado no centro da janela. Os parâmetros do
comando são dados pelas equações:
6-20
Interacção caligráfica ambígua em sistemas computacionais de modelação
Eq. 6-11
w1
2
h1
y1 = y 0 −
2
x1 = x0 −
em que x0 e y0 são as coordenadas do ponto, x1 e y1 as coordenadas do canto inferior
esquerdo da área de trabalho, e w1 e h1 são, respectivamente, a largura e a altura da
referida área.
Para finalizar, importa sublinhar a importância de estas operações só serem efectuadas
com o consentimento prévio do utilizador. Com efeito, a ampliação e/ou o deslocamento automáticos da cena implicariam a violação do princípio da inércia na visualização, violação essa que iria confundir o utilizador e, por conseguinte, ter repercussões negativas na usabilidade do sistema interactivo.
6.1.6 Projecções ortográficas
De entre os comentários feitos pelos participantes na sessão de avaliação da usabilidade do sistema GIDeS, há um que refere a impossibilidade de se recorrer a projecções ortográficas da cena na criação de objectos 3D com precisão (Secção 5.3.6.2). As
dificuldades envolvidas na implementação desta funcionalidade, bem como a forma
de as resolver, já foram discutidas no Capítulo 5. Entretanto, está a ser desenvolvida
uma nova versão do protótipo que incorpora esta ideia e que permite, desde já, fazer
uma avaliação preliminar da aplicação da mesma aos sistemas caligráficos de apoio
ao design.
A Figura 6-11 ilustra a sequência de criação de duas primitivas 3D – um sólido de
extrusão e uma superfície de revolução – com o recurso a vistas auxiliares correspondentes a projecções ortográficas da cena.
Trabalho futuro e conclusão 6-21
a)
b)
c)
d)
e)
f)
Figura 6-11 – Sequência de construção de uma cena com o recurso a projecções ortográficas
6-22
Interacção caligráfica ambígua em sistemas computacionais de modelação
Na Figura 6-11a, o utilizador acciona o botão lateral do estilete, de modo a invocar a
lista das operações de manipulação da câmara e de comutação de vistas descrita na
Secção 5.3.6.2. Em seguida, selecciona a opção correspondente à vista inferior.
O utilizador traça então o perfil do futuro objecto de extrusão – a linha genérica, suave e fechada, que se pode ver no lado esquerdo da área de trabalho (Figura 6-11b),
bem como a circunferência correspondente à base da futura superfície de revolução.
Os traços são exibidos numa cor diferente da habitual12, de modo a informar o utilizador do carácter tridimensional dos mesmos. Segue-se a comutação para a vista frontal
da cena.
Nesta nova vista o utilizador traça o segmento de recta que define a extensão da extrusão, bem como a linha genérica, suave e aberta, que constitui o perfil da superfície de
revolução (Figura 6-11c). A lista de expectativas correspondente às operações de
manipulação da câmara e de comutação de vistas é novamente invocada, desta vez
para restaurar a projecção axonométrica que existia inicialmente (Figura 6-11d).
Repare-se que o desenho, dado o seu carácter 3D, reflecte em permanência as alterações decorrentes das sucessivas operações de comutação de vistas.
Por último, o utilizador invoca o comando gestual – o “3” representado a cinzento na
Figura 6-11e – que desencadeia o processo de reconhecimento de primitivas 3D. O
sistema começa por converter os traços 3D em 2D, tendo em conta a projecção em
vigor no momento da invocação do comando. Daí em diante tudo se processa da forma habitual: a topologia e a geometria de cada um dos desenhos existentes na cena
12
A verde, e não a preto.
Trabalho futuro e conclusão 6-23
são analisadas e, caso ocorra um reconhecimento, é sugerida, sob a forma de uma lista
de expectativas, a construção do modelo13 3D apropriado. O resultado final está ilustrado na Figura 6-11f.
Esta abordagem revela, desde já, alguns inconvenientes que a seguir se expõem.
Em primeiro lugar, a conversão 3D/2D que antecede o processo de reconhecimento de
primitivas traduz-se num desperdício de informação, do qual resultam indefinições
que não existiam no desenho inicial. Uma destas indefinições prende-se com a localização do objecto no espaço a três dimensões. A informação existente no traçado original é suficiente para determinar inequivocamente a referida localização, mas o
mesmo já não acontece após a conversão de coordenadas, pois a distância ao observador deixa de ser conhecida.
Em segundo lugar, o utilizador é obrigado a escolher uma projecção axonométrica
antes de invocar o processo de reconhecimento de primitivas, pois este não funciona
sobre projecções ortográficas, pelas razões expostas no capítulo anterior.
Em terceiro lugar, o processo de reconhecimento não se inicia automaticamente, tendo
de ser desencadeado pelo próprio utilizador, mediante a invocação de um comando
criado especificamente para esse fim.
Em quarto e último lugar, a projecção axonométrica tem de ser escolhida criteriosamente, sob pena de o processo de reconhecimento não funcionar. Para melhor se
compreender esta situação, considere-se o desenho a três dimensões representado na
Figura 6-12, executado com o auxílio de projecções ortográficas.
13
Ou modelos, se houver ambiguidade.
6-24
Interacção caligráfica ambígua em sistemas computacionais de modelação
a)
b)
Figura 6-12 – Influência da projecção sobre o reconhecimento de primitivas 3D
Na projecção axonométrica da Figura 6-12a, a topologia do traçado – uma linha
fechada ligada a uma linha aberta – corresponde à de um sólido de extrusão, o mesmo
sucedendo com a geometria, pelo que o reconhecimento vai, efectivamente, acontecer.
O mesmo não acontece com a projecção ilustrada na Figura 6-12b, pois a intersecção
(em duas dimensões) de ambas as linhas altera a topologia do desenho, deixando esta
de ser compatível com a de um objecto de extrusão.
Todos estes problemas podem ser resolvidos se o sistema de reconhecimento de primitivas for aperfeiçoado no sentido de processar directamente a informação tridimensional contida no desenho, dispensando, deste modo, a conversão de coordenadas 3D
em 2D, e evitando as indefinições dela decorrentes. A análise topológica do traçado
permanece inalterada14 e não é afectada pelas intersecções atrás referidas, pois estas
existem apenas no plano de projecção, não se verificando no espaço a três dimensões.
A análise geométrica subsequente, da qual resulta a determinação das características
do objecto, torna-se mais simples, pois não há que ter em conta os efeitos resultantes
14
Recorde-se que os gestos que instanciam primitivas 3D estão agrupados em três topologias distintas:
junção trivalente, linha fechada, e linha fechada ligada a uma linha aberta (ver a Secção 4.2.7.1 do
Capítulo 4).
Trabalho futuro e conclusão 6-25
da projecção. O processo de reconhecimento deixa de estar dependente da projecção
em vigor, seja ela ortográfica ou axonométrica, pelo que não é necessário recorrer a
um comando que o invoque explicitamente. O processo é desencadeado de forma
automática, sempre que o utilizador concluir o desenho de um novo traço.
A conjugação desta nova abordagem com o paradigma híbrido de desenho proposto
na Secção 6.1.1 deste capítulo sugere algumas alterações à arquitectura do sistema de
reconhecimento caligráfico (Figura 6-13; confrontar com a Figura 4-2, na Secção
4.2.1 do Capítulo 4).
As principais diferenças residem no facto de a arquitectura incluir agora não um, mas
dois grafos de desenho: o grafo 2D e o grafo 3D. A ligação do primeiro ao segundo é
feita mediante um módulo de reconstrução 3D. Além disso, o subsistema de reconhecimento de primitivas 3D aceita agora dois tipos de desenho:
•
Desenho 2D: o processamento desta informação decorre de forma idêntica à
que foi implementada na versão actual do protótipo e requer, como se viu, a
consideração da projecção que está em vigor no momento em se vai proceder à
tentativa de reconhecimento;
•
Desenho 3D: o processamento desta informação é mais simples pois, tal como
foi referido nos parágrafos anteriores, não depende da projecção.
Nas situações em que é possível determinar à partida a disposição no espaço tridimensional de uma primitiva de desenho recém-criada, é usado o grafo 3D. São exemplos
destas situações o desenho em projecções ortográficas ou sobre a superfície de sólidos
existentes na cena.
6-26
Opções
Forma
*
Listas de expectativas de
primitivas 2D
Suavidade
Reconhecimento de
primitivas 2D
3D
2D
Geometria
Listas de expectativas de
primitivas 3D
Topologia
Reconhecimento de
primitivas 3D
Grafo 3D de desenho
Reconstrução 3D
Grafo 2D de desenho
Figura 6-13 – Arquitectura do sistema de reconhecimento caligráfico
* Feedback de aprendizagem e adaptação ao utilizador
Listas de expectativas de
comandos
Módulo
n.º 2
Módulo
n.º 1
Traço
filtrado
Reconhecimento de
comandos
Interacção caligráfica ambígua em sistemas computacionais de modelação
Produto
escalar
Listas de expectativas de
operações booleanas
Sobreposição
Reconhecimento de
operações booleanas
Cena 3D
Trabalho futuro e conclusão 6-27
Se, pelo contrário, não for possível efectuar uma conversão 2D/3D a priori, recorre-se
ao grafo 2D e invoca-se o processo de reconstrução 3D. Este poderá basear-se, por
exemplo, nas técnicas de reconstrução de normalons e quasi-normalons15 que têm
vindo a ser desenvolvidas por Naya no âmbito do seu Doutoramento [Naya02].
Caso o processo de reconstrução tenha sido bem sucedido, o desenho 3D resultante é
colocado no grafo 3D e passado ao subsistema de reconhecimento de primitivas 3D16,
o qual procede à construção do sólido e gera a lista de expectativas apropriada. Se,
pelo contrário, o processo de reconstrução falhar, isto é, se o desenho 2D não corresponder a um sólido susceptível de ser reconstruído com base nas técnicas de Naya,
existe a possibilidade de se estar na presença de uma primitiva 3D. Neste caso a primitiva (ou primitivas, se existir ambiguidade) em questão será identificada pelo subsistema de reconhecimento segundo um procedimento análogo ao que se verifica
actualmente no protótipo.
6.1.7 Restrições geométricas
As restrições geométricas revelaram ser um meio eficaz de introduzir um considerável
grau de exactidão quer ao nível do desenho 2D, quer no domínio da edição e transformação geométrica de objectos 3D. Ao converter os esboços imprecisos do utilizador em desenhos rigorosos, as restrições contribuem para viabilizar a utilização de
sistemas caligráficos nas etapas finais do processo de design.
15
Normalons são todos os poliedros compostos por arestas paralelas a uma das três direcções principais
do espaço 3D. Se, a um poliedro que inclui arestas que não verificam esta condição, for possível retirar
essas arestas sem que tal procedimento implique a perda de vértices, diz-se que o poliedro é um quasinormalon [Naya02].
16
Repare-se que o conceito de primitiva 3D é, agora, mais abrangente. Inclui não só os onze sólidos de
base que constituem o repertório actual do protótipo GIDeS, mas também todos os poliedros – normalons e quasi-normalons – susceptíveis de serem reconstruídos pelo algoritmo de Naya.
6-28
Interacção caligráfica ambígua em sistemas computacionais de modelação
O alargamento do leque de restrições geométricas disponibilizado por sistemas deste
tipo é, por conseguinte, uma linha de acção que merece ser seguida. Actualmente,
apenas algumas restrições – gravidades linear e angular, coincidência dos centros
geométricos das faces dos objectos, igualdade de diâmetros, coincidência dos planos
das faces, alinhamento de arestas e coincidência de vértices – foram implementadas.
Restrições adicionais como o paralelismo, a perpendicularidade, a simetria e outras
contribuirão para obter a precisão requerida nas fases derradeiras do design, sem pôr
em causa a naturalidade e o carácter não intrusivo da interacção.
As figuras seguintes ilustram um exemplo da utilização de restrições no âmbito da
edição 3D. Considere-se o objecto da Figura 6-14. Por uma questão de clareza estão
representadas duas projecções, uma axonométrica e outra ortográfica, do modelo. O
objecto consiste num prisma quadrangular, no qual foi efectuado um furo que exibe
diversos graus de simetria.
Figura 6-14 – Exemplo de aplicação da simetria na construção de objectos
No sistema GIDeS não existe uma restrição de simetria que possa ser aproveitada pelo
utilizador. No entanto, o modelo foi facilmente construído a partir de um prisma quadrangular com ¼ do volume do prisma original, no qual foi executado um corte simé-
Trabalho futuro e conclusão 6-29
trico17 com a configuração visível na Figura 6-15a. Em seguida foram criadas, com o
auxílio do clipboard, três réplicas do objecto, as quais foram coladas entre si e ao
modelo original mediante a utilização da ferramenta de colagem descrita no Capítulo
4. Na Figura 6-15b está representada uma alternativa a este processo, na qual um
prisma triangular adequadamente cortado é replicado sete vezes, sendo as oito peças
subsequentemente coladas entre si de modo a obter-se o efeito pretendido.
a)
b)
Figura 6-15 – Construção do objecto no sistema GIDeS
A existência de uma restrição de simetria permitiria simplificar consideravelmente a
construção do objecto (Figura 6-16). Bastaria ao utilizador esboçar o perfil ilustrado a
1
1
2
2
3
3
Figura 6-16 – Construção do objecto com o recurso a operações de simetria
17
Na realidade foram efectuados dois cortes em sucessão: O primeiro, na parte inferior direita do
objecto, tem o perfil de ¼ de circunferência. O segundo tem o contorno definido por uma spline cúbica.
A simetria da spline foi conseguida com o auxílio de linhas de construção.
6-30
Interacção caligráfica ambígua em sistemas computacionais de modelação
azul na figura e efectuar três operações sucessivas de reflexão, usando como eixos de
simetria os traços 1, 2 e 3. A execução do furo concluiria o processo.
6.1.8 Linhas de construção e edição automática
A utilização de linhas auxiliares de construção na concepção rigorosa de objectos é
outro conceito cujo desenvolvimento futuro promete trazer grandes benefícios ao utilizador.
3D – Cena
2D – Desenho
Figura 6-17 – Camadas de desenho e de projecção da cena
Actualmente, o sistema GIDeS não dispõe de informação que lhe permita distinguir as
linhas de construção dos restantes elementos que compõem o desenho. A área de trabalho é composta por duas camadas sobrepostas: o plano de desenho 2D e o plano de
projecção da cena 3D (Figura 6-17). As linhas de construção são, por conseguinte,
colocadas na camada de desenho, cabendo ao utilizador o encargo de as identificar e
de as apagar assim que estas deixarem de lhe ser úteis.
Trabalho futuro e conclusão 6-31
Este problema pode ser resolvido se, tal como foi referido na Secção 5.3.6.4, se definir para o utilizador um procedimento que permita ao sistema fazer o reconhecimento
das linhas de construção: usando traços de tipos diferentes, por exemplo, ou exercendo pressões diferentes com o estilete sobre a superfície do ecrã. A identificação resultante deste procedimento permitirá ao sistema colocar as linhas de construção numa
camada reservada de desenho, a qual poderá, em qualquer instante, ser tornada visível
ou invisível consoante as necessidades do designer (Figura 6-18).
3D – Cena
2D – Linhas de construção
2D – Desenho
Figura 6-18 – Camadas de desenho, linhas de construção e de projecção da cena
Mais importante ainda, se o sistema mantiver um registo das acções do utilizador18, e
nesse registo figurar, também, a dependência dos resultados decorrentes dessas acções
face às linhas de construção existentes e às restrições geométricas aplicadas, o proces-
18
A existência deste registo será necessária à implementação do comando undo.
6-32
Interacção caligráfica ambígua em sistemas computacionais de modelação
so de edição 3D pode ser consideravelmente simplificado e acelerado. Com efeito, a
modificação das características de um objecto pode passar a ser feita com base na edição 2D das linhas de construção que lhes deram origem, reforçando assim o conceito
do desenho como paradigma de interacção. Uma vez concluídas as alterações às
linhas de construção, o sistema percorre automaticamente todos os passos subsequentes à criação das mesmas, estendendo, assim, os efeitos dessas alterações a todo o processo de edição do objecto.
Considere-se o exemplo, ilustrado na Figura 6-19, da execução de dois furos simétricos na face frontal de um bloco.
a)
b)
c)
d)
e)
Figura 6-19 – Execução de dois furos simétricos
O utilizador começa por traçar as linhas de construção correspondentes às diagonais
da face do objecto, de forma a determinar o centro geométrico da mesma (Figura 619a). Em seguida, desenha um rectângulo de dimensões proporcionais às do contorno
da referida face (Figura 6-19b), bem como o segmento de recta que vai servir de eixo
de simetria no delineamento dos perfis de corte (Figura 6-19c). Segue-se o esboço da
linha curva correspondente, por exemplo, à parte inferior do contorno do furo superior
e, mediante a aplicação de uma restrição de reflexão (ver a Secção 6.1.7), é criada
uma segunda linha curva, simétrica da original, correspondente à parte superior do
Trabalho futuro e conclusão 6-33
contorno do furo inferior (Figura 6-19d). Uma vez efectuados os cortes, obtém-se o
resultado ilustrado na Figura 6-19e.
Imagine-se, no entanto, que o utilizador não fica satisfeito com o modelo que acabou
de construir e decide reduzir a dimensão dos furos, aumentando a separação entre
eles. Num sistema de CAD tradicional, não lhe restaria outra solução que não fosse a
de recorrer ao comando undo para anular as acções correspondentes à realização dos
cortes e da operação de reflexão, após o que editaria a linha curva e repetiria o restante processo. Pelo contrário, num sistema que incorpore os conceitos de linhas de construção e de edição automática de objectos, bastaria ao utilizador activar a camada de
construção e deslocar a linha curva um pouco mais para cima (Figura 6-20a). O sistema reconheceria a alteração feita à linha e tomaria a iniciativa de desfazer – undo – e
refazer – redo – todas as acções dela dependentes. Isto é, repetiria os passos correspondentes à operação de reflexão (Figura 6-20b) e à execução dos furos (Figura 620c), obtendo-se assim, de uma forma simples e eficaz, o resultado pretendido.
a)
b)
c)
Figura 6-20 – Edição automática de objectos
6-34
Interacção caligráfica ambígua em sistemas computacionais de modelação
6.1.9 Cotagem de objectos
A utilização de restrições geométricas e de linhas auxiliares na construção incremental
de objectos 3D constitui apenas o primeiro passo no sentido de introduzir exactidão
nas tarefas de modelação e, por conseguinte, tornar o sistema GIDeS adequado às etapas finais do processo de design. A precisão relativa facultada por estes mecanismos
deverá, portanto, ser complementada com um processo de cotagem que permita converter os esboços imprecisos do utilizador nos desenhos técnicos necessários à produção rigorosa das peças modeladas.
Nas Figuras 6-21 e 6-22 está representado um exemplo simples que ilustra uma possível abordagem a este problema. A interacção é caligráfica e assemelha-se à forma
como os designers cotam os desenhos que produzem quando trabalham com papel e
lápis.
18
34
a)
b)
c)
Figura 6-21 – Cotagem de um cilindro
O utilizador começa por criar o objecto – um cilindro, neste exemplo – representado
na Figura 6-21a, após o que introduz, sob a forma gestual, a grandeza relativa ao diâmetro do mesmo (18 unidades – Figura 6-21b). O gesto é composto por uma seta
dupla e por um número. Com base na informação disponível e nas dimensões relativas
Trabalho futuro e conclusão 6-35
do modelo, o sistema determina a altura do mesmo (34 unidades) e apresenta o resultado ao utilizador sob a forma que se pode ver na Figura 6-21c.
Considere-se, todavia, que o utilizador não fica satisfeito com o valor obtido para a
altura do cilindro, pelo que procede, mais uma vez sob a forma gestual, à sua modificação (46 unidades – Figura 6-22a). O gesto é composto por um risco efectuado sobre
o número que se pretende corrigir, seguido por um novo número. Face a esta nova
situação, restam duas alternativas ao sistema. A primeira consiste em preservar as
dimensões relativas do objecto, o que implica alterar o valor do diâmetro para
18 * 46 / 34 unidades. No entanto, o valor original do diâmetro foi especificado pelo
próprio utilizador, pelo que não é provável que este veja com bons olhos a sua modificação. Resta, portanto, a segunda alternativa, a qual consiste em efectuar uma transformação geométrica do objecto – scaling – de modo a compatibilizar ambas as grandezas: 18 unidades para o diâmetro e 46 para a altura (Figura 6-22b).
18
18
46
34
a)
b)
Figura 6-22 – Cotagem de um cilindro (conclusão)
6-36
Interacção caligráfica ambígua em sistemas computacionais de modelação
O mecanismo acima descrito de cotagem assistida por computador padece, no entanto,
de alguns problemas, dos quais o mais relevante tem origem na sempre presente ambiguidade das acções do utilizador.
Considere-se o bloco representado na Figura 6-23a. Os valores a vermelho representam cotas introduzidas pelo utilizador, enquanto as grandezas a azul foram calculadas
pelo sistema com base nas dimensões relativas do objecto. O bloco terá, por conseguinte, uma profundidade, largura e altura de, respectivamente, 1, 2 e 4 unidades.
8
4
2
a)
4
4
4
1
1
1
b)
c)
Figura 6-23 – Ambiguidade na cotagem de objectos
Considere-se que o utilizador decide alterar a dimensão relativa à largura do bloco de
2 para 4 unidades. Deverá o sistema preservar, tanto quanto possível, as dimensões
absolutas do objecto, mantendo inalterada a grandeza referente à altura do mesmo
(Figura 6-23b)? Ou, pelo contrário, deverá o sistema ter o cuidado de preservar, na
medida do possível, as dimensões relativas do modelo, mantendo inalterada a relação
entre a largura e a altura do bloco (Figura 6-23c)?
Trabalho futuro e conclusão 6-37
Na opinião do autor, a alternativa da Figura 6-23b parece mais natural do que a da
Figura 6-23c, na medida em que a inércia patente na reacção do sistema à acção do
utilizador é maior. Isto é, só a grandeza explicitamente alterada pelo utilizador – a largura do objecto – sofre alterações. No entanto, deverão ser os utilizadores finais de
um sistema deste tipo, e não o autor, a pronunciar-se sobre este aspecto em particular19. Caso não se verifique um consenso na opinião dos referidos utilizadores, poderse-á, mais uma vez, recorrer às listas de expectativas para resolver a ambiguidade caso
a caso, à medida que este tipo de situações for surgindo.
O cilindro que serviu de exemplo a esta explicação é um objecto muito simples. A
cotagem de modelos mais complexos poderá dar origem a novos problemas e a novas
ambiguidades. Considere-se, por exemplo, um sólido no qual foi efectuado um corte,
com base na utilização de restrições geométricas e de linhas de construção. Se o processo de cotagem exigir uma alteração nas dimensões gerais20 do objecto, deverão as
dimensões do corte ser modificadas na mesma proporção? Ou, uma vez que as características geométricas do mesmo foram explicitamente definidas pelo utilizador através do desenho de linhas de construção, deverão as dimensões do referido corte permanecer, na medida do possível, inalteradas?
A resposta a estas questões, da qual depende a decisão que deverá ser tomada pelo
sistema, varia consoante as situações e pode encontrar-se, pelo menos em princípio,
na informação disponibilizada pelas próprias linhas de construção.
19
Através da realização de novos testes de usabilidade.
20
Por dimensões gerais de um objecto entenda-se a largura, altura e profundidade do mesmo.
6-38
Interacção caligráfica ambígua em sistemas computacionais de modelação
Considere-se o bloco ilustrado na Figura 6-24a, em cuja face superior se pretende
efectuar um corte. As linhas de construção e o perfil de corte estão representados, respectivamente, a azul e a preto. O resultado final está ilustrado na Figura 6-24b. Repare-se que as linhas de construção servem apenas para determinar um dos eixos da face
superior e, em conjugação com uma restrição de reflexão, garantir que o corte irá estar
centrado num dos lados da referida face. As dimensões do corte são essencialmente
arbitrárias, pois não dependem, em nenhum aspecto, quer das linhas de construção,
quer da restrição geométrica utilizada. Numa situação destas, e caso o processo de
cotagem exija um redimensionamento da face superior do objecto21, não é claro se o
utilizador pretende que o corte seja redimensionado na mesma proporção ou, pelo
contrário, permaneça inalterado. Uma lista de expectativas resolve eficazmente esta
ambiguidade.
a)
b)
Figura 6-24 – Independência das dimensões de um corte face às linhas de construção
Considere-se, agora, o bloco ilustrado na Figura 6-25a. Também aqui se pretende
efectuar um corte na face superior do modelo mas, neste caso, as linhas de construção
definem inequivocamente quer o posicionamento, quer as dimensões do corte. O
21
E o consequente redimensionamento das linhas de construção, uma vez que estas estão restringidas
pelas características geométricas da face superior.
Trabalho futuro e conclusão 6-39
resultado final pode ser observado na Figura 6-25b. Numa situação destas, o redimensionamento da face superior do sólido e o consequente redimensionamento das linhas
de construção obriga a que as dimensões do corte sejam alteradas na mesma proporção, não havendo, portanto, lugar a qualquer ambiguidade.
a)
b)
Figura 6-25 – Dependência das dimensões de um corte face às linhas de construção
O processo de cotagem complica-se ainda mais nas situações em que o utilizador pretende especificar, não as dimensões gerais do objecto, mas as dimensões de cortes,
furos, cavidades e saliências eventualmente existentes. Isto sugere que uma simples
transformação geométrica de scaling não será a operação adequada para efectuar as
modificações requeridas pelo processo de cotagem. Será necessário recorrer ao mecanismo de edição automática – undo/redo – descrito na Secção 6.1.8 para desfazer as
acções do utilizador e voltar a fazê-las no contexto dos novos parâmetros – cotas –
entretanto estabelecidos.
6.2 Conclusão
Neste capítulo foram apontadas algumas linhas de investigação científica que poderão
contribuir para a introdução de novos conceitos na área da interacção caligráfica
ambígua e para um melhor aproveitamento dos conceitos expostos nesta tese. Muitas
destas linhas encontram-se já numa fase avançada de investigação e os princípios que
6-40
Interacção caligráfica ambígua em sistemas computacionais de modelação
lhes estão associados foram objecto de implementação e avaliação na evolução
GIDeS++ do protótipo GIDeS (Figura 6-26). É o caso de duas modalidades complementares de interacção natural (a fala e a escrita), dos mecanismos de sugestão e
representação visual de restrições geométricas (mediante a combinação de técnicas de
pen over com o conceito de listas de expectativas ou o seu equivalente bidimensional,
o qual poderia vir a ser designado por tabelas ou matrizes de expectativas) e das técnicas caligráficas de cotagem e redimensionamento de objectos 3D. Também os paradigmas híbridos de desenho têm vindo a ser investigados por Naya no âmbito do seu
Doutoramento [Naya02]. Outras linhas de investigação encontram-se ainda numa fase
embrionária de desenvolvimento científico, como é o caso da mediação contínua de
ambiguidades infinitas, da consideração da cinemática do gesto por parte dos processos de reconhecimento caligráfico, de uma melhor exploração do conceito de linhas
de construção e da edição automática de objectos 3D.
Figura 6-26 – Exemplo de uma cena produzida no sistema GIDeS++
Trabalho futuro e conclusão 6-41
A avaliação da usabilidade do sistema GIDeS produziu resultados de importância
inquestionável no que se refere à validação dos conceitos que constituem a abordagem
defendida nesta dissertação. Os valores reduzidos do tempo despendido na realização
dos testes de eficiência, bem como o elevado grau de satisfação e o carácter positivo
das opiniões expressas pelos utilizadores nas respostas que deram aos questionários,
demonstram a utilidade do paradigma do desenho incremental na produção natural de
cenas tridimensionais substancialmente complexas e rigorosas sem, contudo, pôr em
causa o carácter desejavelmente não intrusivo da interacção e, por conseguinte, a
liberdade de expressão do designer.
Também os princípios que decorrem do reconhecimento do carácter ambíguo, não
susceptível de ser evitado, da interacção baseada em linguagens naturais, e da administração e exploração desse atributo com base em sugestões apresentadas sob a forma
de listas de expectativas, têm importantes implicações na definição de um repertório
de primitivas consistente e de fácil aprendizagem, pois é baseado nos critérios de teor
exclusivamente comportamental que resultam da aplicação do estudo dos factores
humanos.
Ficou igualmente demonstrado que as listas de expectativas permitem explorar a
ambiguidade no sentido de reduzir significativamente o repertório de comandos de
interacção. O aproveitamento desta particularidade, traduzido no conceito de interface
RISC, revelou-se de importância fundamental na minimização da carga cognitiva
imposta ao utilizador, na simplificação dos processos de comunicação com o computador e na responsabilização deste último pela interpretação semântica da informação
envolvida nesses processos.
6-42
Interacção caligráfica ambígua em sistemas computacionais de modelação
A avaliação de usabilidade permitiu demonstrar o papel relevante que a arquitectura
em cascata do sistema de reconhecimento caligráfico desempenha na identificação das
intenções – comandos, primitivas 2D, primitivas 3D e operações booleanas – subjacentes ao delineamento dos gestos e na consequente redução (ou mesmo eliminação)
do número de botões e teclas modificadoras usados na interacção, contribuindo assim
para a minimização da complexidade deste processo e para um aumento da sua naturalidade.
Também a validade dos esforços que visaram uma melhor adaptação do sistema ao
utilizador e um menor condicionamento do comportamento deste último, traduzidos
na capacidade de aprendizagem dos processos de reconhecimento caligráfico e na sua
independência face ao número, ordem e sentido dos traços esboçados, ficou demonstrada ao longo deste documento.
A utilização de técnicas de oversketching na correcção automática de esboços provou
ser um meio natural de auxílio à obtenção do perfil desejado para os traços de que tais
esboços são feitos, evitando assim os conceitos artificiais de especificação de tangentes e de pontos de controlo. A sua aplicação em conjugação com as listas de expectativas mostrou ser um método eficaz de acelerar a convergência do processo de correcção e de melhorar a eficiência geral da interacção.
O conceito de linhas de construção, familiar a todos os desenhadores profissionais e
presença constante em todos os desenhos técnicos, e as restrições geométricas nas
quais tais conceitos se fundamentam, demonstraram a sua utilidade enquanto forma
natural de obtenção de rigor na produção de modelos de peças desenhadas.
Trabalho futuro e conclusão 6-43
Por último, as ferramentas de edição e transformação geométrica de alto nível, designadamente a colagem, o deslocamento, o ajustamento e o corte, provaram ser um
meio poderoso e consistente – uma vez que também ele é baseado no desenho – de
aperfeiçoamento das formas dos objectos em concepção, chamando a si os encargos
que resultam da determinação, para cada caso, da sequência de operações elementares
mais apropriada à concretização dos objectivos do utilizador.
Muito ficou por dizer ao longo deste documento. O recurso a técnicas de rendering de
baixo realismo22, por exemplo, é de grande importância nas interfaces – não só caligráficas mas também de manipulação directa – que fundamentam no desenho o seu
principal paradigma de interacção. Também a modelação de superfícies 3D com base
em técnicas de oversketching dos padrões de luz reflectida e de sombra por elas produzidos não foi aflorada. Outras duas grandes linhas de investigação que merecem ser
aqui referidas prendem-se com a integração de mecanismos de interacção caligráfica
em ambientes imersivos de realidade aumentada [Fiorentino02, Santos03] e a indexação e recuperação de desenhos técnicos armazenados em bases de dados visuais de
grande dimensão [Fonseca02b, Fonseca03a, Fonseca03b]. Este último aspecto merece
ser realçado na medida em que, à semelhança do que sucede com as listas de expectativas e as interfaces RISC, também a comparação dos esboços do utilizador com os
desenhos técnicos existentes nas bases de dados representa um exemplo de interpretação semântica que deixa de estar sob a responsabilidade do designer e passa, ao invés,
a fazer parte do rol das tarefas atribuídas ao computador.
22
Non-photorealistic rendering.
6-44
Interacção caligráfica ambígua em sistemas computacionais de modelação
Branco conclui a sua tese de Doutoramento com a constatação de que a enumeração
dos futuros desenvolvimentos que o seu trabalho suscita prova que a sua realização
constituiu apenas uma gota no oceano de hipóteses em aberto [Branco96]. E remata
dizendo que essa gota pretende ser chuva. O autor destas linhas partilha da mesma
opinião no que à abordagem do sistema GIDeS diz respeito: os comentários e as
sugestões de aperfeiçoamento produzidos aquando da avaliação do protótipo assim o
indicam, e as ideias de trabalho futuro são a confirmação dessa realidade. Os conceitos defendidos nesta dissertação deverão, por conseguinte, ser considerados como o
avolumar da gota a que Branco alude. E se a isto se acrescentarem os esforços empenhados dos fazedores de chuva do Projecto SmartSketches, não parece irrazoável pensar que a quantidade de precipitação irá assumir valores significativos nos dias que se
avizinham.
Bibliografia
Bibliografia
[@LastSoftware]
@Last Software, Inc.
SketchUp 3D - Sketch-Based 3D Design Software
http://www.sketchup.com (último acesso em 27-01-2004)
[Adams74]
J. A. Adams
A Comparison of Methods for Cubic Spline Curve Fitting
Computer Aided Design, 6(1):1-9, 1974
[Amicis02]
R. Amicis, P. Santos, A. Stork, M. Fiorentino
SketchAR – Sketching in Mixed Realities
First Paderborn Workshop on Augmented and Virtual Reality, Paderborn,
Germany, 104, 145-155, 2002
[Anderson84]
I. M. Anderson, J. C. Bezdek
Curvature and tangential deflection of discrete arcs: A theory based on the
commutator of scatter matrix pairs and its application to vertex detection in
planar shape data
IEEE Transactions on Pattern Analysis and Machine Intelligence, 6:27-40,
January 1984
[Araújo03]
Bruno Araújo, Filipe Dias, Nelson Faria, Tiago Cardoso
GIDeS++ - 1st Usability Test at CENTIMFE
Relatório interno do Projecto SmartSketches, Julho 2003
[Attneave54]
F. Attneave
Some informational aspects of visual perception
Psychology Rev., (61):183-193, 1954
[Barata97]
José Barata
Interface Caligráfica para Desenho de Arquitectura
Dissertação de Mestrado, Instituto Superior Técnico, Lisboa, 1997
2
Interacção caligráfica ambígua em sistemas computacionais de modelação
[Baudel94]
Thomas Baudel
A Mark-Based Interaction paradigm for Free-Hand Drawing
Proceedings of ACM Symposium on User Interface Software Technology
(UIST), 185-192, November 1994
[Bezdek92]
James C. Bezdek, Sankar K. Pal
Fuzzy Models for Pattern Recognition
IEEE Press, 1992
[Bimber99a]
O. Bimber
Continuous 6D gesture recognition: a fuzzy-logic approach
Proceedings of the Seventh International Conference in Central Europe on
Computer Graphics, Visualization and Interactive Digital Media 1999, 1:2430, 1999
[Bimber99b]
O. Bimber
Rudiments of a 3D freehand sketch based human-computer interface for immersive virtual environments
Proceedings of Virtual Reality Systems and Technology, 182-183, 1999
[Bimber00]
O. Bimber, L. M. Encarnação, A. Stork
A multi-layered architecture for sketch-based interaction within virtual environments
Computers & Graphics, 24(6):51-867, Elsevier, December 2000
[Bimber01a]
O. Bimber, B. Fröhlich, D. Schmalstieg, L. M. Encarnação
The Virtual Showcase
IEEE Computer Graphics & Applications, 21(6):48-55, 2001
[Bimber01b]
O. Bimber, B. Fröhlich, D. Schmalstieg, L. M. Encarnação
Virtual Showcases – Presenting Hybride Exhibits
SIGGRAPH'01 Sketches and Applications, 277, 2001
[Blinn90]
J. F. Blinn
Jim Blinn’s Corner: The Ultimate Design Tool
Computer Graphics & Applications, IEEE, 10(11):90-92, 1990
Bibliografia
[Bloomenthal98]
3
M. Bloomenthal, R. Zeleznik, R. Fish, L. Holden, A. Forsberg, R.
Riesenfeld, M. Cutts, S. Drake, H. Fuchs, E. Cohen
Sketch-N-Make: Automated Machining of CAD Sketches
Proceedings of ASME Design Engineering Technical Conferences, Atlanta,
Georgia, September 1998
[Boehm88]
B. W. Boehm
A Spiral Modal of Software Development and Enhancement
IEEE Computer, 21(5):61-72, 1988
[Böhm84]
W. Böhm, G. Farin, J. Kahmann
A Survey of Curve and Surface Methods in CAGD
Computer Aided Geometric Design, 1:1-60, 1984
[Boyce85]
J. E. Boyce, D. P. Dobkin
Finding Extremal Polygons
SIAM Journal on Computing, 14(1):134-147, February 1985
[Branco90]
Vasco Branco, Carlos Carvalho, F. Nunes Ferreira
Improvements on 3D CAD systems for shoe design and modelling
Proceedings of the Sixth CIM-Europe Annual Conference, Lisboa, SpringerVerlag, 438-447, 1990
[Branco94]
Vasco Branco, F. Nunes Ferreira, António Costa
Sketching 3D models with 2D interaction devices
EUROGRAPHICS '94 Conference Proceedings, Daehlen M, Kjelldahl L
(Eds.), Oslo, Blackwell Pub., 489-502, 1994
[Branco96]
Vasco Branco
Interacção intuitiva em sistemas computacionais de apoio ao Design
Dissertação de Doutoramento, Faculdade de Engenharia da Universidade do
Porto, 1996
[Branco02]
Vasco Branco, F. Nunes Ferreira
design, desenho e representações computacionais
Relatório interno do Projecto SmartSketches (versão portuguesa), Setembro
2002
4
Interacção caligráfica ambígua em sistemas computacionais de modelação
[Carroll85]
J. M. Carroll, M. B. Rosson
Usability Specifications as a Tool in Iterative Development
H. R. Hartson (Ed.), Advances in Human-Computer Interaction, Norwood, NJ:
Ablex, 1-28, 1985
[Chakravarty79]
Indranil Chakravarty
A Generalized Line and Junction Labeling Scheme with Applications to Scene
Analysis
IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI1(2):202-205, 1979
[Chignell91]
M. H. Chignell, J. A. Waterworth
WIMPS and NERDS: An Extented View of the User Interface
SIGCHI Bulletin, 23(2):15-21, 1991
[Cline73]
A. K. Cline
Curve Fitting Using Splines Under Tension
Atmos. Tech., (3):60-65, 1973
[Clowes71]
M. B. Clowes
On Seeing Things
Artificial Inteligence, 2(1):79-112, 1971
[Draper81]
Stephen W. Draper
The Use of Gradient and Dual Space in Line-Drawing Interpretation
Artificial Inteligence, 17:461-508, 1981
[Duda73]
Richard O. Duda, Peter E. Hart
Pattern Classification and Scene Analysis
John Wiley & Sons, 1973
[Elber]
Gershon Elber
The IRIT modeling environment
http://www.cs.technion.ac.il/~irit (último acesso em 27-01-2004)
Bibliografia
[Encarnação99]
5
L. M. Encarnação, O. Bimber, D. Schmalstieg, S. D. Chandler
A Translucent Sketchpad for the Virtual Table Exploring Motion-based Gesture Recognition
Computer Graphics Forum, 18(3):C-277 – C-285, 1999
[Fiorentino02]
M. Fiorentino, R. Amicis, G. Monno, A. Stork
Spacedesign: A Mixed Reality Workspace for Aesthetic Industrial Design
2002
[Fonseca98]
M. J. Fonseca, Joaquim A. Jorge
Eddy: Um Editor Multimodal com Reconhecimento de Fala e Gestos
Actas do 8.º Encontro Português de Computação Gráfica, Coimbra, Portugal,
49-64, Fevereiro 1998
[Fonseca00a]
M. J. Fonseca, Joaquim A. Jorge
CALI: Uma Biblioteca de Componentes para Interfaces Caligráficas
Actas do 9.º Encontro Português de Computação Gráfica, Marinha Grande,
Portugal, 93-100, Fevereiro 2000
[Fonseca00b]
M. J. Fonseca, Joaquim A. Jorge
Using Fuzzy Logic to Recognize Geometric Shapes Interactively
Proceedings of the 9th Int. Conference on Fuzzy Systems (FUZZ-IEEE 2000),
San Antonio, USA, May 2000
[Fonseca01]
M. J. Fonseca, Joaquim A. Jorge
Experimental Evaluation of an on-line Scribble Recognizer
Pattern Recognition Letters Journal, 22(12) 1311-1319, 2001
[Fonseca02a]
M. J. Fonseca, C. Pimentel, Joaquim A. Jorge
CALI: An Online Scribble Recognizer for Calligraphic Interfaces
Proceedings of the 2002 AAAI Spring Symposium – Sketch Understanding,
Palo Alto, USA, March 2002
6
Interacção caligráfica ambígua em sistemas computacionais de modelação
[Fonseca02b]
M. J. Fonseca, Joaquim A. Jorge
Towards Content-Based Retrieval of Technical Drawings through HighDimensional Indexing
Proceedings of the First Ibero-American Symposium in Computer Graphics,
Guimarães, Portugal, 263-270, July 2002
[Fonseca03a]
M. J. Fonseca, Joaquim A. Jorge
Towards Content-Based Retrieval of Technical Drawings through HighDimensional Indexing
Computers & Graphics, 61-69, Elsevier, January 2003
[Fonseca03b]
M. J. Fonseca, Joaquim A. Jorge
Indexing High-Dimensional Data for Content Based Retrieval in Large Databases
Proceedings of the Eighth International Conference on Database Systems for
Advanced Applications, Kyoto, Japan, 267-274, March 2003
[Fonseca03c]
Manuel João Fonseca, Alfredo Ferreira Jr., Tiago Cardoso, Nelson Faria,
Bruno Araújo
Meeting with CENTIMFE for industrial prototype and usability test definition
Memorando interno do Projecto SmartSketches, Abril 2003
[Fonseca03d]
Manuel João Fonseca, Alfredo Ferreira Jr.
Sketching Experiment at CENTIMFE
Relatório interno do Projecto SmartSketches, Agosto 2003
[Forsberg97]
A. S. Forsberg, J. J. LaViola Jr., L. Markosian, R. C. Zeleznik
Seamless Interaction in Virtual Reality
Computer Graphics & Applications, IEEE, 17(6):6-9, 1997
[Freeman75]
H. Freeman, R. Shapira
Determining the minimum-area encasing rectangle for an arbitrary closed
curve
Communications of the ACM, 18(7):409-413, July 1975
Bibliografia
[Freeman77]
7
H. Freeman, L. S. Davis
A corner-finding algorithm for chain coded curves
IEEE Trans. Comput., C-26:297-303, March 1977
[Gould85]
J. D. Gould, C. Lewis
Designing for Usability: Key Principles and What Designers Think
Communications of the ACM, 28(3):300-311, 1985
[Gross94a]
M. D. Gross
The Fat Pencil, the Cocktail Napkin, and the Slide Library
A. Harfmann, M. Fraser (Editors), Proceedings of ACADIA ’94, 103-113, Association for Computer Aided Design in Architecture, St. Louis, 1994
[Gross94b]
M. D. Gross
Recognizing and Interpreting Diagrams in Design
T. Catarci, M. Costabile, S. Levialdi, G. Santucci (Editors), Proceedings of
Advanced Visual Interfaces ’94, ACM Press, 1994
[Gross94c]
M. D. Gross
Stretch-a-sketch, a dynamic diagrammer
A. Ambler (Editor), Proceedings of the Symposium on Visual Languages
1994, IEEE, 1994
[Gross96]
M. D. Gross
The electronic cocktail napkin – computer support for working with diagrams
Design Studies, 17(1):35-69, 1996
[Gross00]
M. D. Gross, E. Y.-L. Do
Drawing on the Back of an Envelope: a framework for interacting with application programs by freehand drawing
Computers & Graphics, 24(6):835-849, Elsevier, December 2000
[Hartson89]
H. Rex Hartson, Deborah Hix
Toward Empirically Derived Methodologies and Tools for Human-Computer
Interface Development
International Journal of Man-Machine Studies, 32:477-494, 1989
8
Interacção caligráfica ambígua em sistemas computacionais de modelação
[Hix93]
Deborah Hix, H. Rex Hartson
Developing User Interfaces: Ensuring Usability Through Product & Process
John Wiley & Sons, 1993
[Huffman71]
D. A. Huffman
Impossible objects as nonsense sentences
B. Meltzer, D. Michie (Editors), Machine Intelligence, 295-323, Edinburgh
University Press, 1971
[Hultquist90]
J. Hultquist
A virtual trackball
Graphics Gems, A. Glassner (Ed.), 462-463, Academic Press, 1990
[Igarashi97]
T. Igarashi, S. Matsuoka, S. Kawachiya, H. Tanaka
Interactive Beautification: A Technique for Rapid Geometric Design
Proceedings of the ACM Symposium on User Interface Software Technology
(UIST), 105-114, 1997
[Igarashi98]
T. Igarashi, S. Matsuoka, S. Kawachiya, H. Tanaka
Pegasus: A Drawing System for Rapid Geometric Design
CHI ‘98 Summary, 24-25, 1998
[Igarashi99]
T. Igarashi, S. Matsuoka, H. Tanaka
Teddy: A Sketching Interface for 3D Freeform Design
SIGGRAPH ‘99 Conference Proceedings, ACM, 409-416, 1999
[Igarashi01]
T. Igarashi, J. F. Hughes
A Suggestive Interface for 3D Drawing
14th Annual Symposium on User Interface Software and Technology (UIST
’01), Orlando, Florida, 173-181, November 2001
[Jorge94]
Joaquim A. Jorge
Parsing Adjacency Grammars for Calligraphic Interfaces
PhD Thesis, Rensselaer Polytechnic Institute, Troy, New York, 1994
Bibliografia
[Jorge99]
9
Joaquim A. Jorge, Manuel J. Fonseca
A Simple Approach to Recognise Geometric Shapes Interactively
Proceedings of the Third International Workshop on Graphics Recognition,
Jaipur, India, September 1999
[Jorge03]
Joaquim Jorge, Nelson Silva, Tiago Cardoso
GIDeS++
Actas do 12.º Encontro Português de Computação Gráfica, Porto, Portugal,
167-171, Outubro 2003
[Lamb90]
Del Lamb, Amit Bandopadhay
Interpreting a 3D Object From a Rough 2D Line Drawing
Proceedings of Visualization ’90, IEEE, 59-66, 1990
[Landay95]
J. A. Landay, B. A. Myers
Interactive Sketching for the Early Stages of User Interface Design
Proceedings of ACM CHI ’95 Conference on Human Factors in Computing
Systems, 43-50, 1995
[Leclerc92]
Y. G. Leclerc, M. A. Fischler
An optimization based approach to the interpretation of single line drawings
as 3D wire frames
International Journal of Computer Vision, 9(2):113-136, 1992
[Lee85]
Shih Jong Lee, Robert M. Haralick, Ming Chua Zhang
Understanding Objects with Curved Surfaces from a Single Perspective View
of Boundaries
Artificial Intelligence, 26:145-169, 1985
[Lipson96]
H. Lipson, M. Shpitalni
Optimization-based reconstruction of a 3D object from a single freehand line
drawing
Computer-Aided Design, 28(8):651-663, 1996
[Mackworth73]
A. K. Mackworth
Interpreting Pictures of Polyhedral Scenes
Artificial Intelligence, 4:121-137, 1973
10
Interacção caligráfica ambígua em sistemas computacionais de modelação
[Malik87]
Jitendra Malik
Interpreting Line Drawings of Curved Objects
International Journal of Computer Vision, 1:73-103, Kluwer Academic Publishers, 1987
[Mankoff00a]
J. Mankoff, S. E. Hudson, G. D. Abowd
Providing integrated toolkit-level support for ambiguity in recognition-based
interfaces
Proceedings of ACM CHI’00 Conference on Human Factors in Computing
Systems, 368-375, 2000
[Mankoff00b]
J. Mankoff, G. D. Abowd, S. E. Hudson
OOPS: a toolkit supporting mediation techniques for resolving ambiguity in
recognition-based interfaces
Computers & Graphics, 24(6) 819-834, Elsevier, December 2000
[Mankoff01]
Jennifer Mankoff
An Architecture and Interaction Techniques for Handling Ambiguity in Recognition-based Input
Thesis presented to The Academic Faculty, Georgia Institute of Technology,
May 2001
[Marill91]
T. Marill
Emulating the human interpretation of line drawings as three-dimensional objects
International Journal of Computer Vision, 6(2):147-161, 1991
[Morais80]
Simões Morais
Desenho de Construções Mecânicas, segundo volume – Desenho Técnico
Básico
Porto Editora, 1980
[Naya02]
F. Naya, J. Jorge, J. Conesa, M. Contero, J. M. Gomis
Direct Modeling: from Sketches to 3D Models
Proceedings of the First Ibero-American Symposium in Computer Graphics,
Guimarães, Portugal, 109-117, July 2002
Bibliografia
[Newman79]
11
William M. Newman, Robert F. Sproull
Principles of Interactive Computer Graphics
Second Edition, McGraw-Hill, 1979
[Nielsen93a]
Jakob Nielsen
Non-command User Interfaces
Communications of the ACM, 36(4):83-99, April 1993
[Nielsen93b]
Jakob Nielsen
Usability Engineering
AP Professional, 1993
[Nielson74]
G. Nielson
Some Piecewise Polynomial Alternatives to Splines Under Tension
Computer Aided Geometric Design, R. E. Barnhill and R. F. Riesenfeld
(Eds.), 209-235, Academic Press, New York, 1974
[O’Rourke98]
Joseph O’Rourke
Computational geometry in C
Cambridge University Press, 2nd edition, 1998
[Pavlidis74]
T. Pavlidis, S. Horowitz
Segmentation of planar curves
IEEE Trans. Comput., C-23:860-870, 1974
[Pereira00a]
João P. Pereira, Joaquim A. Jorge, Vasco A. Branco, F. Nunes Ferreira
Towards Calligraphic Interfaces: Sketching 3D Scenes with Gestures and
Context Icons
The Eighth International Conference in Central Europe on Computer Graphics, Visualization and Interactive Digital Media 2000, Plzen, Czech Republic,
February 2000
[Pereira00b]
João P. Pereira, Joaquim A. Jorge, Vasco A. Branco, F. Nunes Ferreira
GIDeS: Uma Abordagem Caligráfica à Edição 3D
Actas do 9.º Encontro Português de Computação Gráfica, Marinha Grande,
Portugal, 101-108, Fevereiro 2000
12
Interacção caligráfica ambígua em sistemas computacionais de modelação
[Pereira01a]
João P. Pereira, Joaquim A. Jorge, Vasco A. Branco, F. Nunes Ferreira
Reduced Instruction Set Calligraphic Interfaces: Sketching Complex 3D Objects with (Fewer) Gestures
d3 desire designum design, 4th European Academy of Design Conference
Proceedings, Aveiro, Portugal, 194-196, April 2001
[Pereira01b]
João P. Pereira, Joaquim A. Jorge, Vasco A. Branco, F. Nunes Ferreira
Interfaces Caligráficas RISC
Actas do 10.º Encontro Português de Computação Gráfica, Lisboa, Portugal,
53-60, Outubro 2001
[Pereira01c]
João P. Pereira, Manuel J. Fonseca, Joaquim A. Jorge
Handling Ambiguity and Errors: Visual Languages for Calligraphic Interaction
Proceedings of the 14th Brazilian Symposium on Computer Graphics and Image Processing, Florianópolis, Brazil, 312-319, October 2001
[Pereira03a]
João P. Pereira, Joaquim A. Jorge, Vasco A. Branco, F. Nunes Ferreira
Calligraphic Interfaces: Mixed Metaphors for Design
Proceedings of the 10th International Workshop on the Design, Specification,
and Verification of Interactive Systems, Funchal, Madeira Island, Portugal,
June 2003
[Pereira03b]
João P. Pereira, Joaquim A. Jorge, Vasco A. Branco, F. Nunes Ferreira
Calligraphic Interfaces: Mixed Metaphors for Design
Lecture Notes in Computer Science, J. A. Jorge, N. Jardim Nunes, J. Falcão e
Cunha (Eds.), Springer Verlag, 2844:154-170, 2003
[Pierce97]
J. S. Pierce et al.
Image Plane Interaction Techniques in 3D Immersive Environments
Proceedings of 1997 Symposium On Interactive 3D Graphics, ACM Press,
New York, 39-44, 1997
[Pikaz95]
Arie Pikaz, Its’hak Dinstein
An algorithm for polygonal approximation based on iterative point elimination
Pattern Recognition Letters, (16):557-563, June 1995
Bibliografia
[Press92]
13
William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P.
Flannery
Numerical Recipes in C: The Art of Scientific Computing
Second Edition, Cambridge University Press, 1992
[Rogers90]
David F. Rogers, J. Alan Adams
Mathematical Elements for Computer Graphics
Second Edition, McGraw-Hill, 1990
[Rosenfeld73]
A. Rosenfeld, E. Johnston
Angle detection on digital curves
IEEE Trans. Comput., C-22:875-878, September 1973
[Rosenfeld75]
A. Rosenfeld, J. S. Weszka
An improved method of angle detection on digital curves
IEEE Trans. Comput., C-26:940-941, September 1975
[Rubine91a]
Dean Rubine
Specifying Gestures by Example
SIGGRAPH ’91 (Conference Proceedings), ACM, 25(4):329-337, 1991
[Rubine91b]
Dean Rubine
The Automatic Recognition of Gestures
PhD Thesis, Carnegie Mellon University, 1991
[Sankar78]
P. V. Sankar, C. V. Sharma
A parallel procedure for detection of dominant points on digital curves
Computer Graphics Image Processing, 7:403-412, 1978
[Santos03]
P. Santos, H. Graf, T. Fleisch, A. Stork
3D Interactive Augmented Reality in Early Stages of Product Design
Tenth Conference on Human-Computer Interaction, Crete, Greece, 4:12031207, 2003
14
Interacção caligráfica ambígua em sistemas computacionais de modelação
[Schmalstieg96]
D. Schmalstieg, A. Fuhrmann, Zs. Szalavári, M. Gervautz
“Studierstube” – An Environment for Collaboration in Augmented Reality
Proceedings of Collaborative Virtual Environments ’96, Nottingham, UK,
1996
Virtual Reality Systems – Development and Applications, 3(1):37–49, 1996
[Schmalstieg99]
D. Schmalstieg, L. M. Encarnação, Zs. Szalavári
Using Transparent Props for Interaction with the Virtual Table
Proceedings of the ACM SIGGRAPH Symposium on Interactive 3D Graphics,
147-153, 1999
[Schneider88]
P. J. Schneider
Phoenix: An interactive curve design system based on the automatic fitting of
hand-sketched curves
Master’s Thesis, University of Washington, 1988
[Schneider90]
P. J. Schneider
An Algorithm for Automatically Fitting Digitized Curves
Graphics Gems, A. Glassner (Ed.), Academic Press, 1990
[Schweikardt98]
E. Schweikardt, M. D. Gross
Digital Clay: Deriving Digital Models from Freehand Sketches
Proceedings of ACADIA ’98, T. Seebohm and S. V. Wyk (Eds.), Quebec City,
Canada, 202-211, October 1998
[Schweikert66]
D. C. Schweikert
An Interpolation Curve Using a Spline in Tension
J. Math. Phys., 45:312-317, 1966
[SiliconGraphics]
Silicon Graphics, Inc.
OpenGL – The Industry Standard for High Performance Graphics
http://www.opengl.org (último acesso em 27-01-2004)
[Silva03]
N. Silva, T. Cardoso, F. Dias, B. Araújo
Constraint-based scene-modelling and assembly usability tests
Relatório interno do Projecto SmartSketches, Novembro 2003
Bibliografia
[Smart]
15
Julian Smart, Anthemion Software
wxWindows Home
http://www.wxwindows.org (último acesso em 27-01-2004)
[Spatial]
Spatial Corp.
3D ACIS Modeler
http://www.spatial.com/products/3D/modeling/ACIS.html?LV3=Y
(último acesso em 27-01-2004)
[Stork95]
A. Stork, B. Anderson
3D Interfaces in a Distributed Modelling Environment – 3D Devices, Interaction and Visualization Techniques
W. D. Fellner (Ed.), 1995 International Workshop on Modeling, Virtual
Worlds, and Distributed Graphics, 83-92, 1995
[Stork00a]
A. Stork, R. Amicis
ARCADE/VT – a Virtual Table-centric modeling system
The Fourth International Immersive Projection Technology Workshop, Iowa
State University, Ames, Iowa, USA, June 2000
[Stork00b]
A. Stork, O. Schimpke, R. Amicis
Sketching freeforms in semi-immersive Virtual Environments
Proceedings of ASME 2000 Design Engineering Technical Conferences and
Computers and Information in Engineering Conference, Baltimore, Maryland,
2000
[Sugihara82]
Kokichi Sugihara
Mathematical Structures of Line Drawings of Polyhedrons – Towards ManMachine Communication by Means of Line Drawings
IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI4:458-469, 1982
[Sugihara84]
Kokichi Sugihara
An algebraic Approach to Shape-from-Image problems
Artificial Intelligence, 23:59-95, 1984
16
Interacção caligráfica ambígua em sistemas computacionais de modelação
[Sugihara86]
Kokichi Sugihara
Machine Interpretation of Line Drawings
The MIT Press, 1986
[Sutherland63]
I. E. Sutherland
Sketchpad: A Man-Machine Graphical Communication System
Spring Joint Computer Conference, 2-19, AFIPS Press, 1963
[Teh89]
Cho-Huak Teh, Roland T. Chin
On the detection of dominant points on digital curves
IEEE Transactions on Pattern Analysis and Machine Intelligence, 11(8):859872, August 1989
[Turner00]
A. Turner, D. Chapman, A. Penn
Sketching space
Computers & Graphics, 24(6) 869-879, Elsevier, December 2000
[Wall84]
Karin Wall, Per-Erik Danielsson
A fast sequential method for polygonal approximation on digitized curves
Computer Vision, Graphics and Image processing, (28):220-227, 1984
[Wang93]
Weidong Wang, Georges G. Grinstein
A Survey of 3D Solid Reconstruction from 2D Projection Line Drawings
Computer Graphics Forum, 12(2):137-158, 1993
[Wang95]
Mao-Jiun J. Wang, Wen-Yen Wu, Liang-Kai Huang, Der-Meei Wang
Corner detection using bending value
Pattern Recognition Letters, 575-583, June 1995
[Wei87]
Xiang-shu Wei
Computer Vision Method for 3D Quantitative Reconstruction from a Single
Line Drawing
PhD Thesis, Department of Mathematics, Beijing University, China, 1987 (em
Língua Chinesa)
Bibliografia
[Woo99]
17
Mason Woo, Jackie Neider, Tom Davis, Dave Shreiner
OpenGL Programming Guide
Third Edition, Addison-Wesley, 1999
[Zadeh87]
L. A. Zadeh
Fuzzy Sets and Applications
John Wiley & Sons, 1987
[Zeleznik96]
R. C. Zeleznik, K. P. Herndon, J. F. Hughes
SKETCH: An Interface for Sketching 3D Scenes
SIGGRAPH '96 Conference Proceedings, ACM, 30(4):163-170, 1996
[Zeleznik97]
R. C. Zeleznik, A. S. Forsberg, P. S. Strauss
Two-Pointer Input for 3D Interaction
Proceedings of 1997 Symposium On Interactive 3D Graphics, ACM Press,
New York, 115-120, 1997
[Zeleznik99]
R. C. Zeleznik, A. Forsberg
Unicam – 2D Gestural Camera Controls for 3D Environments
Proceedings of 1999 Symposium on Interactive 3D Graphics, 1999
Apêndice A
O sistema Trainer de aprendizagem
caligráfica
Introdução
Aspecto visual da interface
Interacção
Comunicação com o protótipo GIDeS
Introdução
A concepção do sistema Trainer teve como principal objectivo proporcionar uma ferramenta de treino e aprendizagem do repertório de gestos de um dos módulos do subsistema de reconhecimento de comandos do protótipo GIDeS, a saber, a versão aperfeiçoada do algoritmo de Rubine, descrita na Secção 4.2.3 do Capítulo 4.
À semelhança do que se verifica naquele protótipo, o sistema Trainer baseia o seu
funcionamento na interacção com um estilete e um ecrã táctil, embora a opção por um
rato e um ecrã convencionais não tenha sido posta de parte. O teclado também é utilizado.
O software foi escrito na linguagem C++ e é susceptível de ser executado em todas as
plataformas computacionais munidas de sistemas operativos da Microsoft. A interface
gráfica com o utilizador – GUI – foi desenvolvida com o recurso ao mesmo toolkit –
wxWindows [Smart] – que foi adoptado aquando da concepção do protótipo GIDeS e
a API escolhida foi, mais uma vez, o OpenGL [SiliconGraphics].
Aspecto visual da interface
Na Figura A-1 está representada a janela principal – e única, se não se considerarem
as caixas de mensagem e de diálogo – do sistema Trainer. É constituída, em cima, por
uma barra de menus e outra de ferramentas, que incluem as opções para criar um novo
repertório de gestos ou importar/exportar um repertório já existente de/para um ficheiro em disco, e as ajudas ao utilizador. Na parte inferior da janela de trabalho aparece
uma barra de estado que fornece algumas informações úteis, tais como os números de
ordem da amostra de treino que está a ser considerada e da classe gestual a que a referida amostra pertence.
A-2
Interacção caligráfica ambígua em sistemas computacionais de modelação
Os traços constituintes da amostra de treino aparecem representados a cinzento na
área de trabalho da janela principal. Um quadrado também cinzento identifica, para
cada um desses traços, a extremidade correspondente ao início do delineamento do
mesmo, pois durante o processo de aprendizagem, e ao contrário do que sucede
aquando do reconhecimento, é importante que o sentido do traço seja preservado em
todas as amostras de treino.
Figura A-1 – A janela de trabalho do sistema Trainer
Interacção
O sistema Trainer foi usado pelo autor com o propósito de predefinir a configuração
dos gestos de comando do protótipo GIDeS, não tendo sido prevista a sua utilização
O sistema Trainer de aprendizagem caligráfica
A-3
por parte dos potenciais utilizadores daquele protótipo1. O desenvolvimento da sua
interface não foi, por conseguinte, objecto de excepcionais cuidados no que aos aspectos ligados à usabilidade diz respeito, nem foi realizada qualquer sessão de avaliação
dessa mesma usabilidade.
Para além do traçado das amostras de treino, efectuado mediante o deslocamento do
estilete ao longo da superfície que reveste o ecrã táctil, e das operações de gestão de
ficheiros e de ajuda ao utilizador, acessíveis por manipulação directa das opções e
botões existentes nas barras de menus e de ferramentas do sistema, a interacção com o
sistema Trainer baseia-se no uso de um teclado convencional (Tabela A-1). Existem
teclas associadas a funções de navegação que permitem percorrer as diferentes classes
gestuais que compõem o repertório, bem como as sucessivas amostras de treino de
cada classe. Existe também uma tecla para apagar amostras indesejadas.
Tecla
Del
↑
↓
Home
End
Pg Up
Pg Dn
Ctrl-Home
Ctrl-End
Função associada
Apagar a amostra corrente de treino
Aceder à amostra anterior
Aceder à amostra seguinte
Aceder à primeira amostra
Aceder à última amostra
Aceder à classe gestual anterior
Aceder à classe gestual seguinte
Aceder à primeira classe gestual
Aceder à última classe gestual
Tabela A-1 – Funções do teclado
1
No entanto, a aprendizagem com base em exemplos fornecidos pelo próprio utilizador é vantajosa,
pois contribui para a redução da taxa de erros de reconhecimento e permite a configuração dos gestos
de acordo com as preferências pessoais desse utilizador.
A-4
Interacção caligráfica ambígua em sistemas computacionais de modelação
Comunicação com o protótipo GIDeS
O utilizador do sistema Trainer pode definir múltiplos2 repertórios de gestos de
comando e é livre de escolher as localizações e denominações dos ficheiros nos quais
os referidos repertórios virão a ser armazenados. No entanto, para que um dado conjunto de gestos seja reconhecido pelo protótipo GIDeS, é necessário que o ficheiro
que lhe corresponde se designe por “gides.gst” e esteja localizado na mesma pasta em
que o protótipo foi instalado. O formato adoptado para o ficheiro foi o ASCII3, de
modo a facilitar o processo de debugging de ambos os programas, Trainer e GIDeS.
2
Mas não em simultâneo, pois a interface do sistema é do tipo SDI (Single Document Interface).
3
American Standard Code for Information Interchange.
Apêndice B
Guião da sessão para a avaliação da
usabilidade do protótipo GIDeS
Sessão para a avaliação da usabilidade
Formulário de consentimento
Questionário inicial (QTi)
Questionário após a apresentação do protótipo GIDeS (QT1)
Questionário após a experimentação do protótipo GIDeS (QT2)
Primeiro teste de eficiência (BM1)
Segundo teste de eficiência (BM2)
Terceiro teste de eficiência (BM3)
GIDeS – Gesture-based Interactive Design System
Sessão para a avaliação da usabilidade
Obrigado po r ter aceitado participar nesta experiência. O seu o bjectivo principal co nsiste na
avaliação das ideias subjacentes ao desenvo lvim ento do sistem a G IDeS, um sistem a vo cacio nado para a m o delação co m putacio nal de o bjecto s 3D, cuja utilização se baseia directam ente no desenho à m ão livre.
O ro teiro desta sessão está descrito na Tabela B-1 , indicando -se o s tem po s estim ado s para
a duração de cada um a das tarefas previstas, num to tal esperado de cerca de 1 ho ra e 30
m inuto s.
1
4
Recepção
(Descrição do s trabalho s)
Questio nário inicial (QTi)
(Opinião e experiência so bre sistem as CAD)
Apresentação audio visual e no po sto de trabalho do pro tó tipo G IDeS, seguida de
discussão
Prim eiro questio nário so bre o pro tó tipo G IDeS (QT1)
5
Realização de testes de eficiência (BM1 a BM3)
6
Segundo questio nário so bre o pro tó tipo G IDeS (QT2)
2
3
5m
5m
40m
5m
30m
5m
Tabela B-1 – Roteiro da sessão
A sessão será co nduzida pelo s Eng. o s Jo ão Paulo Pereira e Vasco Branco , o s quais estarão
ao vo sso dispo r para to do e qualquer esclarecim ento .
Os questio nário s apresentam um a escala de valo res entre do is atributo s o po sto s, sendo o
valo r m édio (0) um valo r neutro . O valo r NA (Não se Aplica) co rrespo nde à inexistência de
respo sta para a questão em causa.
Pretende-se averiguar a utilidade e a facilidade de utilização do sistem a G IDeS, pelo que
to do s o s co m entário s e sugestõ es serão bem -vindo s. Durante a execução das tarefas “pense
em vo z alta”. Não há respo stas certas o u erradas. Não se sinta inibido para apo ntar aspecto s
negativo s o u po sitivo s, para enunciar expectativas frustradas o u reco m pensadas.
Para finalizar go staríam o s de lhe agradecer o tem po e o esfo rço despendido s.
B-2
Interacção caligráfica ambígua em sistemas computacionais de modelação
Fo rm ulário de co nsentim ento
Parte da sessão de avaliação do sistem a G IDeS, que ago ra se inicia, será gravada em vídeo
e go staríam o s de incluir alguns excerto s num pequeno film e so bre este sistem a. Po r favo r
indique se auto riza o u não a divulgação do s excerto s em que apareça:
Sim
|_|
Não
|_|
No m e_____________________________________________________________________
Assinatura _________________________________________________________________
Guião da sessão para a avaliação da usabilidade do protótipo GIDeS
B-3
GIDeS – Gesture-based Interactive Design System
Questio nário inicial (QTi)
No âmbito do projecto em design, considera os computadores
dispensáveis
indispensáveis
|_|_|_|0|_|_|_|
um m al necessário
um bem
|_|_|_|0|_|_|_|
ho rríveis
m agnífico s
|_|_|_|0|_|_|_|
1
2
3
Que instrumento prefere para
4
• escrever
5
• esbo çar
6
• desenhar co m rigo r
papel/lápis
co m putado r
|_|_|_|0|_|_|_|
NA |_|
papel/lápis
co m putado r
|_|_|_|0|_|_|_|
NA |_|
papel/lápis
co m putado r
|_|_|_|0|_|_|_|
NA |_|
Como considera a utilidade dos sistemas CAD no que se refere
7
8
9
• à fase co nceptual
dispensáveis
indispensáveis
|_|_|_|0|_|_|_|
• à síntese de im agens
dispensáveis
indispensáveis
|_|_|_|0|_|_|_|
• à execução de desenho rigo ro so dispensáveis
indispensáveis
|_|_|_|0|_|_|_|
Utiliza pessoalmente sistemas CAD
10
• na pro dução de peças desenhadas
m al
11
• na m o delação 3D de o bjecto s
m al
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
m uito bem
m uito bem
NA |_|
NA |_|
Com que frequência utiliza pessoalmente sistemas CAD
12
13
• na pro dução de peças
desenhadas
• na m o delação 3D de
o bjecto s
nunca
diariam ente
NA |_|
nunca
diariam ente
|_|_|_|0|_|_|_|
NA |_|
|_|_|_|0|_|_|_|
B-4
Interacção caligráfica ambígua em sistemas computacionais de modelação
Considera a utilização de sistemas CAD
14
15
• na pro dução de peças
desenhadas
• na m o delação 3D de o bjecto s
m uito difícil
m uito fácil
|_|_|_|0|_|_|_|
NA |_|
m uito difícil
m uito fácil
|_|_|_|0|_|_|_|
NA |_|
Na sua opinião um modelo 3D serve para
16
17
18
• ter um a ideia do co m po rtam ento visual
do o bjecto m o delado
• substituir um a m aqueta
m al
• estudar o co m po rtam ento físico do
o bjecto m o delado
m al
m al
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
m uito bem
m uito bem
m uito bem
NA |_|
NA |_|
NA |_|
Qual a sua apreciação sobre os melhores sistemas CAD 3D que conhece
19
• funcio nalidade
péssim a
20
• interacção
péssim a
21
• m anuais e o utro s auxílio s
péssim a
22
• o pinião glo bal
péssim a
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
excelente
excelente
excelente
excelente
Refira os sistemas CAD 3D que já utilizou
23
_______________________________________________________
_______________________________________________________
_______________________________________________________
_______________________________________________________
Data __/__/____
Participante n.º __
NA |_|
NA |_|
NA |_|
NA |_|
Guião da sessão para a avaliação da usabilidade do protótipo GIDeS
B-5
GIDeS – Gesture-based Interactive Design System
Questio nário apó s a apresentação do pro tó tipo G IDeS (QT1 )
Achou as ideias subjacentes ao protótipo GIDeS
sem interesse
m uito interessantes
|_|_|_|0|_|_|_|
vulgares
o riginais
|_|_|_|0|_|_|_|
inúteis
m uito úteis
|_|_|_|0|_|_|_|
1
2
3
O protótipo GIDeS pareceu-lhe
difícil de usar
fácil de usar
|_|_|_|0|_|_|_|
frustrante
estim ulante
|_|_|_|0|_|_|_|
rígido
flexível
|_|_|_|0|_|_|_|
4
5
6
Para a co ncepção de o bjecto s
7
8
9
nada fam iliar
m uito fam iliar
|_|_|_|0|_|_|_|
inadequado
adequado
|_|_|_|0|_|_|_|
insuficiente
suficiente
|_|_|_|0|_|_|_|
B-6
Interacção caligráfica ambígua em sistemas computacionais de modelação
Caracterize a adequação do protótipo GIDeS à modelação 3D no que se refere
Ao dispo sitivo utilizado
10
• rato
péssim a
11
• m esa de desenho ; visualização
em ecrã separado
• estilete actuando directam ente
so bre a superfície do ecrã
péssim a
12
péssim a
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
excelente
excelente
excelente
Ao s gesto s caligráfico s
13
• asso ciado s a co m ando s
péssim a
14
• gerado res de prim itivas 3D
péssim a
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
excelente
excelente
Ao m ecanism o de sugestão e reso lução de am biguidades
15
• barra de íco nes
péssim a
16
• sequência de m o delo s à escala
péssim a
17
• barra de m o delo s
em escala reduzida
péssim a
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
excelente
excelente
excelente
À acção prim eira do m ecanism o de sugestão aquando do reco nhecim ento do gesto
co rrespo ndente a um a prim itiva 3D
18
• nenhum a (prevalência do desenho )
péssim a
19
• prim itiva 3D
péssim a
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
excelente
excelente
À o rdem pela qual as diversas sugestõ es de prim itivas 3D são apresentadas
20
• fixa
péssim a
21
• variável em função das esco lhas
prévias do utilizado r
péssim a
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
excelente
excelente
Sobre a construção de modelos 3D com o protótipo GIDeS
22
• desenho
23
• prim itivas 3D
24
• o peraçõ es bo o leanas
25
• o pinião glo bal
difícil
fácil
|_|_|_|0|_|_|_|
difícil
fácil
|_|_|_|0|_|_|_|
difícil
fácil
|_|_|_|0|_|_|_|
péssim a
excelente
|_|_|_|0|_|_|_|
Guião da sessão para a avaliação da usabilidade do protótipo GIDeS
Sobre a edição de modelos 3D com o protótipo GIDeS
26
• execução de furo s
27
• execução de cavidades
28
• execução de saliências
29
• execução de co rtes
30
• o pinião glo bal
difícil
fácil
|_|_|_|0|_|_|_|
difícil
fácil
|_|_|_|0|_|_|_|
difícil
fácil
|_|_|_|0|_|_|_|
difícil
fácil
|_|_|_|0|_|_|_|
péssim a
excelente
|_|_|_|0|_|_|_|
Sobre as transformações geométricas de modelos 3D com o protótipo GIDeS
31
• translação
32
• ajustam ento
33
• co lagem
34
• o pinião glo bal
difícil
fácil
|_|_|_|0|_|_|_|
difícil
fácil
|_|_|_|0|_|_|_|
difícil
fácil
|_|_|_|0|_|_|_|
péssim a
excelente
|_|_|_|0|_|_|_|
Sobre as operações de câmara com o protótipo GIDeS
35
• pan
36
• zo o m
37
• view po int
38
• o pinião glo bal
Data __/__/____
Participante n.º __
difícil
fácil
|_|_|_|0|_|_|_|
difícil
fácil
|_|_|_|0|_|_|_|
difícil
fácil
|_|_|_|0|_|_|_|
péssim a
excelente
|_|_|_|0|_|_|_|
B-7
B-8
Interacção caligráfica ambígua em sistemas computacionais de modelação
GIDeS – Gesture-based Interactive Design System
Questio nário apó s a experim entação do pro tó tipo G IDeS (QT2)
Caracterize a adequação do protótipo GIDeS à modelação 3D no que se refere
Ao dispo sitivo utilizado
1
• rato
péssim a
2
• m esa de desenho ; visualização
em ecrã separado
• estilete actuando directam ente
so bre a superfície do ecrã
péssim a
3
péssim a
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
excelente
excelente
excelente
NA |_|
NA |_|
NA |_|
Ao s gesto s caligráfico s
4
• asso ciado s a co m ando s
péssim a
5
• gerado res de prim itivas 3D
péssim a
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
excelente
excelente
Ao m ecanism o de sugestão e reso lução de am biguidades
6
• barra de íco nes
péssim a
7
• sequência de m o delo s à escala
péssim a
8
• barra de m o delo s
em escala reduzida
péssim a
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
excelente
excelente
excelente
NA |_|
NA |_|
NA |_|
À acção prim eira do m ecanism o de sugestão aquando do reco nhecim ento do gesto
co rrespo ndente a um a prim itiva 3D
9
10
• nenhum a (prevalência do desenho )
péssim a
• prim itiva 3D
péssim a
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
excelente
excelente
NA |_|
NA |_|
À o rdem pela qual as diversas sugestõ es de prim itivas 3D são apresentadas
11
• fixa
péssim a
12
• variável em função das esco lhas
prévias do utilizado r
péssim a
|_|_|_|0|_|_|_|
|_|_|_|0|_|_|_|
excelente
excelente
NA |_|
NA |_|
Guião da sessão para a avaliação da usabilidade do protótipo GIDeS
B-9
Sobre a construção de modelos 3D com o protótipo GIDeS
13
• desenho
14
• prim itivas 3D
15
• o peraçõ es bo o leanas
16
• o pinião glo bal
difícil
fácil
|_|_|_|0|_|_|_|
difícil
fácil
|_|_|_|0|_|_|_|
difícil
fácil
|_|_|_|0|_|_|_|
péssim a
excelente
|_|_|_|0|_|_|_|
NA |_|
NA |_|
NA |_|
NA |_|
Sobre a edição de modelos 3D com o protótipo GIDeS
17
• execução de furo s
18
• execução de cavidades
19
• execução de saliências
20
• execução de co rtes
21
• o pinião glo bal
difícil
fácil
|_|_|_|0|_|_|_|
difícil
fácil
|_|_|_|0|_|_|_|
difícil
fácil
|_|_|_|0|_|_|_|
difícil
fácil
|_|_|_|0|_|_|_|
péssim a
excelente
|_|_|_|0|_|_|_|
NA |_|
NA |_|
NA |_|
NA |_|
NA |_|
Sobre as transformações geométricas de modelos 3D com o protótipo GIDeS
22
• translação
23
• ajustam ento
24
• co lagem
25
• o pinião glo bal
difícil
fácil
|_|_|_|0|_|_|_|
difícil
fácil
|_|_|_|0|_|_|_|
difícil
fácil
|_|_|_|0|_|_|_|
péssim a
excelente
|_|_|_|0|_|_|_|
NA |_|
NA |_|
NA |_|
NA |_|
Sobre as operações de câmara com o protótipo GIDeS
26
• pan
27
• zo o m
28
• view po int
29
• o pinião glo bal
difícil
fácil
|_|_|_|0|_|_|_|
difícil
fácil
|_|_|_|0|_|_|_|
difícil
fácil
|_|_|_|0|_|_|_|
péssim a
excelente
|_|_|_|0|_|_|_|
NA |_|
NA |_|
NA |_|
NA |_|
B-10
Interacção caligráfica ambígua em sistemas computacionais de modelação
Na sua opinião o protótipo GIDeS é
difícil de usar
fácil de usar
|_|_|_|0|_|_|_|
frustrante
estim ulante
|_|_|_|0|_|_|_|
rígido
flexível
|_|_|_|0|_|_|_|
30
31
32
Para a co ncepção de o bjecto s
nada fam iliar
m uito fam iliar
|_|_|_|0|_|_|_|
inadequado
adequado
|_|_|_|0|_|_|_|
insuficiente
suficiente
|_|_|_|0|_|_|_|
33
34
35
Críticas e sugestões ao sistema GIDeS
36
_______________________________________________________
_______________________________________________________
_______________________________________________________
_______________________________________________________
_______________________________________________________
_______________________________________________________
_______________________________________________________
_______________________________________________________
_______________________________________________________
_______________________________________________________
Data __/__/____
Participante n.º __
Guião da sessão para a avaliação da usabilidade do protótipo GIDeS
B-11
GIDeS – Gesture-based Interactive Design System
Prim eiro teste de eficiência (BM1 )
Po r favo r queira pro ceder à co nstrução do s m o delo s representado s na Figura B-1 . Não hesite em fazer co m entário s em vo z alta, nem em pedir ajuda sem pre que entender necessário .
Só inicie a co nstrução de cada m o delo depo is de receber indicaçõ es nesse sentido .
No final da co nstrução de cada m o delo assinale esse facto e pro ceda à o bservação do m esm o de diferentes po siçõ es, de m o do a verificar se o m o delo em causa co rrespo nde à sua
expectativa.
Figura B-1 – Primeiro teste de eficiência
B-12
Interacção caligráfica ambígua em sistemas computacionais de modelação
GIDeS – Gesture-based Interactive Design System
Segundo teste de eficiência (BM2)
Po r favo r queira pro ceder à alteração do m o delo previam ente co nstruído , em função do que
está representado na Figura B-2. Não hesite em fazer co m entário s em vo z alta, nem em
pedir ajuda sem pre que entender necessário .
Só inicie a alteração do m o delo depo is de receber indicaçõ es nesse sentido .
No final da alteração do m o delo assinale esse facto e pro ceda à o bservação do m esm o de
diferentes po siçõ es, de m o do a verificar se o m o delo em causa co rrespo nde à sua expectativa.
Figura B-2 – Segundo teste de eficiência
Guião da sessão para a avaliação da usabilidade do protótipo GIDeS
B-13
GIDeS – Gesture-based Interactive Design System
Terceiro teste de eficiência (BM3)
Po r favo r queira pro ceder à co nstrução do m o delo representado na Figura B-3. Não hesite
em fazer co m entário s em vo z alta, nem em pedir ajuda sem pre que entender necessário .
Só inicie a co nstrução do m o delo depo is de receber indicaçõ es nesse sentido .
No final da co nstrução do m o delo assinale esse facto e pro ceda à o bservação do m esm o de
diferentes po siçõ es, de m o do a verificar se o m o delo em causa co rrespo nde à sua expectativa.
Figura B-3 – Terceiro teste de eficiência