Random Etc. Notes to self. Work, play, and the rest.

Posts Tagged ‘Graphics’

Dataviz Salon SF #1

Michael Driscoll of Dataspora invited a few people to a Dataviz Salon yesterday evening. Mike and I went along and huddled in a brick-built basement in SoMa to listen to the following:

Thanks to Michael for putting on a great event and getting everything together at such short notice. Hopefully there'll be another one soon!


If you're the kind of (mainly 2d) graphics programmer that I am, the thing you find most attractive about Processing is the one-click publishing to make a webpage and show people what you've been doing. Everything else after that is a bonus.

If you're not that kind of programmer, and the web isn't your primary concern, then you should definitely check out LÖVE. It looks like they're having a lot of fun over there, and Lua is just nicely mind-bending enough but still familiar if you're coming from Java or Actionscript.

A Quote From Edward Tufte

Edward Tufte, October 27, 2006:

"In choosing templates for workaday graphical productions, it is worthwhile to look for excellent, conventional templates. Conventional templates immediately solve a lot of graphical reading problems for the viewer of the display. But the classics are often classics because they are off-the wall, unconventional, idiosyncratic, one-off, brilliant, historically original performances. Tinkering with Minard's Napoleon's March is no better than an artist tinkering with Picasso's Guernica."

Ask E.T. Museum Visits

New Processing Hack: Line Caps and Joins in OpenGL

One of the sad things about using the OpenGL rendering option in Processing is the lack of control over line weights, caps and joins. This week I allowed myself to get distracted by this issue for a little bit too long, but I did succeed in solving it, at last:

OpenGL stroke caps and joins

I've put some code about line caps and joins in Processing & OpenGL up on Processing Hacks in case it's something that bothers you too. I've not tested it extensively so I'd welcome bug fixes and suggestions there, or in the comments here. One thing I'm interested in doing next is extending (or reimplementing) BasicStroke to generate shapes for thick polylines with varying line thickness. If that's something you've done before, please let me know.

I'm using Java's BasicStroke to generate the path outlines, and GLU's tesselators to generate a mesh that will fill correctly in OpenGL. I "borrowed" the code for the latter from Ben Fry's PGraphicsOpenGL font rendering – thanks Ben!


A Brief History Of Me

For any readers who don't know me, here is a brief overview of some of the things I have been involved with recently.

Non-realistic Rendering In Immersive Environments

A non-photorealistic rendering of an Indian temple
Is there an 'uncanny valley' for rendering quality? For our EngD group project, Sheep Dalton (Ovinity), Monica Martini (Martini Architects), Sean Varney (Soho Cyberscan / Framestore CFC) and I built a model of an Indian Temple and a non-photorealistic OpenGL rendering engine for use in desktop and immersive VR systems.

Social Network Visualisation

A visualisation of an alumni network
A social network visualisation for the students, alumni and staff who have been involved with the MSc Virtual Environments in the Bartlett (UCL's architecture school).

Algorithmic Art

Algorithmic Art, using the Processing environment
A series of pixel-exposure techniques using the Processing environment.

Virtual Trees

Whipping Trees, a VRML Project
Whipping trees, a VRML world and a study in dynamic growth, responsive form and emergent spaces. Completed as part of Methods of Synthetic Construction 1. You can view all our VRML coursework on the course website. This work was significant for me because it involved taking what were effectively several small sketches (pieces of code) and combining them into a single piece of work, with a narrative and a sense of cohesion.

2D Robot Simulation

Bio-Inspired Evolutionary Agent Simulation Toolkit
At Leeds University, I started the development of a Bio-inspired Evolutionary Agent Simulation Toolkit, a project initiated by Seth Bullock and ably continued by David Gordon (now of Framestore CFC). Whilst I was there, I also took part in a Bio-inspired Computing reading group, worked on an interface for playing poker against evolved neural-network players, and investigated the possibility of doing image processing with artificial life.