SlideShare a Scribd company logo
1 of 40
Download to read offline
Crea%ve	
  Coding	
  
Interac%on	
  Design	
  Lab	
  1,	
  IUAV,	
  WS	
  10/11	
  




                                               Till	
  Nagel,	
  FH	
  Potsdam,	
  10/2010	
  
Lovebytes	
     MaG	
  Pyke,	
  Karsten	
  Schmidt,	
  2007	
  
We	
  feel	
  fine	
     Jonathan	
  Harris,	
  Sepandar	
  Kamvar,	
  2005	
  
Translator	
  II,	
  Grower	
     Sabrina	
  Raaf,	
  2004	
  
Color	
  by	
  Numbers	
     Loove	
  Brooms,	
  Milo	
  Lavén,	
  Erik	
  Krikortz,	
  2006	
  
Color	
  by	
  Numbers	
     Loove	
  Brooms,	
  Milo	
  Lavén,	
  Erik	
  Krikortz,	
  2006	
  
1	
  +	
  2	
  +	
  3	
  +	
  4	
  +	
  5	
  =	
  ?	
  
1	
  +	
  2	
  +	
  3	
  +	
  4	
  +	
  5	
  =	
  ?	
  
1	
  +	
  2	
  =	
  
	
  	
  	
  	
  3	
  
1	
  +	
  2	
  +	
  3	
  +	
  4	
  +	
  5	
  =	
  ?	
  
1	
  +	
  2	
  
	
  	
  	
  	
  3	
  +	
  3	
  =	
  
	
  	
  	
  	
  	
  	
  	
  	
  6	
  
1	
  +	
  2	
  +	
  3	
  +	
  4	
  +	
  5	
  =	
  ?	
  
1	
  +	
  2	
  
	
  	
  	
  	
  3	
  +	
  3	
  
	
  	
  	
  	
  	
  	
  	
  	
  6	
  +	
  4	
  =	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  10	
  
1	
  +	
  2	
  +	
  3	
  +	
  4	
  +	
  5	
  =	
  ?	
  
1	
  +	
  2	
  
	
  	
  	
  	
  3	
  +	
  3	
  
	
  	
  	
  	
  	
  	
  	
  	
  6	
  +	
  4	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  10	
  +	
  5	
  =	
  15	
  
Algorithm	
  
Algorithm	
  




                From:	
  The	
  Times,	
  23.	
  November	
  2005	
  
How	
  to	
  describe	
  these	
  paGerns?	
  
Algorithm	
  


A	
  set	
  of	
  steps	
  or	
  rules.	
  
A	
  language	
  understood	
  by	
  both	
  sides	
  (sender	
  and	
  
recipient).	
  
Can	
  be	
  wriEen	
  in	
  various	
  forms:	
  natural	
  language	
  such	
  
as	
  English	
  or	
  Italian,	
  diagrams,	
  computer	
  programs,	
  etc	
  
Specific,	
  simple	
  instrucJons.	
  
Split	
  up	
  a	
  problem	
  into	
  smaller	
  ones.	
  
Excercise	
  


Create	
  two	
  10	
  ×	
  10	
  cm	
  squares.	
  Draw	
  an	
  image	
  in	
  the	
  leO	
  one	
  
in	
  a	
  way	
  nobody	
  else	
  can	
  see	
  what	
  you	
  are	
  drawing.	
  
Excercise	
  


Create	
  two	
  10	
  ×	
  10	
  cm	
  squares.	
  Draw	
  an	
  image	
  in	
  the	
  leO	
  one	
  
in	
  a	
  way	
  nobody	
  else	
  can	
  see	
  what	
  you	
  are	
  drawing.	
  
Find	
  a	
  partner.	
  When	
  both	
  of	
  you	
  are	
  finished,	
  one	
  should	
  
explain	
  his	
  drawing	
  to	
  the	
  other	
  one,	
  so	
  he	
  can	
  create	
  a	
  copy	
  of	
  
it.	
  This	
  should	
  be	
  done	
  solely	
  by	
  describing	
  the	
  image.	
  	
  
Let’s	
  start	
  coding	
  …	
  
Processing	
  
              Toolbar	
  




         Text	
  editor	
  




          Messages	
  

             Console	
  
Statements	
  


 doThis();	
  
 doThat();	
  
 makeBeautifulGraphics();	
  
size(width,	
  height);	
  




 size(100,	
  100);	
  




 size(300,	
  100);	
  
background(value);	
  


 background(0);	
  



 background(127);	
  



 background(255);	
  
Coordinate	
  system	
  and	
  posi%ons	
  
line(x1,	
  y1,	
  x2,	
  y2);	
  



 line(50,	
  20,	
  100,	
  100);	
  




 line(30,	
  10,	
  30,	
  180);	
  
 line(50,	
  10,	
  50,	
  180);	
  
 line(90,	
  120,	
  180,	
  95);	
  
rect(x,	
  y,	
  width,	
  height);	
  



 rect(50,	
  20,	
  100,	
  100);	
  




 rect(10,	
  10,	
  50,	
  50);	
  
 rect(80,	
  70,	
  60,	
  110);	
  
