Desenvolvimento de uma Interface Gráfica para o
Programa FastComp
MESTRADO EM MMESTRADO EM MÉÉTODOS COMPUTACIONAIS TODOS COMPUTACIONAIS EM CIÊNCIAS E ENGENHARIAEM CIÊNCIAS E ENGENHARIA
Patrícia C. T. GonçalvesLicenciada em Física/Matemática Aplicada (Astronomia)
OrientadorJoão Manuel R. S. Tavares
Professor Auxiliar do Departamento de Engenharia Mecânica e Gestão Industrial da Faculdade de Engenharia da Universidade do Porto
Co-orientadorPedro Manuel P. R. C. Camanho
Professor Auxiliar do Departamento de Engenharia Mecânica e Gestão Industrial da Faculdade de Engenharia da Universidade do Porto
16 Maio 2006
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves2/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Principais objectivos
Introdução
Proporcionar um modo agradável, eficaz e seguro de introdução dos dados de entrada do FastComp
Visualizar adequadamente os grandes volumes de informação que constituem os resultados obtidos pelo FastComp
Utilizar o wrapper para a plataforma .NET, detectando possíveis erros e limitações
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves3/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Estrutura da apresentação
Introdução 1. Aplicações e fundamentos do FastComp
2. Ferramentas utilizadas no desenvolvimentoa) Plataforma .NETb) Linguagem de programação C#c) Biblioteca gráfica VTKd) Wrapper VTK/C#
3. Fundamentosa) Interacção homem/computadorb) Triangulação de Delaunay
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves4/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Estrutura da apresentação
Introdução 4. Implementaçãoa) Apresentação da interfaceb) Alteração ao wrapper
5. Avaliaçãoa) Teste desenvolvidob) Análise de resultados
6. Conclusões e trabalho futuro
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves5/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Apresentação
FastComp
O FastComp analisa uma junta compósita dupla de um só parafuso sujeita a cargas aplicadas
Tem por objectivo calcular os campos de tensões e de deformações em torno do furo do parafuso, bem como a carga e o modo de ruptura da junta
Esquematização de uma junta de ligação dupla com um só parafuso.
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves6/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Arquitectura
FastComp
Dados de entrada (1 ficheiro ascii):propriedades dos materiaisestrutura do laminadogeometria das placascargas aplicadascritério de ruptura
Fundamentos:
Campo de tensões ← Teoria Anisotrópica de PlacasCampo de deformações ← Teoria Clássica das Placa Laminadas
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves7/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Arquitectura
FastCompFundamentos (cont.):
Modo e carga de ruptura
Dados de saída (3 ficheiros ascii):distribuição das tensões em torno do furo para o parafuso da ligaçãodistribuição das deformações em torno do furo para o parafuso da ligaçãomodo e carga de ruptura da junta
Critério de ruptura
Curva característica
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves8/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
.NET
Objectivos: interligar sistemas, dispositivos e utilizadores
Desenvolvida sobre os protocolos mais usuais, permite que sistemas e aplicações interajam independentemente do dispositivo, sistema operativo ou linguagem de programação usados
Ferramentas de Desenvolvimento
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves9/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
.NET
Função: “traduzir” os sistemas operativosFerramentas de Desenvolvimento
Dependências entre componentes e aplicações de um sistema computacional.
.NET Framework
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves10/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
.NET
Componentes principais:
Common Language Runtime – ambiente de execução de aplicações que disponibiliza serviços ao código executado sobre a plataforma .NET (gestão de memória, segurança de código, integração entre linguagens)
biblioteca de classes – conjunto de classes utilizáveis por qualquer linguagem compatível com a .NET Framework
Ferramentas de Desenvolvimento
.NET Framework
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves11/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
.NET
Ambiente de desenvolvimento que suporta várias linguagens de programação
Desenvolvido sobre a .NET Framework, possui a mesma fiabilidade e segurança
Integra o desenhador de Windows Forms que permite a rápida criação de aplicações Windows
Inclui controlo de sintaxe, IntelliSense
Integra um debugger que permite encontrar erros e executar o código de forma controlada
Ferramentas de Desenvolvimento
Visual Studio .NET
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves12/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
C#
Ferramentas de Desenvolvimento
Linguagem de programação criada especificamente para a plataforma .NET
Baseada na sintaxe da linguagem C++
Algumas particularidades:boxingdelegatesdados do tipo decimaloperador “.”ciclo foreachswitch pode ser usada com strings
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves13/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
VTK
Conjunto de classes que proporciona a leitura/escrita, processamento e mapeamento de técnicas de visualização de diversos tipos de dados: pontos, polígonos, imagens, volumes e grelhas rectilíneas, estruturadas ou não
Contém importadores e exportadores para troca de dados com outras aplicações
Tem disponíveis centenas de filtros de processamento de dados
Pode renderizar dados 2D, polígonos, volumes e texturas
Ferramentas de Desenvolvimento
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves14/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
VTK
Duas grandes componentes: um núcleo compilado em C++ e uma interface para linguagens interpretadasFerramentas de
Desenvolvimento
Arquitectura
Arquitectura do VTK.
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves15/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
VTK
Transforma informação em dados gráficos
Fontes – leitura de um ficheiro, construção implícita de um objecto geométrico (ex: vtkCubeSource, VtkArrowSource)Objectos de dados – tabelas de dados (arrays)Filtros – criam novos objectos de dados (ex: vtkDelaunay2D)
Ferramentas de Desenvolvimento
Exemplo de uma pipeline de visualização.
Pipeline de visualização
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves16/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Transforma dados gráficos em imagens
Mapeador – transforma dados em objectos gráficosActor – representa os objectos a visualizarRenderer – coordena todo o processo de visualizaçãoJanela de renderização – integra o rendererInteracção – permite controlar a câmara e os actores através do rato e/ou do teclado
VTK
Ferramentas de Desenvolvimento
Pipeline gráfico
Exemplo de uma pipeline de visualização.
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves17/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Wrapper
Ferramentas de Desenvolvimento
Milan Frank desenvolveu um “tradutor” que permite às linguagens .NET utilizar as classes VTK escritas em C++
O maior problema na criação de um wrapper éa conversão entre tipos de dados: código em C# é gerido, código em C++ usado no VTK não
Dados de tipo simples (int, float,…) em código gerido têm equivalente directo em código não gerido
O tipo void* não foi convertido…
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves18/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Interacção homem/computador
Pontos-chave no desenvolvimento de uma interface:
a) finalidadeb) utilizadores alvo
Procedimentos básicos no processo de desenvolvimento de uma interface:
i. identificar necessidadesii. idealizar interfaces que respondam a essas
necessidadesiii. construir versões interactivas dessas
interfacesiv. avaliar continuamente o trabalho
desenvolvido
Fundamentos
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves19/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Interacção homem/computador
"Usabilidade: a extensão a que um produto pode ser usado por determinados utilizadores de modo a alcançar objectivos específicos com eficácia, eficiência e satisfação num determinado contexto de uso.”
[ISO 9241-11, 1994]
Fundamentos
Usabilidade
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves20/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Interacção homem/computador
Componentes de qualidade:
a) facilidade de aprendizagemb) facilidade de memorizaçãoc) eficiênciad) segurançae) satisfaçãof) eficáciag) utilidade
Fundamentos
Usabilidade
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves21/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Interacção homem/computador
Componentes de design:
a) visibilidadeb) feedbackc) restriçõesd) consistênciae) atribuição correcta
Fundamentos
Usabilidade
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves22/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Interacção homem/computador
Razões para avaliar:a) ter percepção do mundo realb) comparar designsc) atingir um objectivod) verificar a conformidade com um padrão
Métodos:a) observação da utilizaçãob) recolha de opiniõesc) interpretaçãod) previsão
Fundamentos
Avaliação
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves23/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Triangulação de Delaunay
Fundamentos
Triangulação: interpolação de pontos constituída por elementos (triângulos ou tetraedros) que não se intersectam, mas partilham vértices, arestas e/ou faces
Triangulação de Delaunay: a circunferência de qualquer elemento n-dimensional contém apenas os n+1 pontos que o definem
Triangulação de Delaunay inválida.
Triangulação de Delaunay válida.
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves24/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Triangulação de Delaunay
Fundamentos
No VTK (vtkDelaunay2D)
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves25/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Apresentação da interface
Implementação
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves26/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Teste desenvolvido
Avaliação
24 questões:1-10: definir e caracterizar o utilizador11-15: avaliar as dificuldades com que o utilizador se deparou na utilização de cada um dos separadores da janela de introdução dos dados de entrada do FastComp16-17: avaliar a utilidade das imagens presentes na janela de introdução de dados na compreensão dos dados requisitados18-20: avaliar a visualização dos resultados21-23: avaliar a interface de um modo geral24: sugestões/críticas
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves27/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Resultados
Avaliação
Oito utilizadores:dois têm mais de 30 anostodos do sexo masculinotodos trabalham na área da engenharia mecânicacinco têm bons conhecimentos teóricos sobre materiais compósitos, mas desses apenas quatro possuem experiência de trabalho com estes materiaistodos utilizam frequentemente computadores, bem como interfaces gráficas
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves28/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Resultados
Avaliação
Janela de introdução de dados:a) dois dos utilizadores apresentaram
algumas dificuldades, mas não especificaram quais
b) três utilizadores são de opinião de que a utilidade das imagens incluídas nos separadores Joint geometry e Load casenão é relevante, mas não explicam porquê
c) de um modo geral, a janela de introdução dos dados de entrada para o programa FastComp parece satisfazer todos os avaliadores
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves29/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Resultados
Avaliação
Visualização dos resultados:
a) três utilizadores dizem não compreender inteiramente a visualização dos resultados apresentada, mas sem especificarem as suas razões. No entanto, um dos avaliadores sugere o aumento das janelas de visualização, pois diz ter dificuldade em perceber os valores apresentados
b) a dois dos utilizadores não agrada a presença dos eixos cartesianos na visualização gráfica das distribuições das tensões/deformações
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves30/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Resultados
Avaliação
A interface:a) dois utilizadores admitiram ter-se deparado
com algumas dificuldades na utilização da interface de um modo geral
b) estética: 4.75 / 5c) geral: 4.63 / 5
Algumas sugestões:a) possibilidade de seleccionar materiais
predefinidos no separador Materialsb) descrever o modo de interacção dos botões
do rato com as imagens representadasc) identificar as siglas s11, s22, etc., do menu
Output
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves31/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Conclusões
Conclusões e Trabalho Futuro
A interacção VTK/C# revelou-se capaz de originar programas de visualização adequados e eficazes
O wrapper para a plataforma .NET permitiu a correcta utilização da biblioteca VTK com a linguagem C#, apesar da não conversão dos dados do tipo void*
No desenvolvimento da interface foram tidos em conta aspectos relativos à segurança, eficácia e eficiência
A avaliação obtida da interface desenvolvida foi globalmente muito positiva
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves32/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Trabalho futuro
Conclusões e Trabalho Futuro
Fazer as alterações detectadas na análise da avaliação efectuada e sugeridas pelos avaliadores:
i. hipótese de selecção de materiais predefinidos
ii. descrever o modo de interacção do rato com as imagens
iii. tornar a visualização dos eixos cartesianos como opcional
iv. permitir a visualização de cada uma das superfícies de resultados em janelas independentes
v. identificar as siglas do menu Output
Desenvolvimento de uma Interface Gráfica para o Programa FastComp Patrícia Gonçalves33/33
Introdução
FastComp
Ferramentas de Desenvolvimento
Fundamentos
Implementação
Avaliação
Conclusões e Trabalho Futuro
16 Maio 2006
Trabalho futuro
Conclusões e Trabalho Futuro
Visualizar as superfícies de resultados segundo um dado planoPossibilidade de escolha da gama e do número de cores da escala usada na representação das superfícies de resultadosImpressão dos dados de entrada e das superfícies de resultadosImplementar a visualização do “envelope de ruptura”Após as alterações, realizar nova recolha de opiniões, entrevistas e avaliação por observação