explorations in creative coding

56
Explorations in Creative Coding Semantic Web Outing VU University, Egmond aan Zee 5 April 2016 Eelco den Heijer

Upload: eelco-den-heijer

Post on 26-Jan-2017

300 views

Category:

Art & Photos


2 download

TRANSCRIPT

Page 1: Explorations in Creative Coding

Explorations in Creative Coding

Semantic Web OutingVU University, Egmond aan Zee

5 April 2016

Eelco den Heijer

Page 2: Explorations in Creative Coding

•What is Creativity?

•Man-Machine Creativity

•Creative Coding

•Examples; EvoArt, Arfunkel, Dichtfabriek

•Live Coding

Page 3: Explorations in Creative 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)

Page 4: Explorations in Creative Coding
Page 5: Explorations in Creative Coding

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’

Page 6: Explorations in Creative Coding

Combinational Creativity

Page 7: Explorations in Creative Coding

Exploratory Creativity

Page 8: Explorations in Creative Coding

Transformational Creativity

Page 9: Explorations in Creative Coding

Man-Machine

Generative Art

Man Made Art

Digital Designer

Computer Assisted Design

Evolu- tionary

Art

machineman

Parametric Design

Creative Coding

Page 10: Explorations in Creative Coding
Page 11: Explorations in Creative Coding
Page 12: Explorations in Creative Coding
Page 13: Explorations in Creative Coding
Page 14: Explorations in Creative Coding
Page 15: Explorations in Creative Coding
Page 16: Explorations in Creative Coding

Maker Culture

Page 17: Explorations in Creative Coding
Page 18: Explorations in Creative Coding
Page 19: Explorations in Creative Coding
Page 20: Explorations in Creative Coding
Page 21: Explorations in Creative Coding

Example 1: EvoArt

• Autonomous Evolutionary Art

• PhD research, 2009-2013

• Genetic Programming engine

• Multiple Genotypes

Page 22: Explorations in Creative Coding

EvoArt

• Computational Aesthetics

• Several functions to assess various ‘aspects of beauty’

• Multiple Genotypes; expression, SVG, Glitch

• Autonomous EvoArt system (vs. Interactive Evo Art)

Page 23: Explorations in Creative Coding
Page 24: Explorations in Creative Coding
Page 25: Explorations in Creative Coding
Page 26: Explorations in Creative Coding
Page 27: Explorations in Creative Coding
Page 28: Explorations in Creative Coding

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

Page 29: Explorations in Creative Coding

Functions on Images

create

filter

Page 30: Explorations in Creative Coding

blend

split

terminate

Page 31: Explorations in Creative Coding

Functions• Various blend functions

• Various colour space functions

• All functions act on images or on image functions

• All functions act as Lego blocks

Page 32: Explorations in Creative Coding
Page 33: Explorations in Creative Coding

RGB

HSV

CIELAB

Page 34: Explorations in Creative Coding

Mirroring • Simple horizontal, vertical mirror

• Sort of Kaleidoscope effect

Page 35: Explorations in Creative Coding

Workflow ex. 1

Get Image

Get Image

Blend Recolour Solarize

Page 36: Explorations in Creative Coding

Workflow ex. 2

Get Image

Get Image

Blend

Recolour

MirrorLeft/Right

Recolour

Page 37: Explorations in Creative Coding
Page 38: Explorations in Creative Coding
Page 39: Explorations in Creative Coding
Page 40: Explorations in Creative Coding
Page 41: Explorations in Creative Coding
Page 42: Explorations in Creative Coding
Page 43: Explorations in Creative Coding

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

Page 44: Explorations in Creative Coding

Example 3: Dichtfabriek

• Dichtfabriek: Poetry Factory

• Proof of Concept

• Collaboration between me and Wouter van der Land

• Built in Python

Page 45: Explorations in Creative Coding

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

Page 46: Explorations in Creative Coding

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

Page 47: Explorations in Creative Coding

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

Page 48: Explorations in Creative Coding

'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

Page 49: Explorations in Creative Coding

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

Page 50: Explorations in Creative Coding

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

Page 51: Explorations in Creative Coding

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

Page 52: Explorations in Creative Coding

Live Coding• Producing and Performing at the same time

• Similar to jazz improvisation

• Incremental changes

• REPL:

• Read, Evaluate, Print Loop

• LISP, Chuck, Impromptu

• Algorave

Page 53: Explorations in Creative Coding
Page 54: Explorations in Creative Coding
Page 55: Explorations in Creative Coding

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?

Page 56: Explorations in Creative Coding

Questions? @eelcodenheijer

Tumblr: [email protected]