ellipse(x,	
  y,	
  width,	
  height);	
  



 ellipse(90,	
  90,	
  100,	
  100);	
  




 ellipse(90,	
  90,	
  160,	
  160);	
  
 ellipse(110,	
  120,	
  70,	
  30);	
  
Order	
  of	
  statements	
  



 ellipse(70,	
  70,	
  110,	
  110);	
  
 rect(80,	
  80,	
  100,	
  100);	
  




 rect(80,	
  80,	
  100,	
  100);	
  
 ellipse(70,	
  70,	
  110,	
  110);	
  
Some	
  other	
  drawing	
  statements	
  



 triangle(x1,	
  y1,	
  x2,	
  y2,	
  x3,	
  y3);	
  

 quad(x1,	
  y1,	
  x2,	
  y2,	
  x3,	
  y3,	
  x4,	
  y4);	
  

 curve(x1,	
  y1,	
  x2,	
  y2,	
  x3,	
  y3,	
  x4,	
  y4);	
  

 arc(x,	
  y,	
  width,	
  height,	
  start,	
  stop);	
  

 …	
  
Colours:	
  fill(value);	
  



 fill(0);	
  
 rect(80,	
  80,	
  100,	
  100);	
  




 fill(255);	
  
 rect(80,	
  80,	
  100,	
  100);	
  
 fill(0);	
  
 ellipse(70,	
  70,	
  110,	
  110);	
  
Colours:	
  stroke(value);	
  


 stroke(0);	
  
 rect(50,	
  20,	
  100,	
  100);	
  


 stroke(255);	
  
 rect(50,	
  20,	
  100,	
  100);	
  


 stroke(255);	
  
 fill(0);	
  
 rect(50,	
  20,	
  100,	
  100);	
  
Transparency	
  



 fill(255);	
  
 rect(80,	
  80,	
  100,	
  100);	
  
 fill(0,	
  100);	
  
 ellipse(70,	
  70,	
  110,	
  110);	
  


 fill(255);	
  
 rect(80,	
  80,	
  100,	
  100);	
  
 fill(0,	
  10);	
  
 ellipse(70,	
  70,	
  110,	
  110);	
  
Other	
  colour	
  statements	
  



 noStroke();	
  

 noFill();	
  

 strokeWeight(weight);	
  

 …	
  
Excercises	
  


 E1:	
  Write	
  your	
  first	
  Processing	
  sketch.	
  Download	
  and	
  install	
  
 Processing	
  from	
  hEp://processing.org/download	
  	
  
 Sketch	
  a	
  composiJon	
  out	
  of	
  two	
  intersecJng	
  lines	
  and	
  one	
  
 rectangle	
  on	
  paper,	
  then	
  re-­‐create	
  it	
  in	
  Processing.	
  


 E2:	
  Draw	
  a	
  face.	
  Use	
  only	
  the	
  following	
  funcJons:	
  size(),	
  
 background(),	
  stroke(),	
  noStroke(),	
  fill(),	
  noFill(),	
  ellipse()	
  	
  


 E3:	
  Read	
  the	
  tutorial	
  and	
  reference	
  about	
  colours.	
  
 Create	
  a	
  coloured	
  2D	
  filling	
  paEern	
  with	
  simple	
  shapes.	
  
Homework	
  


 H1:	
  Find	
  some	
  paEern	
  in	
  the	
  real	
  world.	
  Take	
  the	
  original	
  or	
  
 make	
  a	
  photo	
  and	
  bring	
  it	
  in,	
  tomorrow.	
  


 H2:	
  Read	
  the	
  interview	
  with	
  Jared	
  Tarbell	
  (Processing	
  book,	
  
 p.	
  157	
  or	
  handout).	
  Try	
  to	
  understand	
  the	
  algorithms	
  and	
  think	
  
 about	
  how	
  to	
  implement	
  those	
  in	
  Processing.	
  
Thank	
  you.	
  


                Copyright	
  Till	
  Nagel,	
  FH	
  Potsdam,	
  10/2010	
  

More Related Content

What's hot

CDAT - graphics - vcs - xmgrace - Introduction
CDAT - graphics - vcs - xmgrace - Introduction CDAT - graphics - vcs - xmgrace - Introduction
CDAT - graphics - vcs - xmgrace - Introduction Arulalan T
 
Exploring Canvas
Exploring CanvasExploring Canvas
Exploring CanvasKevin Hoyt
 
ARTDM 170, Week 13: Text Elements + Arrays
ARTDM 170, Week 13: Text Elements + ArraysARTDM 170, Week 13: Text Elements + Arrays
ARTDM 170, Week 13: Text Elements + ArraysGilbert Guerrero
 
Chameleon game engine
Chameleon game engineChameleon game engine
Chameleon game engineVictor Porof
 
[3] 프로세싱과 아두이노
[3] 프로세싱과 아두이노[3] 프로세싱과 아두이노
[3] 프로세싱과 아두이노Chiwon Song
 
