Dissertação

P2R: Implementation of Processing in Racket EVALUATED

O Processing é uma linguagem de programação criada para o ensino de programação nas áreas de multimédia, design e arquitetura. Ao longo do tempo, a linguagem tornou-se muito popular nestas comunidades, devido a uma forte componente pedagógica e a um vasto conjunto de primitivas de modelação geométrica. Contudo, apesar de ter alcançado grande visibilidade e massa crítica, a linguagem continua a ter pouca aplicabilidade na área da arquitetura, visto que nenhum software de CAD (Computer-Aided Design) a suporta. De modo a preencher esta lacuna, propomos uma implementação de Processing que consiga gerar modelos nas ferramentas de CAD mais utilizadas. Deste modo, arquitetos e designers que tenham aprendido Processing podem tirar partido das capacidades gráficas e pedagógicas da linguagem para desenvolver modelos arquitetónicos numa ferramenta CAD. Para tal, iremos tirar partido da biblioteca Rosetta, criada para desenho generativo e desenvolvida na plataforma Racket. A biblioteca Rosetta suporta múltiplas linguagens de programação, nomeadamente AutoLISP, Racket, Python, etc. Simultaneamente, o Rosetta permite gerar modelos geométricos em várias ferramentas CADs, entre elas, o AutoCAD, o Rhinoceros 3D, e o SketchUp. Adicionalmente, o Rosetta implementa um leque de primitivas de modelação apropriadas para o trabalho arquitetónico. Este trabalho apresenta uma implementação de Processing para Racket, que transforma Processing em código Racket equivalente, tirando proveito do Rosetta para aceder às diferentes ferramentas de CAD e a um conjunto alargado de primitivas de modelação geométrica. Desta forma, usando a nossa implementação arquitectos podem usar a linguagem Processing para trabalho arquitectonico na sua ferramenta de CAD favorita.
Processing, Racket, Compiladores, Desenho Generativo, Interoperabilidade

Junho 5, 2015, 10:30

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

António Paulo Teles de Menezes Correia Leitão

Departamento de Engenharia Informática (DEI)

Professor Auxiliar