[Haskell-cafe] Re: creating graphics the functional way
fb at frank-buss.de
Mon Aug 6 23:13:34 EDT 2007
> The idea of representing images simply by a function
> Int -> Int -> RGB
> is great :) You may want to look at Pan and its various
> offsprings, in
> particular Pancito
this looks interesting. The Java applets demonstrates that it is possible to
implement this in realtime. I assume there are some clever optimizations
implemented, which could be done with Haskell, too.
> positions :: [Point]
> positions =
> zip [0.5 + fromIntegral n * dx | n <- [-2..2]] (cycle [y1,y2])
> dx = 0.125
> y1 = 0.15
> y2 = 0.25
Nice calculation for the positions, but at least for me it is more difficult
to understand it than just writing the 5 points. But using lists is a good
idea. I've updated the source:
The anti-aliasing doesn't look good anyway, so I have removed it.
Very cool for me was the "foldr (.) id" construct, which someone on #haskell
suggested. Changing separate x/y coordinates to a list with 2 elements
helped, too, to cleanup the source code. Maybe some more cleanups and the
PNG save implementation, and then this code could be used as a small
practical example for other Haskell newbies like me.
BTW: Is there any coding standard for Haskell programs? I've seen different
formattings, like how to indent "where" and the following parts of the code.
Is there a common practice?
Frank Buss, fb at frank-buss.de
More information about the Haskell-Cafe