Introduction to Processing and creative coding
Introduction to Processing and creative codingIntroduction to Processing and creative coding
Introduction to Processing and creative codingJerome Herr
 
How to make a video game
How to make a video gameHow to make a video game
How to make a video gamedandylion13
 
Creative Coding 1 - 3 Conditions
Creative Coding 1 - 3 ConditionsCreative Coding 1 - 3 Conditions
Creative Coding 1 - 3 ConditionsTill Nagel
 
Ping pong game
Ping pong  gamePing pong  game
Ping pong gameAmit Kumar
 
adobe illustrator for beginner
adobe illustrator for beginneradobe illustrator for beginner
adobe illustrator for beginnernabilah rahim
 
Hangman Game Programming in C (coding)
Hangman Game Programming in C (coding)Hangman Game Programming in C (coding)
Hangman Game Programming in C (coding)hasan0812
 
Drawing with the HTML5 Canvas
Drawing with the HTML5 CanvasDrawing with the HTML5 Canvas
Drawing with the HTML5 CanvasHenry Osborne
 
25 лет истории C++, пролетевшей на моих глазах
25 лет истории C++, пролетевшей на моих глазах25 лет истории C++, пролетевшей на моих глазах
25 лет истории C++, пролетевшей на моих глазахcorehard_by
 
Print input-presentation
Print input-presentationPrint input-presentation
Print input-presentationMartin McBride
 

What's hot (19)

CDAT - graphics - vcs - xmgrace - Introduction
CDAT - graphics - vcs - xmgrace - Introduction CDAT - graphics - vcs - xmgrace - Introduction
CDAT - graphics - vcs - xmgrace - Introduction
 
Exploring Canvas
Exploring CanvasExploring Canvas
Exploring Canvas
 
ARTDM 170, Week 13: Text Elements + Arrays
ARTDM 170, Week 13: Text Elements + ArraysARTDM 170, Week 13: Text Elements + Arrays
ARTDM 170, Week 13: Text Elements + Arrays
 
Chameleon game engine
Chameleon game engineChameleon game engine
Chameleon game engine
 
[3] 프로세싱과 아두이노
[3] 프로세싱과 아두이노[3] 프로세싱과 아두이노
[3] 프로세싱과 아두이노
 
Kwp2 100114
Kwp2 100114Kwp2 100114
Kwp2 100114
 
Introduction to Processing and creative coding
Introduction to Processing and creative codingIntroduction to Processing and creative coding
Introduction to Processing and creative coding
 
How to make a video game
How to make a video gameHow to make a video game
How to make a video game
 
Creative Coding 1 - 3 Conditions
Creative Coding 1 - 3 ConditionsCreative Coding 1 - 3 Conditions
Creative Coding 1 - 3 Conditions
 
Sim1
Sim1Sim1
Sim1
 
Intro to HTML5 Canvas
Intro to HTML5 CanvasIntro to HTML5 Canvas
Intro to HTML5 Canvas
 
Ping pong game
Ping pong  gamePing pong  game
Ping pong game
 
SA09 Realtime education
SA09 Realtime educationSA09 Realtime education
SA09 Realtime education
 
adobe illustrator for beginner
adobe illustrator for beginneradobe illustrator for beginner
adobe illustrator for beginner
 
Hangman Game Programming in C (coding)
Hangman Game Programming in C (coding)Hangman Game Programming in C (coding)
Hangman Game Programming in C (coding)
 
06 Mean Var
06 Mean Var06 Mean Var
06 Mean Var
 
Drawing with the HTML5 Canvas
Drawing with the HTML5 CanvasDrawing with the HTML5 Canvas
Drawing with the HTML5 Canvas
 
25 лет истории C++, пролетевшей на моих глазах
25 лет истории C++, пролетевшей на моих глазах25 лет истории C++, пролетевшей на моих глазах
25 лет истории C++, пролетевшей на моих глазах
 
Print input-presentation
Print input-presentationPrint input-presentation
Print input-presentation
 

Viewers also liked

Creative Coding with Processing
Creative Coding with Processing Creative Coding with Processing
Creative Coding with Processing Christian Gwiozda
 
Intro to Creative Coding
Intro to Creative Coding  Intro to Creative Coding
Intro to Creative Coding Youssef Faltas
 
StoryCode DIY Days Presentation - Creative Coding
StoryCode DIY Days Presentation - Creative CodingStoryCode DIY Days Presentation - Creative Coding
StoryCode DIY Days Presentation - Creative Codingstorycode
 
Arte Computacional
Arte ComputacionalArte Computacional
Arte ComputacionalLucas Cabral
 
Creative Coding Workshop - Introduction
Creative Coding Workshop - IntroductionCreative Coding Workshop - Introduction
Creative Coding Workshop - IntroductionYoussef Faltas
 
Explorations in Creative Coding
Explorations in Creative CodingExplorations in Creative Coding
Explorations in Creative CodingEelco den Heijer
 
Creative coding academy
Creative coding academyCreative coding academy
Creative coding academyVivek Bhagwat
 
