Programar 303: Extensão com Bibliotecas

No final do semestre não dá tempo para falar de tudo… Utilizamos as bibliotecas oficiais de PDF Export, Som e Vídeo.

Fica “no ar” a sugestão durante, mas mais concretamente como um desafio (demonstração de capacidades e aprendizagem) a pesquisa e uso de bibliotecas adicionais para resolver problemas/objetivos específicos do trabalho final (vou levar o AKAI, o BrainWave e o EyeTracker na pen/última aula).

Entretanto, ficam aqui algumas sugestões de bibliotecas que usei, ou que vi usar ao longo do tempo e que acho que têm potencial de aplicação num contexto de design gráfico/interativo.

Confirmed/tested Libraries

OpenCV. Reconhecimento facial e de marcadores/fiduciais. Top! Definitivamente a experimentar para quem quer trabalhar com imagem real, ou AR.

Box2D, ou Fisica (interação e colisões otimizadas. Ótima para jogos e ambientes de múltiplos objetos ou agentes autónomos interativos). No ano passado, um dos grupos — Hüpata — desenvolveu um jogo que tirava partido (em parte) desta biblioteca (Box2D). Hoje acho que com o workshop do PCD, ou apenas tendo escolhido a Fisica teria ficado um jogo super completo e acabado. Recomenda-se!!!

3D. objects & texture manipulation. Um dos grupos usou esta biblioteca (se não estou em erro) para carregar e manipular uma textura em objetos 3D. Foi bem conseguido

oscP5 : Esta é uma biblioteca muito útil para comunicação e envio de dados.

ControlP5: Graphical User Interfaces made easy. Altamente recomendada!

GazeTrack: Eye-tracking for Processing (Tobii EyeX and 4C). Ainda não usei esta… acho…? Usei uma (qual?) para obter dados e usar o Tobii EyeX gaming na experiência/aplicação de monitorização de legibilidade tipográfica que fiz com a Rita A (2017). E, parece-me que vou reativar o eyetracker em breve. O meu Eye Tracker vai definitivamente marcar presença nas últimas aulas.

GifAnimation. Play, import and export gif animations. Render to GIF! >> mandatory meme generator! 😉 Para brincar e testar. A aplicar no P2?

Fontastic A font file writer to create TTF and WOFF (Webfonts). No ano passado, um grupo de alunos gerou uma fonte quase-aleatória 3D. Dava mesmo para escrever e navegar no espaço. Imprimiram um poster com uma mensagem. Este ano, gostava que alguém subisse a parada e gerasse fontes! 😉

Geomerative. Extends 2D geometry operations to facilitate generative geometry. Includes a TrueType font interpreter. A Rita Mota (LSI19) esteve a usar esta biblioteca para manipular SVGs. É enooorme e vale a pena investir para decompor e editar gráficos complexos (e fontes).

Open Kinect for Processing. A Mac OS X Kinect implementation using open source drivers (libfreenect). Este ano, no final, pelo menos um dos grupos irá “ter” que utilizar a Kinkect da FBAUP. Ainda tenho que testar, mas está na calha

The MidiBus. The MidiBus is a minimal MIDI library for Processing, no frills, no limitations. Esta é interessante para ligar o controlador Akai (drum machine) e controlar o sketch a partir de um controlador musical físico.

[Falta aqui o LeapMotion para controlo com gestos… ]

Biblioteca Ani para fazer [easing] animations. O Júnior usou-a com bastante sucesso em LSI19

E a biblioteca Drag&Drop. O grupo do Sptotify Dynamic Logo usou-a com muita facilidade.

TBA / To be tested:

Network (Core) / Hermes to develop a multi-client online game?

Generative Design library collection, or Toxiclibs image filters?

JSON…? or Temboo Social / Web 2.0 API parser? A considerar colocar em ação no P3

ezGestures.A modular gesture recognition library. Must try!!!! 😉 A testar.

Maps? Era interessante ver uma aplicação desenvolvida com este.

Simple Multi-Touch (SMT). Multi-touch prototyping and development made simple. Para explorar como biblioteca extra (em modo Android?)

AndroidCapture for Processing: nunca usei. mas a descrição promete!

Web Sockets: um pouco avançada. Esta é porreira para sincronizar e partilhar dados no modelo de cliente/servidor… multi-user app/game?

More on libraries

Para uma coleção “curada” de bibliotecas e extensões, fica aqui a sugestão excelente do Tim Rodenbroeker: https://timrodenbroeker.de/my-10-favorite-processing-libraries/

Nesta coleção está uma que definitivamente tenho que experimentar—uma biblioteca para aceder aos controladores do telefone!! Top! Será que funciona em modo P5.js?

Tenho que fazer sketches simples de demonstração (para além dos exemplos? vale a pena?) de uso…

Este artigo é um documento em progresso. Editado 2019-03-12