intro to processingmiriah/teaching/cs6630/lectures/l07-processing.pdf-jacques bertin. categorical...

62
slide acknowledgements: cs6630 | September 16 2014 http://processing.org / INTRO TO PROCESSING Hitesh Raju University of Utah

Upload: others

Post on 07-Mar-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

slide acknowledgements:

cs6630 | September 16 2014

http://processing.org/

INTRO TO PROCESSINGHitesh Raju

University of Utah

Page 2: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

administrivia . . .

2

Page 3: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

3

data exploration assignment due today!

time series assignment out today

open lab in class on Thurs.

Page 4: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

SCI Visualization Journal Club

Meeting every Tuesday at 2:30pm is the Halvorsen Conference

Room (WEB 4640)

This week’s paper: Illustrative Visualization of Molecular Reactions using Omniscient Intelligence and Passive Agents” from EuroVis 2014

For more information, e-mail Paul ([email protected]) or visit

http://www.sci.utah.edu/the-institute/events/vjc-fall2014.html

Page 5: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

last time . . .

5

Page 6: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

6

(human) visible light

Page 7: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

Color != Wavelength

but rather, a combination of wavelengths and energy

Page 8: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

8

Page 9: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

terms

9

-hue (chroma)

-saturation (chromaticity)

- luminance (lightness / brightness / value)

Page 10: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

perceptual color spaces

change in amount of a color value should produce an equivalent visual

change

10

Page 11: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

size & color

11

“the smaller the mark, the less distinguishable are the

colors”

-Jacques Bertin

Page 12: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6
Page 13: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

categorical

13

-color is great for categorical quantities!

Page 14: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

distinguishability

14

-only good at 6 - 12 simultaneous colors

Page 15: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

today . . .

15

Page 16: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

17

Processing

Page 17: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

what is it?

18

-programming environment

-visually oriented applications

-targets artists, designers, etc.

Text

Page 18: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

what is it?

19

-Processing Development Environment (PDE)

Page 19: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

what is it?

20

-Processing API

Page 20: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

what is it?

21

-open-source, online community

-http://forum.processing.org/

-https://github.com/processing

Page 21: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

22

why Processing?

Page 22: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

why Processing?

23

-difficulty to sketch with other languages

-complicated setup

-not easy to learn

-repetitive code

Page 23: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

why Processing?

24

-based on:

-Logo

-Design by Numbers

Page 24: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

why Processing?

25

-program = sketch

Page 25: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

why Processing?

26

-programming syntax

Text

void setup() {

size(480, 120);

}

void draw() {

if (mousePressed) {

fill(0);

} else {

fill(255);

}

ellipse(mouseX, mouseY, 80, 80);

}

Page 26: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

why Processing?

27

-Java-based- complexity

+ Big standard library

+ lots of user-contributed libraries

-similar syntax & portability

Page 27: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

why Processing?

28

public class Hello

{

public static void main (String args[])

{

System.out.println("Hello, world!");

}

}

javac Hello.java

java Hello

Page 28: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

why Processing?

-println(“Hello, World!”);

Page 29: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

why Processing?

30

-active development

Page 30: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

31

graphics

Page 31: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

monitors

32

-grid of pixels

Page 32: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

shape

33

point(x, y);

Page 33: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

shape

34

line(x1, y1, x2, y2);

Page 34: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

shape

35

rect(x, y, width, height);

Page 35: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

shape

36

ellipse(x, y, width, height);

ellipseMode(CENTER);

Page 36: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

shape

37

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

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

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

Page 37: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

color

38

- luminance

background(255);

Page 38: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

color

39

-RGB (default)

color c1 = color(r, g, b);

color c2 = #RRGGBB;

Page 39: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

color

40

-RGBA:

-a = alpha / transparency / opacity

-0 = transparent; 255 =opaque (solid)

color c1 = color(r, g, b, a);

Page 40: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

color

41

-color modes

-custom range

-HSB

colorMode(RGB, 100);

colorMode(HSB);

Page 41: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

properties

42

fill(c2);

stroke(c3);

ellipse(...);

noStroke();

fill(c1);

rect(...);

Page 42: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

properties

43

noFill();

noStroke();

ellipse(...);

rect(...);

Page 43: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

-shapes are painted one at a time

-overlap can occur

-some shapes are not supported

order

44

Page 44: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

void setup(){

...

}

void draw(){

...

}

animation

45

runs once

cycles

Page 45: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

text

46

// in setup()

PFont myFont;

myFont = createFont("Georgia", 32);

// in draw()

textFont(myFont);

textAlign(CENTER, CENTER);

text("Hello, World!", width/2, height/2);

Page 46: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

47

programming

Page 47: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

interaction

48

-mouse

void mouseClicked(){

if(mouseButton == LEFT)

fill(0);

else if(mouseButton == RIGHT)

fill(255);

else

fill(126);

}

void mousePressed()

void mouseReleased()

void mouseClicked()

void mouseDragged()

void mouseMoved()

void mouseWheel()

mouseX

mouseY

pmouseX

pmouseY

Page 48: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

interaction

49

-keyboard

void keyTyped(){

if(key == 'b')

fill(0);

else if(key == 'w')

fill(255);

else

fill(126);

}

void keyPressed()

void keyReleased()

void keyTyped()

keyPressed

key

keyCode

Page 49: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

structure

50

-comments, variables, arrays, loops

-ArrayList (also FloatList, IntList, StringList)

-HashMap (dict: also FloatDict, IntDict, StringDict)

-Table, XML, JSON

Page 50: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

object-oriented

51

-with classes

class oAnimal{

boolean brain;

int legs;

oAnimal(){

brain = true;

legs = 0;

}

}

Page 51: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

folder structure

52

-folder [NAME] & [NAME].pde must match

-optional data folder (for images, input)

Page 52: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

modes

53

-Java (default), JavaScript, Android, etc.

Page 53: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

libraries

54

Page 54: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

documentation

55

-available online

-also in the PDE

-http://processing.org/reference/

Page 55: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

exporting

56

-creating applications is simple

Page 56: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

examples

57

-variety of samples

Page 57: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

58

assignment

Page 58: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

instructions

59

-download Processing

-download time series project

-follow along in chapter

Page 59: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

lab

60

-no lecture on Thurs.

-bring in laptops or email if you will be in a lab

-work on time series assignment; ask questions

Page 60: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6

L8. Tasks

REQUIRED READING

61

Page 61: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6
Page 62: INTRO TO PROCESSINGmiriah/teaching/cs6630/lectures/L07-processing.pdf-Jacques Bertin. categorical 13-color is great for categorical quantities! distinguishability 14-only good at 6