Canvas Only: Creative Coding in HTML5
Canvas Only: Creative Coding in HTML5Canvas Only: Creative Coding in HTML5
Canvas Only: Creative Coding in HTML5James Stone
 
Touching Transport - A Case Study on Visualizing Metropolitan Public Transit ...
Touching Transport - A Case Study on Visualizing Metropolitan Public Transit ...Touching Transport - A Case Study on Visualizing Metropolitan Public Transit ...
Touching Transport - A Case Study on Visualizing Metropolitan Public Transit ...Till Nagel
 
Prototipo3 - limulo at electropark 2013
Prototipo3 - limulo at electropark 2013Prototipo3 - limulo at electropark 2013
Prototipo3 - limulo at electropark 2013Limulo
 
Viol.ad Creative Studio Portfolio
Viol.ad Creative Studio PortfolioViol.ad Creative Studio Portfolio
Viol.ad Creative Studio PortfolioDarryl Han
 
Creative coding with d3.js
Creative coding with d3.jsCreative coding with d3.js
Creative coding with d3.jsFabian Dubois
 
Digital Inspiration #2 - Creative Coding
Digital Inspiration #2 - Creative CodingDigital Inspiration #2 - Creative Coding
Digital Inspiration #2 - Creative CodingErik Arvedson
 
Creative computing Session 3
Creative computing Session 3Creative computing Session 3
Creative computing Session 3kturvey
 
Creative Coding Utrecht CCU0++
Creative Coding Utrecht CCU0++Creative Coding Utrecht CCU0++
Creative Coding Utrecht CCU0++Eelco den Heijer
 
Kick off Creative Coding
Kick off Creative CodingKick off Creative Coding
Kick off Creative Codingorange_dot
 
Dev in the future live coding
Dev in the future   live codingDev in the future   live coding
Dev in the future live codingmatparisot
 

Viewers also liked (20)

Creative Coding with Processing
Creative Coding with Processing Creative Coding with Processing
Creative Coding with Processing
 
Intro to Creative Coding
Intro to Creative Coding  Intro to Creative Coding
Intro to Creative Coding
 
StoryCode DIY Days Presentation - Creative Coding
StoryCode DIY Days Presentation - Creative CodingStoryCode DIY Days Presentation - Creative Coding
StoryCode DIY Days Presentation - Creative Coding
 
Arte Computacional
Arte ComputacionalArte Computacional
Arte Computacional
 
Creative Coding Workshop - Introduction
Creative Coding Workshop - IntroductionCreative Coding Workshop - Introduction
Creative Coding Workshop - Introduction
 
Explorations in Creative Coding
Explorations in Creative CodingExplorations in Creative Coding
Explorations in Creative Coding
 
Grid help, Processing
Grid help, ProcessingGrid help, Processing
Grid help, Processing
 
Creative coding academy
Creative coding academyCreative coding academy
Creative coding academy
 
Canvas Only: Creative Coding in HTML5
Canvas Only: Creative Coding in HTML5Canvas Only: Creative Coding in HTML5
Canvas Only: Creative Coding in HTML5
 
Touching Transport - A Case Study on Visualizing Metropolitan Public Transit ...
Touching Transport - A Case Study on Visualizing Metropolitan Public Transit ...Touching Transport - A Case Study on Visualizing Metropolitan Public Transit ...
Touching Transport - A Case Study on Visualizing Metropolitan Public Transit ...
 
Prototipo3 - limulo at electropark 2013
Prototipo3 - limulo at electropark 2013Prototipo3 - limulo at electropark 2013
Prototipo3 - limulo at electropark 2013
 
Hello vvvv
Hello vvvvHello vvvv
Hello vvvv
 
Viol.ad Creative Studio Portfolio
Viol.ad Creative Studio PortfolioViol.ad Creative Studio Portfolio
Viol.ad Creative Studio Portfolio
 
Creative coding with d3.js
Creative coding with d3.jsCreative coding with d3.js
Creative coding with d3.js
 
Digital Inspiration #2 - Creative Coding
Digital Inspiration #2 - Creative CodingDigital Inspiration #2 - Creative Coding
Digital Inspiration #2 - Creative Coding
 
Creative computing Session 3
Creative computing Session 3Creative computing Session 3
Creative computing Session 3
 
Creative Coding Utrecht CCU0++
Creative Coding Utrecht CCU0++Creative Coding Utrecht CCU0++
Creative Coding Utrecht CCU0++
 
Live coding
Live codingLive coding
Live coding
 
Kick off Creative Coding
Kick off Creative CodingKick off Creative Coding
Kick off Creative Coding
 
Dev in the future live coding
Dev in the future   live codingDev in the future   live coding
Dev in the future live coding
 

Similar to Creative Coding 1 - 1 Introduction

Creative Coding 1 - 2 Variables
Creative Coding 1 - 2 VariablesCreative Coding 1 - 2 Variables
Creative Coding 1 - 2 VariablesTill Nagel
 
Learn Creative Coding: Begin Programming with the Processing Language
Learn Creative Coding: Begin Programming with the Processing LanguageLearn Creative Coding: Begin Programming with the Processing Language
Learn Creative Coding: Begin Programming with the Processing LanguageW M Harris
 
