Image drawing library for Haskell?
Posted
by absz
on Stack Overflow
See other posts from Stack Overflow
or by absz
Published on 2010-04-26T03:32:21Z
Indexed on
2010/04/26
4:03 UTC
Read the original article
Hit count: 315
I'm working on a Haskell program for playing spatial games: I have a graph of a bunch of "individuals" playing the Prisoner's Dilemma, but only with their immediate neighbors, and copying the strategies of the people who do best.
I've reached a point where I need to draw an image of the world, and this is where I've hit problems. Two of the possible geometries are easy: if people have four or eight neighbors each, then I represent each one as a filled square (with color corresponding to strategy) and tile the plane with these. However, I also have a situation where people have six neighbors (hexagons) or three neighbors (triangles).
My question, then, is: what's a good Haskell library for creating images and drawing shapes on them? I'd prefer that it create PNGs, but I'm not incredibly picky. I was originally using Graphics.GD, but it only exports bindings to functions for drawing points, lines, arcs, ellipses, and non-rotated rectangles, which is not sufficient for my purposes (unless I want to draw hexagons pixel by pixel*). I looked into using foreign import
, but it's proving a bit of a hassle (partly because the polygon-drawing function requires an array of gdPoint
structs), and given that my requirements may grow, it would be nice to use an in-Haskell solution and not have to muck about with the FFI (though if push comes to shove, I'm willing to do that). Any suggestions?
* That is also an option, actually; any tips on how to do that would also be appreciated, though I think a library would be easier.
© Stack Overflow or respective owner