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