Learn Creative Coding: Begin Programming with the Processing Language
Learn Creative Coding: Begin Programming with the Processing LanguageLearn Creative Coding: Begin Programming with the Processing Language
Learn Creative Coding: Begin Programming with the Processing Languageshelfrog
 
Interactive Mouse (Report On Processing)
Interactive Mouse (Report On Processing)Interactive Mouse (Report On Processing)
Interactive Mouse (Report On Processing)TongXu520
 
Ur Domain Haz Monoids DDDx NYC 2014
Ur Domain Haz Monoids DDDx NYC 2014Ur Domain Haz Monoids DDDx NYC 2014
Ur Domain Haz Monoids DDDx NYC 2014Cyrille Martraire
 
Computer Graphics Concepts
Computer Graphics ConceptsComputer Graphics Concepts
Computer Graphics ConceptsSHAKOOR AB
 
stackconf 2022: Are all programming languages in english?
stackconf 2022: Are all programming languages in english?stackconf 2022: Are all programming languages in english?
stackconf 2022: Are all programming languages in english?NETWAYS
 
Thinking Functionally In Ruby
Thinking Functionally In RubyThinking Functionally In Ruby
Thinking Functionally In RubyRoss Lawley
 
Gabriele Lana - The Magic of Elixir
Gabriele Lana - The Magic of ElixirGabriele Lana - The Magic of Elixir
Gabriele Lana - The Magic of ElixirCodemotion
 
r studio presentation.pptx
r studio presentation.pptxr studio presentation.pptx
r studio presentation.pptxDevikaRaj14
 
r studio presentation.pptx
r studio presentation.pptxr studio presentation.pptx
r studio presentation.pptxDevikaRaj14
 
