explorations in creative coding

Post on 26-Jan-2017

300 Views

Category:

Art & Photos

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Explorations in Creative Coding

Semantic Web OutingVU University, Egmond aan Zee

5 April 2016

Eelco den Heijer

•What is Creativity?

•Man-Machine Creativity

•Creative Coding

•Examples; EvoArt, Arfunkel, Dichtfabriek

•Live Coding

eelco den heijer

• Developer/ Architect/ Scrum Master• Part-time Researcher• MSc Cognitive Artificial Intelligence (Utrecht)

• PhD at Computational Intelligence Group, VU, with Guszti Eiben (2009-2013)

What is Creativity?• Margaret Boden - Creativity and Art: Three

Roads to Surprise

• Combinational - unusual combination of usual ideas

• Exploration - like local search in concept space

• Transformational - transforming a concept in concept space, ‘changing the rules’

Combinational Creativity

Exploratory Creativity

Transformational Creativity

Man-Machine

Generative Art

Man Made Art

Digital Designer

Computer Assisted Design

Evolu- tionary

Art

machineman

Parametric Design

Creative Coding

Maker Culture

Example 1: EvoArt

• Autonomous Evolutionary Art

• PhD research, 2009-2013

• Genetic Programming engine

• Multiple Genotypes

EvoArt

• Computational Aesthetics

• Several functions to assess various ‘aspects of beauty’

• Multiple Genotypes; expression, SVG, Glitch

• Autonomous EvoArt system (vs. Interactive Evo Art)

Example 2: Arfunkel• Art Functions

• Research project in Functional Programming in Java 8

• Collection of building blocks that act on Images

• Generators

• Filters

• Merge/Combine

Functions on Images

create

filter

blend

split

terminate

Functions• Various blend functions

• Various colour space functions

• All functions act on images or on image functions

• All functions act as Lego blocks

RGB

HSV

CIELAB

Mirroring • Simple horizontal, vertical mirror

• Sort of Kaleidoscope effect

Workflow ex. 1

Get Image

Get Image

Blend Recolour Solarize

Workflow ex. 2

Get Image

Get Image

Blend

Recolour

MirrorLeft/Right

Recolour

Arfunkel• Between Combinational and Exploration

Creativity

• Between Parametric Design and Generative Art

• Will not ‘break the rules’, since workflow is now hard coded

• Next step is making the workflow dynamic

• Introduce REPL - Read Eval Print Loop

Example 3: Dichtfabriek

• Dichtfabriek: Poetry Factory

• Proof of Concept

• Collaboration between me and Wouter van der Land

• Built in Python

Dichtfabriek• Kind of “Poetry Remix engine”

• Indexes poetry, stores word sequences (Markov chain)

• Produces a number of poetry forms:

• snowball (based on anagrams)

• limerick

• haikus

• ABAB

at Art prat Praet patser Stapert raptekst startplek kerstplaat slaaptekort

As ras Rosa Laros Oerals Oeraals Boelaars Bostelaar Stobbelaar borstelbaan

WA anw Ewan nawee Waelen Salween leswagen wagenspel speelwagen wespenangel

Word pairing

• “The quick brown fox jumps over the lazy dog”

• “The quick” + “quick brown” + “brown fox”, etc

• Create index in memory

• Create phrases starting with last word, using markov chain index

• Create indices use different corpora ==> remixing

'bout 'bout it bout it is een sappieben dan hij komt vjezze oeh Jappieboy vaderlay lowsappie opgeluchtplat ja ik heb ondoeltreffender

alle schoon prijs aan t beter zangers rijk juweel in t hare kostgangers in liefdes almacht herdenkt de haardracht gegeven hun hulde aan windvangers

Source: William Shakespeare (Sonnetten)

Source: Jeugd van Tegenwoordig

Formats & Functions• Different templates for poetry forms Limerick,

Haiku, SMS, Snowball, etc.

• Easily implemented in Python

• Small functions:

• Syllables (language specific)

• Groene Boekje (Dutch Word List)

• Anagram

• Rhyme

is de club huilenlucht kwam ineens changde z'nholler at ya boy

aan de stervling steeds aan den gloed en zinneloos de schuld en voorproeft

Source: William Shakespeare (Sonnetten)

Source: Jeugd van Tegenwoordig

Dichtfabriek

• Still Proof of Concept

• Real fun to do, very short development time

• Generative Art, Combinational Creativity

• Python is excellent for Creative Coding

• Currently: Dutch only, 100% form, 0% Content

• Many points of extension for future work

Live Coding• Producing and Performing at the same time

• Similar to jazz improvisation

• Incremental changes

• REPL:

• Read, Evaluate, Print Loop

• LISP, Chuck, Impromptu

• Algorave

Conclusions• Many forms of Creative Coding

• Creative Coding is totally fun

• Choice of Platform or Language is important

• How much creativity do you want to contribute?

• Or:

• How much control do you want to keep?

Questions? @eelcodenheijer

Tumblr: eelcodenheijereelcodenheijer@gmail.com

top related