Course:CPSC312-2019/GenerativeArt

From UBC Wiki
Generative Art - With Haskell.png

Generative Art

Authors:

Generative Art - With Haskell (2).png

Joshua Mattson and Owen Tangjintanakarn

What is the problem?

Is Haskell suitable for creating generative art? This project will investigate Haskell's graphical abilities. We are starting with a base project created by Benjamin Kovach. We will alter this to create our own unique generative art program. Since Haskell is a functional programming language that does not usually deal with graphics, it would be interesting to see if we can use Haskell to feasibly create generative art in a reasonable amount of time.

What is the something extra?

We will be customizing his project to create a variety of additional art styles. We also want to have user input directly affect how the art is generated. The user will able to choose how many shapes there will be, what those shapes are, and what colour they are. Additionally we will be implementing this using the library Rasterific instead of "Cairo" which the original version uses. This has been done by Jeffery Rosenbluth who's Github is linked below. Additionally we want to find out how much of this system we can modify, and how much variety we could possibly create.

What did we learn from doing this?

We discovered that using Haskell was suitable for creating generative art. We only scratched the surface of what is possible through this system. We could alter even more variables and have the user have even more control of what is actually generated. Through completing this project we learned new ways to approach problems. Often times that was is direct conflict with our previous programming experience largely in object oriented languages.

Links to code etc

Resources:

https://colourco.de/

https://www.kovach.me/posts/2018-03-07-generating-art.html

https://gist.github.com/jeffreyrosenbluth/c751f319a110ebb94d8e67107d9a0ff9

Generative Art - With Haskell (3).png

https://www.reddit.com/r/haskell/comments/8336bq/generating_artwork_with_haskell/

Our Project:

Project GitHub