FINAL PROJECT, MATH 251, FALL 2015 [The project is Due Monday afte.docx
FINAL PROJECT, MATH 251, FALL 2015 [The project is Due Monday afte.docxFINAL PROJECT, MATH 251, FALL 2015 [The project is Due Monday afte.docx
FINAL PROJECT, MATH 251, FALL 2015 [The project is Due Monday afte.docxMalikPinckney86
 
Python for High School Programmers
Python for High School ProgrammersPython for High School Programmers
Python for High School ProgrammersSiva Arunachalam
 
Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015
Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015
Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015Mozaic Works
 
Computer graphics lab manual
Computer graphics lab manualComputer graphics lab manual
Computer graphics lab manualUma mohan
 
Adventures In Data Compilation
Adventures In Data CompilationAdventures In Data Compilation
Adventures In Data CompilationNaughty Dog
 

Similar to Creative Coding 1 - 1 Introduction (20)

Creative Coding 1 - 2 Variables
Creative Coding 1 - 2 VariablesCreative Coding 1 - 2 Variables
Creative Coding 1 - 2 Variables
 
Lec2
Lec2Lec2
Lec2
 
Learn Creative Coding: Begin Programming with the Processing Language
Learn Creative Coding: Begin Programming with the Processing LanguageLearn Creative Coding: Begin Programming with the Processing Language
Learn Creative Coding: Begin Programming with the Processing Language
 
Learn Creative Coding: Begin Programming with the Processing Language
Learn Creative Coding: Begin Programming with the Processing LanguageLearn Creative Coding: Begin Programming with the Processing Language
Learn Creative Coding: Begin Programming with the Processing Language
 
Interactive Mouse (Report On Processing)
Interactive Mouse (Report On Processing)Interactive Mouse (Report On Processing)
Interactive Mouse (Report On Processing)
 
Ur Domain Haz Monoids DDDx NYC 2014
Ur Domain Haz Monoids DDDx NYC 2014Ur Domain Haz Monoids DDDx NYC 2014
Ur Domain Haz Monoids DDDx NYC 2014
 
Computer Graphics Concepts
Computer Graphics ConceptsComputer Graphics Concepts
Computer Graphics Concepts
 
Lec4
Lec4Lec4
Lec4
 
stackconf 2022: Are all programming languages in english?
stackconf 2022: Are all programming languages in english?stackconf 2022: Are all programming languages in english?
stackconf 2022: Are all programming languages in english?
 
Thinking Functionally In Ruby
Thinking Functionally In RubyThinking Functionally In Ruby
Thinking Functionally In Ruby
 
Gabriele Lana - The Magic of Elixir
Gabriele Lana - The Magic of ElixirGabriele Lana - The Magic of Elixir
Gabriele Lana - The Magic of Elixir
 
r studio presentation.pptx
r studio presentation.pptxr studio presentation.pptx
r studio presentation.pptx
 
r studio presentation.pptx
r studio presentation.pptxr studio presentation.pptx
r studio presentation.pptx
 
Python slide
Python slidePython slide
Python slide
 
Python Puzzlers
Python PuzzlersPython Puzzlers
Python Puzzlers
 
FINAL PROJECT, MATH 251, FALL 2015 [The project is Due Monday afte.docx
FINAL PROJECT, MATH 251, FALL 2015 [The project is Due Monday afte.docxFINAL PROJECT, MATH 251, FALL 2015 [The project is Due Monday afte.docx
FINAL PROJECT, MATH 251, FALL 2015 [The project is Due Monday afte.docx
 
Python for High School Programmers
Python for High School ProgrammersPython for High School Programmers
Python for High School Programmers
 
Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015
Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015
Cyrille Martraire: Monoids, Monoids Everywhere! at I T.A.K.E. Unconference 2015
 
Computer graphics lab manual
Computer graphics lab manualComputer graphics lab manual
Computer graphics lab manual
 
Adventures In Data Compilation
Adventures In Data CompilationAdventures In Data Compilation
Adventures In Data Compilation
 

More from Till Nagel

Visually analyzing urban mobility - Results and insights from three student r...
Visually analyzing urban mobility - Results and insights from three student r...Visually analyzing urban mobility - Results and insights from three student r...
Visually analyzing urban mobility - Results and insights from three student r...Till Nagel
 
GeoVisualisierung in der Lehre - Wie forschendes Lernen zu funktionalen Proto...
GeoVisualisierung in der Lehre - Wie forschendes Lernen zu funktionalen Proto...GeoVisualisierung in der Lehre - Wie forschendes Lernen zu funktionalen Proto...
GeoVisualisierung in der Lehre - Wie forschendes Lernen zu funktionalen Proto...Till Nagel
 
Unfolding Spatial Data
Unfolding Spatial DataUnfolding Spatial Data
Unfolding Spatial DataTill Nagel
 
Human-Data Interaction
Human-Data InteractionHuman-Data Interaction
Human-Data InteractionTill Nagel
 
Einführung in die Datenvisualisierung - Workshop
Einführung in die Datenvisualisierung - WorkshopEinführung in die Datenvisualisierung - Workshop
Einführung in die Datenvisualisierung - WorkshopTill Nagel
 
Inszenierte Analyse - Von attraktiver Visualisierung zu tieferem Verständnis
Inszenierte Analyse - Von attraktiver Visualisierung zu tieferem VerständnisInszenierte Analyse - Von attraktiver Visualisierung zu tieferem Verständnis
Inszenierte Analyse - Von attraktiver Visualisierung zu tieferem VerständnisTill Nagel
 
cf. city flows - A comparative visualization of bike sharing systems
cf. city flows - A comparative visualization of bike sharing systemscf. city flows - A comparative visualization of bike sharing systems
cf. city flows - A comparative visualization of bike sharing systemsTill Nagel
 
Meandering - On the design process of visualizations
Meandering - On the design process of visualizationsMeandering - On the design process of visualizations
Meandering - On the design process of visualizationsTill Nagel
 
Unfolding the City - Urban Mobility Visualizations
Unfolding the City - Urban Mobility VisualizationsUnfolding the City - Urban Mobility Visualizations
Unfolding the City - Urban Mobility VisualizationsTill Nagel
 
Unfolding the City
Unfolding the CityUnfolding the City
Unfolding the CityTill Nagel
 
Unfolding - Workshop at RCA
Unfolding - Workshop at RCAUnfolding - Workshop at RCA
Unfolding - Workshop at RCATill Nagel
 
Unfolding - A Library for Interactive Maps and Geovisualizations
Unfolding - A Library for Interactive Maps and GeovisualizationsUnfolding - A Library for Interactive Maps and Geovisualizations
Unfolding - A Library for Interactive Maps and GeovisualizationsTill Nagel
 
Unfolding - A Simple Library for Interactive Maps and Geovisualizations in Pr...
Unfolding - A Simple Library for Interactive Maps and Geovisualizations in Pr...Unfolding - A Simple Library for Interactive Maps and Geovisualizations in Pr...
Unfolding - A Simple Library for Interactive Maps and Geovisualizations in Pr...Till Nagel
 
Multitouch Lab Intro - Urbane Ebenen
Multitouch Lab Intro - Urbane EbenenMultitouch Lab Intro - Urbane Ebenen
Multitouch Lab Intro - Urbane EbenenTill Nagel
 
Sankey Arcs - Visualizing edge weights in path graphs
Sankey Arcs - Visualizing edge weights in path graphsSankey Arcs - Visualizing edge weights in path graphs
Sankey Arcs - Visualizing edge weights in path graphsTill Nagel
 
Interactive Exploration of Geospatial Network Visualization
Interactive Exploration of Geospatial Network Visualization Interactive Exploration of Geospatial Network Visualization
Interactive Exploration of Geospatial Network Visualization Till Nagel
 
Live Singapore - Interaktive Visualisierungen urbaner Daten
Live Singapore - Interaktive Visualisierungen urbaner DatenLive Singapore - Interaktive Visualisierungen urbaner Daten
Live Singapore - Interaktive Visualisierungen urbaner DatenTill Nagel
 
Unfolding Library for Interactive Maps
Unfolding Library for Interactive MapsUnfolding Library for Interactive Maps
Unfolding Library for Interactive MapsTill Nagel
 
GeoVis - More than Zoom and Pan
GeoVis - More than Zoom and PanGeoVis - More than Zoom and Pan
GeoVis - More than Zoom and PanTill Nagel
 

More from Till Nagel (20)

Visually analyzing urban mobility - Results and insights from three student r...
Visually analyzing urban mobility - Results and insights from three student r...Visually analyzing urban mobility - Results and insights from three student r...
Visually analyzing urban mobility - Results and insights from three student r...
 
GeoVisualisierung in der Lehre - Wie forschendes Lernen zu funktionalen Proto...
GeoVisualisierung in der Lehre - Wie forschendes Lernen zu funktionalen Proto...GeoVisualisierung in der Lehre - Wie forschendes Lernen zu funktionalen Proto...
GeoVisualisierung in der Lehre - Wie forschendes Lernen zu funktionalen Proto...
 
Unfolding Spatial Data
Unfolding Spatial DataUnfolding Spatial Data
Unfolding Spatial Data
 
Human-Data Interaction
Human-Data InteractionHuman-Data Interaction
Human-Data Interaction
 
Einführung in die Datenvisualisierung - Workshop
Einführung in die Datenvisualisierung - WorkshopEinführung in die Datenvisualisierung - Workshop
Einführung in die Datenvisualisierung - Workshop
 
Inszenierte Analyse - Von attraktiver Visualisierung zu tieferem Verständnis
Inszenierte Analyse - Von attraktiver Visualisierung zu tieferem VerständnisInszenierte Analyse - Von attraktiver Visualisierung zu tieferem Verständnis
Inszenierte Analyse - Von attraktiver Visualisierung zu tieferem Verständnis
 
cf. city flows - A comparative visualization of bike sharing systems
cf. city flows - A comparative visualization of bike sharing systemscf. city flows - A comparative visualization of bike sharing systems
cf. city flows - A comparative visualization of bike sharing systems
 
Meandering - On the design process of visualizations
Meandering - On the design process of visualizationsMeandering - On the design process of visualizations
Meandering - On the design process of visualizations
 
Unfolding the City - Urban Mobility Visualizations
Unfolding the City - Urban Mobility VisualizationsUnfolding the City - Urban Mobility Visualizations
Unfolding the City - Urban Mobility Visualizations
 
Unfolding the City
Unfolding the CityUnfolding the City
Unfolding the City
 
Unfolding - Workshop at RCA
Unfolding - Workshop at RCAUnfolding - Workshop at RCA
Unfolding - Workshop at RCA
 
Unfolding - A Library for Interactive Maps and Geovisualizations
Unfolding - A Library for Interactive Maps and GeovisualizationsUnfolding - A Library for Interactive Maps and Geovisualizations
Unfolding - A Library for Interactive Maps and Geovisualizations
 
Unfolding - A Simple Library for Interactive Maps and Geovisualizations in Pr...
Unfolding - A Simple Library for Interactive Maps and Geovisualizations in Pr...Unfolding - A Simple Library for Interactive Maps and Geovisualizations in Pr...
Unfolding - A Simple Library for Interactive Maps and Geovisualizations in Pr...
 
mæve
mævemæve
mæve
 
Multitouch Lab Intro - Urbane Ebenen
Multitouch Lab Intro - Urbane EbenenMultitouch Lab Intro - Urbane Ebenen
Multitouch Lab Intro - Urbane Ebenen
 
Sankey Arcs - Visualizing edge weights in path graphs
Sankey Arcs - Visualizing edge weights in path graphsSankey Arcs - Visualizing edge weights in path graphs
Sankey Arcs - Visualizing edge weights in path graphs
 
Interactive Exploration of Geospatial Network Visualization
Interactive Exploration of Geospatial Network Visualization Interactive Exploration of Geospatial Network Visualization
Interactive Exploration of Geospatial Network Visualization
 
Live Singapore - Interaktive Visualisierungen urbaner Daten
Live Singapore - Interaktive Visualisierungen urbaner DatenLive Singapore - Interaktive Visualisierungen urbaner Daten
Live Singapore - Interaktive Visualisierungen urbaner Daten
 
Unfolding Library for Interactive Maps
Unfolding Library for Interactive MapsUnfolding Library for Interactive Maps
Unfolding Library for Interactive Maps
 
GeoVis - More than Zoom and Pan
GeoVis - More than Zoom and PanGeoVis - More than Zoom and Pan
GeoVis - More than Zoom and Pan
 

Creative Coding 1 - 1 Introduction

  • 1. Crea%ve  Coding   Interac%on  Design  Lab  1,  IUAV,  WS  10/11   Till  Nagel,  FH  Potsdam,  10/2010  
  • 2. Lovebytes   MaG  Pyke,  Karsten  Schmidt,  2007  
  • 3. We  feel  fine   Jonathan  Harris,  Sepandar  Kamvar,  2005  
  • 4. Translator  II,  Grower   Sabrina  Raaf,  2004  
  • 5. Color  by  Numbers   Loove  Brooms,  Milo  Lavén,  Erik  Krikortz,  2006  
  • 6. Color  by  Numbers   Loove  Brooms,  Milo  Lavén,  Erik  Krikortz,  2006  
  • 7. 1  +  2  +  3  +  4  +  5  =  ?  
  • 8. 1  +  2  +  3  +  4  +  5  =  ?   1  +  2  =          3  
  • 9. 1  +  2  +  3  +  4  +  5  =  ?   1  +  2          3  +  3  =                  6  
  • 10. 1  +  2  +  3  +  4  +  5  =  ?   1  +  2          3  +  3                  6  +  4  =                        10  
  • 11. 1  +  2  +  3  +  4  +  5  =  ?   1  +  2          3  +  3                  6  +  4                        10  +  5  =  15  
  • 13. Algorithm   From:  The  Times,  23.  November  2005  
  • 14. How  to  describe  these  paGerns?  
  • 15. Algorithm   A  set  of  steps  or  rules.   A  language  understood  by  both  sides  (sender  and   recipient).   Can  be  wriEen  in  various  forms:  natural  language  such   as  English  or  Italian,  diagrams,  computer  programs,  etc   Specific,  simple  instrucJons.   Split  up  a  problem  into  smaller  ones.  
  • 16. Excercise   Create  two  10  ×  10  cm  squares.  Draw  an  image  in  the  leO  one   in  a  way  nobody  else  can  see  what  you  are  drawing.  
  • 17. Excercise   Create  two  10  ×  10  cm  squares.  Draw  an  image  in  the  leO  one   in  a  way  nobody  else  can  see  what  you  are  drawing.   Find  a  partner.  When  both  of  you  are  finished,  one  should   explain  his  drawing  to  the  other  one,  so  he  can  create  a  copy  of   it.  This  should  be  done  solely  by  describing  the  image.    
  • 19. Processing   Toolbar   Text  editor   Messages   Console  
  • 20.
  • 21. Statements   doThis();   doThat();   makeBeautifulGraphics();  
  • 22. size(width,  height);   size(100,  100);   size(300,  100);  
  • 23. background(value);   background(0);   background(127);   background(255);  
  • 24. Coordinate  system  and  posi%ons  
  • 25.
  • 26.
  • 27.
  • 28. line(x1,  y1,  x2,  y2);   line(50,  20,  100,  100);   line(30,  10,  30,  180);   line(50,  10,  50,  180);   line(90,  120,  180,  95);  
  • 29. rect(x,  y,  width,  height);   rect(50,  20,  100,  100);   rect(10,  10,  50,  50);   rect(80,  70,  60,  110);  
  • 30. ellipse(x,  y,  width,  height);   ellipse(90,  90,  100,  100);   ellipse(90,  90,  160,  160);   ellipse(110,  120,  70,  30);  
  • 31. Order  of  statements   ellipse(70,  70,  110,  110);   rect(80,  80,  100,  100);   rect(80,  80,  100,  100);   ellipse(70,  70,  110,  110);  
  • 32. Some  other  drawing  statements   triangle(x1,  y1,  x2,  y2,  x3,  y3);   quad(x1,  y1,  x2,  y2,  x3,  y3,  x4,  y4);   curve(x1,  y1,  x2,  y2,  x3,  y3,  x4,  y4);   arc(x,  y,  width,  height,  start,  stop);   …  
  • 33. Colours:  fill(value);   fill(0);   rect(80,  80,  100,  100);   fill(255);   rect(80,  80,  100,  100);   fill(0);   ellipse(70,  70,  110,  110);  
  • 34. Colours:  stroke(value);   stroke(0);   rect(50,  20,  100,  100);   stroke(255);   rect(50,  20,  100,  100);   stroke(255);   fill(0);   rect(50,  20,  100,  100);  
  • 35. Transparency   fill(255);   rect(80,  80,  100,  100);   fill(0,  100);   ellipse(70,  70,  110,  110);   fill(255);   rect(80,  80,  100,  100);   fill(0,  10);   ellipse(70,  70,  110,  110);  
  • 36. Other  colour  statements   noStroke();   noFill();   strokeWeight(weight);   …  
  • 37.
  • 38. Excercises   E1:  Write  your  first  Processing  sketch.  Download  and  install   Processing  from  hEp://processing.org/download     Sketch  a  composiJon  out  of  two  intersecJng  lines  and  one   rectangle  on  paper,  then  re-­‐create  it  in  Processing.   E2:  Draw  a  face.  Use  only  the  following  funcJons:  size(),   background(),  stroke(),  noStroke(),  fill(),  noFill(),  ellipse()     E3:  Read  the  tutorial  and  reference  about  colours.   Create  a  coloured  2D  filling  paEern  with  simple  shapes.  
  • 39. Homework   H1:  Find  some  paEern  in  the  real  world.  Take  the  original  or   make  a  photo  and  bring  it  in,  tomorrow.   H2:  Read  the  interview  with  Jared  Tarbell  (Processing  book,   p.  157  or  handout).  Try  to  understand  the  algorithms  and  think   about  how  to  implement  those  in  Processing.  
  • 40. Thank  you.   Copyright  Till  Nagel,  FH  Potsdam,  10/2010