Program Structure. setup() draw() Data directory. Statements end in semi- colon Comments start with //

Size: px
Start display at page:

Download "Program Structure. setup() draw() Data directory. Statements end in semi- colon Comments start with //"

Transcription

1 Processing Overview h/p:// Build sketches Use the sketch pad editor Java- based - can use eclipse, java libraries, etc For ideas, examples h/p://openprocessing.com

2 Program Structure setup() draw() Data directory Useful for handling images, data files Can add a file through the sketch menu part of program export. No absolute paths. Statements end in semi- colon Comments start with //

3 Coordinates

4 Coordinates

5 Useful FuncMons ONen used in setup() size() background() stroke() fill() size(int width, int height) aner size() call in setup can reference width and height as special values through program. a good way to approximate the center of a processing sketch example: ellipse(width/2, height/2, 20, 20);

6 stroke() Examples A Black brush or pen stroke(0); A white pen stroke(255); A white pen broken into RGB format stroke(255,255,255); An orange pen stroke(255,128,0); Hex web format stroke(#ff8000); Use of alpha transparency stroke(255,128,0,128);

7 Color - Grayscale black (0) white (255) 8 bit (1 byte) representamon for grayscale 24 bit for RGB representamon 32 bit for RGBA representamon 255 possibilimes background(162) What is the color? fill(255); rect(); How about? fill(255,0,0)? fill(255,255,255)? fill(5) fill(5,5,5);

8 Color - Intro AddiMve vs. SubtracMve colors color on a screen vs. color on canvas all colors on a screen produces white (255) all colors on a canvas produces blackish brown

9 Color Selector Tool

10 fill(255); rect(30, 50, 55, 50); fill(255, 128, 0); rect(30, 100, 55, 50); fill(0, 0, 255, 128); rect(30, 150, 55, 50); fill() examples

11 background() Lots of opmons most common rgb value is an int for the color value alpha is an opmonal float value which sets opacity background(rgb, <,alpha>) a float that specifies a value between white and black background(gray <,alpha>) Broken out into separate RGB values + opmonal alpha background(r, g, b <, alpha>) PImage to set as background background(pimage <, alpha>)

12 Program Layout <global declaramons> void setup() { size(500, 500); background(128); //grayish somewhere between black and white fill(255); //fill shapes with white stroke(0); //black pen } void draw() { line(50, 50, 100, 100); rect(100, 100, 20, 20); }

13 Programming Modes Basic StaMc images, no looping Just type comments into sketch pad ConMnuous Program redraws screen at given frame rate Uses setup and draw methods recommended Java Advanced mode Extend PApplet

14 Rendering Modes Java 2D (default) what we will use in this class high- quality vector graphics at expense of some performance P2D great for simpler graphics with fast pixel operamons P3D (might use this if we get to 3D) meant for simpler 3D graphics with emphasis on performance OpenGL high quality 3D renderer that makes use of opengl PDF output.pdf must be added as a library to your sketch can write directly to PDF P2D and P3D are great for pixel based work with an emphasis on performance. Each renderer is a li/le different and some funcmons do not behave similarly or map properly. Rendering mode can be set with: size(width, height, renderer)

15 ConMnuous Mode noloop() Stops conmnual loop. draw() executes once. loop() Causes draw to execute conmnuously redraw() Invokes draw() once.

16 boolean byte char color double float int long Common Processing Types

17 Array will talk about later ArrayList HashMap Object String XMLElement PImage Types (Composite)

18 ArrayList Stores a variable number of objects Similar to an array, but much easier to add and remove items Is resized dynamically size() how many items in the list add() remove() get()

19 Custom Class (example) class Person { String name; int age; public Person(String name, int age) { this.name = name; this.age = age; } public String tostring() { return I am + name + and I am + age + years old ; } } //class

20 Classes conmnued Can also make use of inheritance with implements (for interfaces) and extends (for subclassing) class Student extends Person { String major; //constructor public Student(String name, int age, String major) { super(name, age); this.major = major; }

21 Basic Shapes Point Rectangle rect() Circle/Ellipse - ellipse() Line line() Quadrilateral quad() not constrained by 90 degree angles triangle triangle(x1, y1, x2, y2, x3, y3)

22 Basic Shapes Example void setup() { background(255); size(300, 300); stroke(0); fill(0); } void draw() { strokeweight(2); rect(width/2, height/2, 20, 20); ellipse(width/2 + 40, height/2 + 40, 20, 20); line(width/2-40, height/2,width/2-30, height/2+20); triangle(width/2, height/2-40, width/2-10, height/2-10, width/2+10, height/2-10); strokeweight(5); point(width/2-20, height/2); }

23 Point Point (x,y); Point (x,y,z); Used for 3D rendering mode strokeweight() to set thickness

24 Lines 2D line(x1, y1, x2, y2) 3D line(x1, y1, z1, x2, y2, z2) Example: line (1,1,3,3);

25 Rectangle The first two parameters set the locamon of the upper- len corner rect(x, y, width, height) width int or float: width of the rectangle height int or float: height of the rectangle Example: line(1,1,2,2);

26 Ellipse ellipse(a, b, c, d) a float: x- coordinate of the ellipse b float: y- coordinate of the ellipse c float: width of the ellipse D float: height of the ellipse float: height of the ellipse by default ellipsemode() Radius, Center, Corner, Corners

27 EllipseModes RADIUS First two parameters determine the center, the last two params determine the width and height from the center. Ellipse where width and height are equal is a circle and becomes a radius. CENTER Width and height params determine CORNER First two params are upper len corner and then width and height CORNERS defines a bounding box upper len and lower right

28 Ellipse Example Radius mode, ellipse(2,2,1,1)

29 Handling Mouse Events mousex mousey mouseclicked() mousedragged() mousepressed() mousereleased() mousemoved() keypressed()

30 Mouse & Key Events mousepressed() event fires when the mouse is pressed also a boolean that indicates whether the mouse was pressed mousereleased() event fires when mouse is released mousebu/on The LEFT or RIGHT bu/ons (Which mouse bu/on was clicked) Example: (mousebu/on == LEFT) keypressed key the key that was selected system variable that stores the key that was pressed (key == b ) mousex The mouse coordinate for X mousey mouse coordinate for Y

31 KeyPressed Example // Click on the window to give it focus, // and then press any key. int value = 0; void draw() { } fill(value); rect(25, 25, 50, 50); void keypressed() { } if (value == 0) { } value = 255; else { value = 0; }

32 Images An image is a series of numbers represenmng levels of red, green, and blue on a grid of pixels. Each pixel has an x and Y posimon

33 PImage Basic datatype for storing images in processing Processing uses.gif,.jpg,.tga, and.png use loadimage(filename); Pimage class members: width and height array of pixels, pixels[] use loadpixels() to use pixel array funcmons To create an image, createimage() background(pimage);

34 Advanced Image Handling There are Mmes when you need to work directly with the pixels loadpixels() called prior to accessing the pixels updatepixels() called aner you have finished accessing the pixel array loadpixels(); for (int i = 0; i < pixels.length; i++) { color c = pixels[i]; <do some stuff> } updatepixels();

35 Image AnnotaMon Example

36 File I/O - basics loadstrings(string filename); for data, text files if in the data folder, do not need a complete path loadbytes(filename); for binary files selectinput() returns file path brings up a file chooser savestrings(filename, String[] lines) for wrimng a text file to disk

37 Strings An array of characters (under- the- hood) Luckily, we have a type char mystring[] = { h, e, l, l, o } (a pain) String mystring = Hello ; (much easier) Useful for File IO and many other applicamons split() Breaks string into tokens with delimiters trim() Remove whitespace from the end of a string loadstrings() Load a file, line by line returns a String[]

38 Strings conmnued equals() and the == operator String a1 = new String( hi ); String a2 = new String( hi ); What does (a1 == a2) evaluate to? How about: (a1.equals(s2)) Why?

39 I/O Example String lines[] = loadstrings("sampledata.txt"); println("there are " + lines.length + " lines"); for (int i=0; i < lines.length; i++) { //println(lines[i]); String[] columns = split(lines[i], ','); for (int k=0; k<columns.length; k++) { print(columns[k].trim() +, ); } }

40 Arrays - basic A fundamental type to store a list of values zero- based in processing first element is referenced with index [0] To define an array type[] var To inimalize new type[count] (int[] arr = new int[3];) a series: {a,b,c n} (int[] arr = {1,5,8}; ) To assign a value at an index var[index] = value (arr[0] = 1;) Use length a/ribute to get size of array int i = arr.length;

41 Array- example void setup() { size(200, 200); stroke(0); background(255); strokeweight(10); } void draw() { int[] values = new int[4]; values[0] = 10; values[1] = 20; values[2] = 30; values[3] = 40; for (int i=0; i<values.length; i++) { point(values[i], values[i]); } }

42 Two- Dimensional Arrays data onen lives in two dimensions. Think spreadsheet with columns and rows A two- dimensional array is an array of arrays int[] arr = {10, 20, 30, 40}; OR int[][] arr ={ {10, 20, 30}, {40}}; To loop: int[][] values = { {10, 20, 30}, {40} }; for (int i=0; i<values.length; i++) { for (int k=0; k<values[i].length; k++) point(values[i][k], values[i][k]); }

43 Two- dimensional Array Greyscale Exercise How to generate this with this array? int[][] arr = { {230, 75, 189}, {236, 80, 80}, {20, 255, 80}, {0, 150, 155} };

44 ArrayList Stores a variable number of objects Similar to an array, but much easier to add and remove items Is resized dynamically size() how many items in the list add() remove() get()

45 Hashmap A collecmon type that stores objects referenced by a key. SomeMmes referred to as an associamve array, or dicmonary A Java type described here h/p://docs.oracle.com/javase/1.4.2/docs/api/java/uml/ HashMap.html HashMap mymap = new HashMap(iniMalCapacity, loadfactor); OR HashMap mymap = new HashMap(); inimalcapacity is default # of buckets. (default = 16) loadfactor sets the point when the capacity is doubled (default =.75) Requires use of Iterators to loop

46 Math & Stat Data mapping is an important operamon in processing. Common in situamons where you want to map a value to a corresponding locamon on the screen. map() will transform a value from one range to another map(float value, float low, float high, float newlow, float newhigh) Example float value = 25; float v = map(value, 0, 100, 0, 200); println(v); //prints out 50.0

47 Math &Stat II Normalize a set of values to a standard range The norm() will normalize a value between 0 and 1 norm(float value, float low, float high) Example float value = 10; float v = norm(value, 0, 50); println(v); // Prints "0.2

48 Math & Stat III InterpolaMon, momon, do/ed- lines The lerp() funcmon is used for calculamng a number in a range at a given increment. lerp(float low, float high, float increment) increment is between 0 and 1 map, norm, and lerp are closely related norm = map(val, low, high, 0,1) map = lerp(start, end, norm(val, low, high))

49 Lerp example void setup() { size(200, 200); stroke(0); noloop(); } void draw() { int x1 = 15; int y1 = 10; int x2 = 80; int y2 = 90; line(x1, y1, x2, y2); for (int i = 0; i <= 10; i++) { float x = lerp(x1, x2, i/10.0) + 10; float y = lerp(y1, y2, i/10.0); point(x, y); } }

50 RGB Color Cube

51 Color HSB & RGB RGB is for Red- Green- Blue spectrum.

52 HSB Hue the actual color SaturaMon purity of color Brightness 0 is black 255 is washed out white

53 Color InterpolaMon lerpcolor interpolamon between a range similar to lerp, but returns a color lerpcolor(start_color, end_color, increment) start and end color is the range to interpolate between increment is the amount or degree of interpolamon lerpcolor(start, end, increment, HGB RGB); can also select between HGB and RGB

54 HSB vs. RGB HSB breaks components into visual RGB is preferred when there are significant changes in hue starmng at red and interpolamng to green (thru blue) will move through all colors in the spectrum However, RGB moving between orange to blue would first go thru gray which is not always desired

55 Map example

56 Display the map PImage mapimage; void setup() { size(640,400); //store map mapimage = loadimage("map.png"); } void draw() { smooth(); fill(190,0,0); nostroke(); } //display map background(mapimage);

57 Loading Data Table class Let s add a class to handle loading data in the format of: state- abbreviamon </tab> value Classes in processing can be stored in the.pde extension and included in sketch Takes a filename and parses it into String[][] We will make extensive use of this class type in this demonstramon Add Table.pde into sketch

58 Data Items locamons.tsv (.tsv is tab- seperated values) random.tsv (use as changes in populamon) populamon.tsv Will load each of these into a Table object

59 Loading LocaMon Data Table locamontable; int rowcount; setup() { //make a data table from a file that contains the coordinates of each state locamontable = new Table("locaMons.tsv"); rowcount = locamontable.getrowcount(); } draw() { for (int row = 0; row < rowcount; row++) { String abbrev = locamontable.getrowname(row); float x = locamontable.getfloat(row, 1); float y = locamontable.getfloat(row, 2); ellipse(x,y,9,9); } }

60 PopulaMon and Random Changes Let s add a few more data files PopulaMon.tsv and random.tsv In declaramons Table datatable, populamontable; In setup() loadrandomchangesdatatable(); loadpopulamondatatable();

61 Get the High and Lows In DeclaraMon //for capturing ranges float datamin = MAX_FLOAT; float datamax = MIN_FLOAT; float dataminpop = MAX_FLOAT; float datamaxpop = MIN_FLOAT;

62 Loading Random Changes Data void loadrandomchangesdatatable() { datatable = new Table("random.tsv"); for (int row = 0; row<datatable.getrowcount(); row++) { float value = datatable.getfloat(row, 1); } if (value > datamax) { datamax = value; } else if (value < datamin) { datamin = value; } println("data min is " +datamin + " and data max is " + datamax); }

63 Loading PopulaMon Data void loadpopulamondatatable() { populamontable = new Table("populaMon.tsv"); for (int row = 0; row<populamontable.getrowcount(); row++) { float value = populamontable.getfloat(row, 1); } if (value > datamaxpop) { datamaxpop = value; } else if (value < dataminpop) { dataminpop = value; } println("populamon min is " +datamin + " and populamon max is " + datamax); }

64 Visualize Random Changes Replace call to ellipse in draw method with: for (int row = 0; row < rowcount; row++) { String abbrev = locamontable.getrowname(row); float x = locamontable.getfloat(row, 1); float y = locamontable.getfloat(row, 2); //ellipse(x,y,9,9); drawellipsebysize(x, y, abbrev); }

65 Review map() map() will transform a value from one range to another map(float value, float low, float high, float newlow, float newhigh) Example float value = 25; float v = map(value, 0, 100, 0, 200); println(v); //prints out 50.0

66 Draw Ellipse By Size We will use the Random Changes data to establish the size of the ellipse //draw thje ellipse based on the size in //the random changes data table public void drawellipsebysize(float x, float y, String abbrev) { float value = datatable.getfloat(abbrev,1); float mapped_value = map(value, datamin, datamax, 2, 40); fill(128); //grey ellipse(x, y, mapped_value, mapped_value); }

67 Let s add some color We will use the populamon table to visualize larger state size Let s draw the ellipse by both size and color Size of ellipse - > changes in random stats Color of ellipse - > size of the state relamve to other states

68 draw() - size and color void drawellipsesizeandcolor(float x, float y, String abbrev) { float value = datatable.getfloat(abbrev,1); float mapped_value = map(value, datamin, datamax, 2, 40); color between = getcolor(abbrev); fill(between); ellipse(x, y, mapped_value, mapped_value); }

69 Color InterpolaMon lerpcolor interpolamon between a range similar to lerp, but returns a color lerpcolor(start_color, end_color, increment) start and end color is the range to interpolate between increment is the amount or degree of interpolamon lerpcolor(start, end, increment, HGB RGB); can also select between HGB and RGB

70 HSB vs. RGB HSB breaks components into visual RGB is preferred when there are significant changes in hue starmng at red and interpolamng to green (thru blue) will move through all colors in the spectrum However, RGB moving between orange to blue would first go thru gray which is not always desired

71 RGB Color Cube

72 HSB Hue the actual color SaturaMon purity of color Brightness 0 is black 255 is washed out white

73 draw size & color cont. color getcolor(string abbrev) { float value = populamontable.getfloat(abbrev,1); float percent = norm(value, dataminpop, datamaxpop); color between = lerpcolor(#fc082c, #0F26F0, percent); // between = lerpcolor(#fc082c, #0F26F0, percent, HSB); return between; }

74 Use Color Selector

75 Mouse Over Effects Good way to show interacmon Let s display informamon to the user while hovering on a state capital Will need to display some text And capture mouse locamons! Let s create a method in draw to do this checkmouserollover()

76 Adding Text to Sketches PFont() datatype to store a font loadfont() loads the font- type must be in the data folder Use the Create Font menu item

77 Adding Fonts to your Sketch The Create Font tool Font added to data folder in sketch must select size

78 Adding Text Pfont font = loadfont( Universe- bold- 12.vlw ); textfont(font); //write text starmng from x,y text( blah blah, 50, 50); //define bounding box for text text( blah blah, 50, 50, 200, 200); Universe- bold must be in data folder fonts end with.vlw extension

79 CheckMouseRollOver() void checkmouserollover(float x, float y, float value, String abbrev) { float radius = 0; if (value >= 0 ) { radius = map(value, 0, datamax, 1.5, 15); } else { radius = map(value, 0, datamin, 1.5, 15); } } if (dist(x, y, mousex, mousey) < radius+2) { fill(0); textalign(center); //show data value and state in parenthesis text(value + "(" + abbrev + ")", x, y- radius- 4); }

80 A few more items..complex forms For drawing more complex shapes where basic ellipses, rects, etc. do not suffice, consider the following: 1. beginshape() and endshape() 2. vertex 3. Arcs 4. Curves 5. Bezier curves, Bezier VerMces

81 Processing.js To render processing sketches to the web, two approaches 1. Java Applets (going away) 2. Javascript (universally browser compamble) Go to h/p://processingjs.org Uses the Canvas object as a drawing surface Example <script src= processing min.js ></script> <canvas data- processing- source= mysketch.pde ></canvas>

82 Thank- you Any quesmons please me at: Terry (will do my best to help if I can!)

1 Getting started with Processing

1 Getting started with Processing cisc3665, fall 2011, lab I.1 / prof sklar. 1 Getting started with Processing Processing is a sketch programming tool designed for use by non-technical people (e.g., artists, designers, musicians). For

More information

Watch the following for more announcements

Watch the following for more announcements Review "plain text file" loadstrings() split() splittokens() selectinput() println(), float(), int(), can take an array argument, will return an array easy way to convert an array of Strings to an array

More information

void mouseclicked() { // Called when the mouse is pressed and released // at the same mouse position }

void mouseclicked() { // Called when the mouse is pressed and released // at the same mouse position } Review Commenting your code Random numbers and printing messages mousex, mousey void setup() & void draw() framerate(), loop(), noloop() Arcs, curves, bézier curves, beginshape/endshape Example Sketches

More information

+ Inheritance. Sometimes we need to create new more specialized types that are similar to types we have already created.

+ Inheritance. Sometimes we need to create new more specialized types that are similar to types we have already created. + Inheritance + Inheritance Classes that we design in Java can be used to model some concept in our program. For example: Pokemon a = new Pokemon(); Pokemon b = new Pokemon() Sometimes we need to create

More information

Using Methods. Methods that handle events. Mairead Meagher Dr. Siobhán Drohan. Produced by: Department of Computing and Mathematics

Using Methods. Methods that handle events. Mairead Meagher Dr. Siobhán Drohan. Produced by: Department of Computing and Mathematics Using Methods Methods that handle events Produced by: Mairead Meagher Dr. Siobhán Drohan Department of Computing and Mathematics http://www.wit.ie/ Caveat The term function is used in Processing e.g. line(),

More information

Getting Started in Java CIS 110

Getting Started in Java CIS 110 Getting Started in Java CIS 110 2 Your First Program Program name 3 Your First Program The 4 li es aside fro the System.out li e are o sidered the Scaffolding of the program. Section 1.1 4 Your First Program

More information

Introduction to Processing. Sally Kong

Introduction to Processing. Sally Kong Introduction to Processing Sally Kong - Open Source Platform - Geared toward creating visual, interactive media - Created by Ben Fry and Casey Reas Basic Setup void setup() { size(800, 600); background(255);

More information

CISC 1600, Lab 2.2: Interactivity in Processing

CISC 1600, Lab 2.2: Interactivity in Processing CISC 1600, Lab 2.2: Interactivity in Processing Prof Michael Mandel 1 Getting set up For this lab, we will again be using Sketchpad, a site for building processing sketches online using processing.js.

More information

Exploring Processing

Exploring Processing Exploring Processing What is Processing? Easy-to-use programming environment Let s you edit, run, save, share all in one application Designed to support interactive, visual applications Something we ve

More information

Interaction Design A.A. 2017/2018

Interaction Design A.A. 2017/2018 Corso di Laurea Magistrale in Design, Comunicazione Visiva e Multimediale - Sapienza Università di Roma Interaction Design A.A. 2017/2018 7 Conditionals in Processing Francesco Leotta, Andrea Marrella

More information

Processing & Arduino in Tandem. Creating Your Own Digital Art Tools

Processing & Arduino in Tandem. Creating Your Own Digital Art Tools Processing & Arduino in Tandem Creating Your Own Digital Art Tools Week 2 - Making your own drawing tool Using Processing to build a basic application Segment 1 - A Basic Drawing Program Change window

More information

CISC 1600, Lab 3.2: Interactivity in Processing

CISC 1600, Lab 3.2: Interactivity in Processing CISC 1600, Lab 3.2: Interactivity in Processing Prof Michael Mandel 1 Getting set up For this lab, we will be using OpenProcessing, a site for building processing sketches online using processing.js. 1.1.

More information

CISC 1600 Lecture 3.1 Introduction to Processing

CISC 1600 Lecture 3.1 Introduction to Processing CISC 1600 Lecture 3.1 Introduction to Processing Topics: Example sketches Drawing functions in Processing Colors in Processing General Processing syntax Processing is for sketching Designed to allow artists

More information

mith College Computer Science CSC103 How Computers Work Week 7 Fall 2017 Dominique Thiébaut

mith College Computer Science CSC103 How Computers Work Week 7 Fall 2017 Dominique Thiébaut mith College Computer Science CSC103 How Computers Work Week 7 Fall 2017 Dominique Thiébaut dthiebaut@smith.edu Important Review Does the animation leave a trace? Are the moving objects move without a

More information

2D Shapes. Creative Coding & Generative Art in Processing 2 Ira Greenberg, Dianna Xu, Deepak Kumar

2D Shapes. Creative Coding & Generative Art in Processing 2 Ira Greenberg, Dianna Xu, Deepak Kumar 2D Shapes Creative Coding & Generative Art in Processing 2 Ira Greenberg, Dianna Xu, Deepak Kumar Did you do this? Read Chapter 2 (pages 33-50) Read and do the Coordinate Systems & Shapes and Color tutorials

More information

Kimberly Nguyen Professor Oliehoek Introduction to Programming 8 September 2013

Kimberly Nguyen Professor Oliehoek Introduction to Programming 8 September 2013 1. A first program // Create 200x200 canvas // Print favorite quote size(200, 200); println("it is what it is"); // Draw rectangle and a line rect(100,100,50,50); line(0,0,50,50); // Save as.pde. Can be

More information

The Processing language. Arduino and Processing.

The Processing language. Arduino and Processing. IAT267 Introduc/on to Technological Systems Lecture 8 The Processing language. Arduino and Processing. 1 Course Project All teams submibed very interes/ng proposals One requirement for the project is to

More information

Variables and Control Structures. CS 110 Eric Eaton

Variables and Control Structures. CS 110 Eric Eaton Variables and Control Structures CS 110 Eric Eaton Review Random numbers mousex, mousey setup() & draw() framerate(), loop(), noloop() Mouse and Keyboard interaccon Arcs, curves, bézier curves, custom

More information

INTRODUCTION TO PROCESSING. Alark Joshi, Amit Jain, Jyh-haw Yeh and Tim Andersen

INTRODUCTION TO PROCESSING. Alark Joshi, Amit Jain, Jyh-haw Yeh and Tim Andersen INTRODUCTION TO PROCESSING Alark Joshi, Amit Jain, Jyh-haw Yeh and Tim Andersen What is Processing? Processing is a programming language designed to make programming easier Developers were frustrated with

More information

01/42. Lecture notes. Processing Basics

01/42. Lecture notes. Processing Basics 01/42 Type in Motion For typography to move, the program must run continuously, and therefore it requires a draw() function. Using typography within draw() requires three steps. First, a PFont variable

More information

CS110 Introduction to Computing Fall 2016 Practice Exam 1 -- Solutions

CS110 Introduction to Computing Fall 2016 Practice Exam 1 -- Solutions CS110 Introduction to Computing Fall 2016 Practice Exam 1 -- Solutions The exam will be closed-note and closed-book; please consider this fact before using your notes on this practice version. Please see

More information

Basic Computer Programming (Processing)

Basic Computer Programming (Processing) Contents 1. Basic Concepts (Page 2) 2. Processing (Page 2) 3. Statements and Comments (Page 6) 4. Variables (Page 7) 5. Setup and Draw (Page 8) 6. Data Types (Page 9) 7. Mouse Function (Page 10) 8. Keyboard

More information

An Introduction to Processing

An Introduction to Processing An Introduction to Processing Creating static drawings Produced by: Mairead Meagher Dr. Siobhán Drohan Department of Computing and Mathematics http://www.wit.ie/ Topics list Coordinate System in Computing.

More information

CISC 1600, Lab 2.1: Processing

CISC 1600, Lab 2.1: Processing CISC 1600, Lab 2.1: Processing Prof Michael Mandel 1 Getting set up For this lab, we will be using Sketchpad, a site for building processing sketches online using processing.js. 1.1. Go to http://cisc1600.sketchpad.cc

More information

We will start our journey into Processing with creating static images using commands available in Processing:

We will start our journey into Processing with creating static images using commands available in Processing: Processing Notes Chapter 1: Starting Out We will start our journey into Processing with creating static images using commands available in Processing: rect( ) line ( ) ellipse() triangle() NOTE: to find

More information

University of Cincinnati. P5.JS: Getting Started. p5.js

University of Cincinnati. P5.JS: Getting Started. p5.js p5.js P5.JS: Getting Started Matthew Wizinsky University of Cincinnati School of Design HTML + CSS + P5.js File Handling & Management Environment Canvas Coordinates Syntax Drawing Variables Mouse Position

More information

CISC 1600, Lab 3.1: Processing

CISC 1600, Lab 3.1: Processing CISC 1600, Lab 3.1: Processing Prof Michael Mandel 1 Getting set up For this lab, we will be using OpenProcessing, a site for building processing sketches online using processing.js. 1.1. Go to https://www.openprocessing.org/class/57767/

More information

CS110 Introduction to Computing Fall 2016 Practice Exam 1

CS110 Introduction to Computing Fall 2016 Practice Exam 1 CS110 Introduction to Computing Fall 2016 Practice Exam 1 The exam will be closed-note and closed-book; please consider this fact before using your notes on this practice version. Please see the abbreviated

More information

Class #1. introduction, functions, variables, conditionals

Class #1. introduction, functions, variables, conditionals Class #1 introduction, functions, variables, conditionals what is processing hello world tour of the grounds functions,expressions, statements console/debugging drawing data types and variables decisions

More information

Interaction Design A.A. 2017/2018

Interaction Design A.A. 2017/2018 Corso di Laurea Magistrale in Design, Comunicazione Visiva e Multimediale - Sapienza Università di Roma Interaction Design A.A. 2017/2018 5 Basics of Processing Francesco Leotta, Andrea Marrella Last update

More information

Getting Started with Processing2

Getting Started with Processing2 Chapter 2 CHAPTER 2 Getting Started with Processing2 The Processing project began in the spring of 2001 and was first used at a workshop in Japan that August. Originally built as a domain-specific extension

More information

Class Notes CN19 Class PImage Page

Class Notes CN19 Class PImage Page 1 Images and the Graphics Window Prior to beginning the work with different parts of the libraries, we spent time with classes. One reason for that was to provide some background when we started this part

More information

Practice Written Examination, Fall 2016 Roger B. Dannenberg, instructor

Practice Written Examination, Fall 2016 Roger B. Dannenberg, instructor 15-104 Practice Written Examination, Fall 2016 Roger B. Dannenberg, instructor Possibly useful function signatures (italics mean an expression goes here ): createcanvas(w, h); width height key background(r,

More information

Loops. Variable Scope Remapping Nested Loops. Donald Judd. CS Loops 1. CS Loops 2

Loops. Variable Scope Remapping Nested Loops. Donald Judd. CS Loops 1. CS Loops 2 Loops Variable Scope Remapping Nested Loops CS105 05 Loops 1 Donald Judd CS105 05 Loops 2 judd while (expression) { statements CS105 05 Loops 3 Four Loop Questions 1. What do I want to repeat? - a rect

More information

EXAMINATIONS 2017 TRIMESTER 2

EXAMINATIONS 2017 TRIMESTER 2 EXAMINATIONS 2017 TRIMESTER 2 CGRA 151 INTRODUCTION TO COMPUTER GRAPHICS Time Allowed: TWO HOURS CLOSED BOOK Permitted materials: Silent non-programmable calculators or silent programmable calculators

More information

mith College Computer Science CSC103 How Computers Work Week 6 Fall 2017 Dominique Thiébaut

mith College Computer Science CSC103 How Computers Work Week 6 Fall 2017 Dominique Thiébaut mith College Computer Science CSC103 How Computers Work Week 6 Fall 2017 Dominique Thiébaut dthiebaut@smith.edu Ben Fry on Processing... http://www.youtube.com/watch?&v=z-g-cwdnudu An Example Mouse 2D

More information

1 Getting started with Processing

1 Getting started with Processing cis3.5, spring 2009, lab II.1 / prof sklar. 1 Getting started with Processing Processing is a sketch programming tool designed for use by non-technical people (e.g., artists, designers, musicians). For

More information

Khan Academy JavaScript Study Guide

Khan Academy JavaScript Study Guide Khan Academy JavaScript Study Guide Contents 1. Canvas graphics commands with processing.js 2. Coloring 3. Variables data types, assignments, increments 4. Animation with draw loop 5. Math expressions

More information

Design Programming DECO2011

Design Programming DECO2011 Design Programming DECO2011 Rob Saunders web: http://www.arch.usyd.edu.au/~rob e-mail: rob@arch.usyd.edu.au office: Room 274, Wilkinson Building Data, Variables and Flow Control What is a Variable? Computers

More information

EXAMINATIONS 2016 TRIMESTER 2

EXAMINATIONS 2016 TRIMESTER 2 EXAMINATIONS 2016 TRIMESTER 2 CGRA 151 INTRODUCTION TO COMPUTER GRAPHICS Time Allowed: TWO HOURS CLOSED BOOK Permitted materials: Silent non-programmable calculators or silent programmable calculators

More information

Introduction to Processing

Introduction to Processing Processing Introduction to Processing Processing is a programming environment that makes writing programs easier. It contains libraries and functions that make interacting with the program simple. The

More information

1. Complete these exercises to practice creating user functions in small sketches.

1. Complete these exercises to practice creating user functions in small sketches. Lab 6 Due: Fri, Nov 4, 9 AM Consult the Standard Lab Instructions on LEARN for explanations of Lab Days ( D1, D2, D3 ), the Processing Language and IDE, and Saving and Submitting. Rules: Do not use the

More information

A B C D CS105 03a Interaction

A B C D CS105 03a Interaction Interaction Function Definition Events Built-in Variables CS105 03a Interaction 1 Which image is drawn by this code? strokeweight(10); stroke(0, 255, 0); // green line(99, 0, 0, 99); stroke(200, 0, 200);

More information

Functions. Functions. nofill(); point(20, 30); float angle = map(i, 0, 10, -2, 2); parameters return values

Functions. Functions. nofill(); point(20, 30); float angle = map(i, 0, 10, -2, 2); parameters return values Functions parameters return values 06 Functions 1 Functions Code that is packaged so it can be run by name Often has parameters to change how the function works (but not always) Often performs some computation

More information

Variables. location where in memory is the information stored type what sort of information is stored in that memory

Variables. location where in memory is the information stored type what sort of information is stored in that memory Variables Processing, like many programming languages, uses variables to store information Variables are stored in computer memory with certain attributes location where in memory is the information stored

More information

What can we do with Processing? Let s check. Natural Language and Dialogue Systems Lab Guest Image. Remember how colors work.

What can we do with Processing? Let s check. Natural Language and Dialogue Systems Lab Guest Image. Remember how colors work. MIDTERM REVIEW: THURSDAY I KNOW WHAT I WANT TO REVIEW. BUT ALSO I WOULD LIKE YOU TO TELL ME WHAT YOU MOST NEED TO GO OVER FOR MIDTERM. BY EMAIL AFTER TODAY S CLASS. What can we do with Processing? Let

More information

Lecture 6: Processing

Lecture 6: Processing stanford hci group / cs377s Designing Applications that See Lecture 6: Processing Dan Maynes-Aminzade 24 January 2008 Designing Applications that See http://cs377s.stanford.edu Reminders Assignment t#

More information

Pick a number. Conditionals. Boolean Logic Relational Expressions Logical Operators Numerical Representation Binary. CS Conditionals 1

Pick a number. Conditionals. Boolean Logic Relational Expressions Logical Operators Numerical Representation Binary. CS Conditionals 1 Conditionals Boolean Logic Relational Expressions Logical Operators Numerical Representation Binary CS105 04 Conditionals 1 Pick a number CS105 04 Conditionals 2 Boolean Expressions An expression that

More information

The way I feel about music is that there is no right and wrong. Only true and false. Fiona Apple. true false false

The way I feel about music is that there is no right and wrong. Only true and false. Fiona Apple. true false false 5 Conditionals Conditionals 59 That language is an instrument of human reason, and not merely a medium for the expression of thought, is a truth generally admitted. George Boole The way I feel about music

More information

THE JAVASCRIPT ARTIST 15/10/2016

THE JAVASCRIPT ARTIST 15/10/2016 THE JAVASCRIPT ARTIST 15/10/2016 Objectives Learn how to program with JavaScript in a fun way! Understand the basic blocks of what makes a program. Make you confident to explore more complex features of

More information

Computer Graphics. Interaction

Computer Graphics. Interaction Computer Graphics Interaction Jordi Linares i Pellicer Escola Politècnica Superior d Alcoi Dep. de Sistemes Informàtics i Computació jlinares@dsic.upv.es http://www.dsic.upv.es/~jlinares processing allows

More information

IMAGE PROCESSING OVERVIEW

IMAGE PROCESSING OVERVIEW IMAGE PROCESSING OVERVIEW During this section of the workshop, participants will have an opportunity to learn the fundamentals of image processing. The concepts explored in this section have familiar applications

More information

CISC 1600 Lecture 2.2 Interactivity&animation in Processing

CISC 1600 Lecture 2.2 Interactivity&animation in Processing CISC 1600 Lecture 2.2 Interactivity&animation in Processing Topics: Interactivity: keyboard and mouse variables Interactivity: keyboard and mouse listeners Animation: vector graphics Animation: bitmap

More information

CMPT-166: Sample Midterm

CMPT-166: Sample Midterm CMPT 166, Fall 2016, Surrey Sample Midterm 1 Page 1 of 11 CMPT-166: Sample Midterm Last name exactly as it appears on your student card First name exactly as it appears on your student card Student Number

More information

CSE120 Wi18 Final Review

CSE120 Wi18 Final Review CSE120 Wi18 Final Review Practice Question Solutions 1. True or false? Looping is necessary for complex programs. Briefly explain. False. Many loops can be explicitly written out as individual statements

More information

Processing Presentation by Ben Leduc-Mills

Processing  Presentation by Ben Leduc-Mills Processing http://processing.org Presentation by Ben Leduc-Mills Processing: History Processing is a free, open-source Java-based framework as well as an Integrated Development Environment (IDE). It was

More information

if / if else statements

if / if else statements if / if else statements December 1 2 3 4 5 Go over if notes and samples 8 9 10 11 12 Conditionals Quiz Conditionals TEST 15 16 17 18 19 1 7:30 8:21 2 8:27 9:18 3 9:24 10:14 1 CLASS 7:30 8:18 1 FINAL 8:24

More information

Solution Notes. COMP 151: Terms Test

Solution Notes. COMP 151: Terms Test Family Name:.............................. Other Names:............................. ID Number:............................... Signature.................................. Solution Notes COMP 151: Terms

More information

Lab Lab 4 : Pretty, Pretty Pretty, Pretty Pictures Picture Joshua Cuneo

Lab Lab 4 : Pretty, Pretty Pretty, Pretty Pictures Picture Joshua Cuneo Computation as an Expressive Medium Lab 4: Pretty, Pretty Pictures Joshua Cuneo For today ¼ Checkpoint Building Blocks Assignment 2 Images + More Images Accessing Pixels 2D Arrays Project 2 Checkpoint

More information

CISC 1600 Lecture 2.2 Interactivity&animation in Processing

CISC 1600 Lecture 2.2 Interactivity&animation in Processing CISC 1600 Lecture 2.2 Interactivity&animation in Processing Topics: Interactivity: keyboard and mouse variables Interactivity: keyboard and mouse listeners Animation: vector graphics Animation: bitmap

More information

CS7026 CSS3. CSS3 Graphics Effects

CS7026 CSS3. CSS3 Graphics Effects CS7026 CSS3 CSS3 Graphics Effects What You ll Learn We ll create the appearance of speech bubbles without using any images, just these pieces of pure CSS: The word-wrap property to contain overflowing

More information

c.def (pronounced SEE-def) Language Reference Manual

c.def (pronounced SEE-def) Language Reference Manual c.def (pronounced SEE-def) Macromedia Flash TM animation language Language Reference Manual Dennis Rakhamimov (dr524@columbia.edu), Group Leader Eric Poirier (edp29@columbia.edu) Charles Catanach (cnc26@columbia.edu)

More information

(Inter)Ac*ve Scripts. Sta*c Program Structure 1/26/15. Crea+ve Coding & Genera+ve Art in Processing 2 Ira Greenberg, Dianna Xu, Deepak Kumar

(Inter)Ac*ve Scripts. Sta*c Program Structure 1/26/15. Crea+ve Coding & Genera+ve Art in Processing 2 Ira Greenberg, Dianna Xu, Deepak Kumar (Inter)Ac*ve Scripts Crea+ve Coding & Genera+ve Art in Processing 2 Ira Greenberg, Dianna Xu, Deepak Kumar Slides revised by Michael Goldwasser Sta*c Program Structure // Create and set canvas size(width,

More information

Visual Programming with Processing.js

Visual Programming with Processing.js Visual Programming with Processing.js About This Reference This write-up was written to help explain what the code does not. While it includes all the code and resource links, a document is not a good

More information

LCC 6310 The Computer as an Expressive Medium. Lecture 1

LCC 6310 The Computer as an Expressive Medium. Lecture 1 LCC 6310 The Computer as an Expressive Medium Lecture 1 Overview Go over the syllabus Brief introduction to me and my work Art, programming and Java Signup sheet Syllabus If you re not listed, please add

More information

Old 257 Exam #2s for Practice

Old 257 Exam #2s for Practice Old Exam #2s 257/757 Exploring Programming with Graphics Page 1 Old 257 Exam #2s for Practice Exams will be taken on Thursday March 27 in the cluster. You will have the entire class time to do the exam.

More information

Miscellaneous Stuff That Might Be Important.

Miscellaneous Stuff That Might Be Important. 1 Miscellaneous Stuff That Might Be Important. Variable mousepressed VS function mousepressed( ) For much of the work in this class, it is usually safer to use the function form of mousepressed( ) instead

More information

[ the academy_of_code] Senior Beginners

[ the academy_of_code] Senior Beginners [ the academy_of_code] Senior Beginners 1 Drawing Circles First step open Processing Open Processing by clicking on the Processing icon (that s the white P on the blue background your teacher will tell

More information

float[][] myfloats = new float[10][20]; All elements of a 2D array can be accessed using nested loops

float[][] myfloats = new float[10][20]; All elements of a 2D array can be accessed using nested loops Review We can declare an array of any type, even other arrays A 2D array is an array of arrays float[][] myfloats = new float[10][20]; All elements of a 2D array can be accessed using nested loops for

More information

for(int i = 0; i < numbers.length; i++) {

for(int i = 0; i < numbers.length; i++) { Computation as an Expressive Medium Lab 3: Shapes, Rockets, Mice, Cookies and Random Stuff Joshua Cuneo Agenda Time Project 1 Array Loops, PImage, Fonts Drawing polygons Trigonometry review random() Methods

More information

The Processing Programming Environment. By: Richard Baldwin

The Processing Programming Environment. By: Richard Baldwin The Processing Programming Environment By: Richard Baldwin The Processing Programming Environment By: Richard Baldwin Online: < http://cnx.org/content/col11492/1.5/ > C O N N E X I O N S Rice University,

More information

Interaction Design A.A. 2017/2018

Interaction Design A.A. 2017/2018 Corso di Laurea Magistrale in Design, Comunicazione Visiva e Multimediale - Sapienza Università di Roma Interaction Design A.A. 2017/2018 8 Loops and Arrays in Processing Francesco Leotta, Andrea Marrella

More information

Processing. Data Visualization Programming Language. By Rutvi Joshi. Processing Visualization Language- By Rutvi Joshi

Processing. Data Visualization Programming Language. By Rutvi Joshi. Processing Visualization Language- By Rutvi Joshi Processing Data Visualization Programming Language What is Processing? A Graphical Sketch Book and Environment, to graphically teach the fundamentals of computer science But it has evolved into a tool

More information

GIMP WEB 2.0 ICONS. GIMP is all about IT (Images and Text) OPEN GIMP

GIMP WEB 2.0 ICONS. GIMP is all about IT (Images and Text) OPEN GIMP GIMP WEB 2.0 ICONS Web 2.0 Banners: Download E-Book WEB 2.0 ICONS: DOWNLOAD E-BOOK OPEN GIMP GIMP is all about IT (Images and Text) Step 1: To begin a new GIMP project, from the Menu Bar, select File New.

More information

Final Exam Winter 2013

Final Exam Winter 2013 Final Exam Winter 2013 1. Which modification to the following program makes it so that the display shows just a single circle at the location of the mouse. The circle should move to follow the mouse but

More information

Basic Input and Output

Basic Input and Output Basic Input and Output CSE 120 Spring 2017 Instructor: Justin Hsia Teaching Assistants: Anupam Gupta, Braydon Hall, Eugene Oh, Savanna Yee Administrivia Assignments: Animal Functions due today (4/12) Reading

More information

Basic Input and Output

Basic Input and Output Basic Input and Output CSE 120 Winter 2019 Instructor: Teaching Assistants: Justin Hsia Ann Shan, Eunia Lee, Pei Lee Yap, Sam Wolfson, Travis McGaha Facebook to integrate WhatsApp, Instagram and Messenger

More information

Sten-SLATE ESP. Graphical Interface

Sten-SLATE ESP. Graphical Interface Sten-SLATE ESP Graphical Interface Stensat Group LLC, Copyright 2016 1 References www.arduino.cc http://esp8266.github.io/arduino/versions/2.1.0/doc/reference.html 2 Graphical Interface In this section,

More information

GIMP WEB 2.0 ICONS. Web 2.0 Icons: Circle Completed Project. Notice that the default new layer background fill is transparency. Click the Ok button.

GIMP WEB 2.0 ICONS. Web 2.0 Icons: Circle Completed Project. Notice that the default new layer background fill is transparency. Click the Ok button. GIMP WEB 2.0 ICONS WEB 2.0 ICONS: CIRCLE ICON OPEN GIMP or Web 2.0 Icons: Circle Completed Project Step 1: To begin a new GIMP project, from the Menu Bar, select File New. At the Create a New Image dialog

More information

Graphics with Processing

Graphics with Processing Grahics with Processig 2018-05 htt://vilab.org 5.1 begishae( ) POINTS, LINES, TRIANGLES, TRIANGLE_FAN, TRIANGLE_STRIP, QUADS, QUAD_STRIP edshae() edshae(close): vertex(x, y) curvevertex(x, y) beziervertex(x1,

More information

Repetition is the reality and the seriousness of life. Soren Kierkegaard

Repetition is the reality and the seriousness of life. Soren Kierkegaard 6 Loops Loops 81 Repetition is the reality and the seriousness of life. Soren Kierkegaard What s the key to comedy? Repetition. What s the key to comedy? Repetition. Anonymous In this chapter: The concept

More information

AGENDA. :: Homework Upload. :: Photoshop Lesson 4: Creating a PSD Wireframe [Homepage] I. DOCUMENT SET-UP: II. DRAWING SHAPES III.

AGENDA. :: Homework Upload. :: Photoshop Lesson 4: Creating a PSD Wireframe [Homepage] I. DOCUMENT SET-UP: II. DRAWING SHAPES III. CLASS :: 04 MULTIMEDIA TOOLS :: CLASS NOTES 10.02 2017 AGENDA :: Homework Upload [ A-2 ] Ultimate Composite! Upload A-2 Project to Student PSD Folder :: Photoshop Lesson 4: Creating a PSD Wireframe [Homepage]

More information

The Processing language

The Processing language The Processing language Developed by Ben Fry and Casey Reas at MIT in 2001 Related to the languages Logo and Java Free, open-source software processing.org contains many programming resources www.openprocessing.org

More information

:: MULTIMEDIA TOOLS :: CLASS NOTES

:: MULTIMEDIA TOOLS :: CLASS NOTES CLASS :: 04 02.15 2017 AGENDA :: Homework Upload [ A-2 ] Ultimate Composite! Upload A-2 Project to Student PSD Folder :: Photoshop Lesson 4: Creating a PSD Wireframe [Homepage] I. DOCUMENT SET-UP: a. Dimensions

More information

Using Methods. More on writing methods. Dr. Siobhán Drohan Mairead Meagher. Produced by: Department of Computing and Mathematics

Using Methods. More on writing methods. Dr. Siobhán Drohan Mairead Meagher. Produced by: Department of Computing and Mathematics Using Methods More on writing methods Produced by: Dr. Siobhán Drohan Mairead Meagher Department of Computing and Mathematics http://www.wit.ie/ Topics list Method example: Eyes Method example: X s Overloading

More information

Recall that creating or declaring a variable can be done as follows:

Recall that creating or declaring a variable can be done as follows: Lesson 2: & Conditionals Recall that creating or declaring a variable can be done as follows:! float radius = 20;! int counter = 5;! string name = Mr. Nickel ;! boolean ispressed = true;! char grade =

More information

Real Time Data Plotting

Real Time Data Plotting Real Time Data Plotting Introduction This lesson will show how to write a program plot data on a X-Y graph. On the Arduino, write a program to sample a sensor and print the voltage to the Serial interface.

More information

Topics for section today. Homework 10 functions for loops and loading fonts

Topics for section today. Homework 10 functions for loops and loading fonts Topics for section today Homework 10 functions for loops and loading fonts Assignment 10 Sudoku Board Draw the Sudoku board in Processing using for-loops and functions Assignment 10 Sudoku Board Draw the

More information

Processing Assignment Write- Ups

Processing Assignment Write- Ups Processing Assignment Write- Ups Exercise 1-1 Processing is not an elaborate series of points like connect the dots or is it? Can t be cause I got it all wrong when I mapped out each and every point that

More information

CS 101 Functions. Lecture 15

CS 101 Functions. Lecture 15 CS 101 Functions Lecture 15 1 Key Processing language features so-far Basic color/shapes drawing Variables For-loops If-statements 2 Functions In the next few days, we ll be talking about Functions A Function

More information

If you have been using CorelDRAW, you may have turned off this opening screen. If so, skip to step 5.

If you have been using CorelDRAW, you may have turned off this opening screen. If so, skip to step 5. Opening CorelDRAW If you have been using CorelDRAW, you may have turned off this opening screen. If so, skip to step 5. 1. When CorelDRAW is loaded, a new section is created on the Start Menu. To open

More information

Basic Input and Output

Basic Input and Output Basic Input and Output CSE 120 Winter 2018 Instructor: Teaching Assistants: Justin Hsia Anupam Gupta, Cheng Ni, Eugene Oh, Sam Wolfson, Sophie Tian, Teagan Horkan How the Facebook algorithm update will

More information

To specify the dimensions of the drawing canvas use the size statement: ! size( 300, 400 );

To specify the dimensions of the drawing canvas use the size statement: ! size( 300, 400 ); Study Guide We have examined three main topics: drawing static pictures, drawing simple moving pictures, and manipulating images. The Final Exam will be concerned with each of these three topics. Each

More information

Variables One More (but not the last) Time with feeling

Variables One More (but not the last) Time with feeling 1 One More (but not the last) Time with feeling All variables have the following in common: a name a type ( int, float, ) a value an owner We can describe variables in terms of: who owns them ( Processing

More information

CMSC427 Interac/ve programs in Processing: Polyline editor

CMSC427 Interac/ve programs in Processing: Polyline editor CMSC427 Interac/ve programs in Processing: Polyline editor Interactive programming Example: PaperSnowFlake hbp://rectangleworld.com/papersnowflake/ Big ideas today Event driven programming Object list

More information

Introduction To Inkscape Creating Custom Graphics For Websites, Displays & Lessons

Introduction To Inkscape Creating Custom Graphics For Websites, Displays & Lessons Introduction To Inkscape Creating Custom Graphics For Websites, Displays & Lessons The Inkscape Program Inkscape is a free, but very powerful vector graphics program. Available for all computer formats

More information

GRAPHICS PROGRAMMING. LAB #3 Starting a Simple Vector Animation

GRAPHICS PROGRAMMING. LAB #3 Starting a Simple Vector Animation GRAPHICS PROGRAMMING LAB #3 Starting a Simple Vector Animation Introduction: In previous classes we have talked about the difference between vector and bitmap images and vector and bitmap animations. In

More information

Numbers Basics Website:

Numbers Basics Website: Website: http://etc.usf.edu/te/ Numbers is Apple's new spreadsheet application. It is installed as part of the iwork suite, which also includes the word processing program Pages and the presentation program

More information

Drawing a Circle. 78 Chapter 5. geometry.pyde. def setup(): size(600,600) def draw(): ellipse(200,100,20,20) Listing 5-1: Drawing a circle

Drawing a Circle. 78 Chapter 5. geometry.pyde. def setup(): size(600,600) def draw(): ellipse(200,100,20,20) Listing 5-1: Drawing a circle 5 Transforming Shapes with Geometry In the teahouse one day Nasrudin announced he was selling his house. When the other patrons asked him to describe it, he brought out a brick. It s just a collection

More information

Basic Input and Output

Basic Input and Output Basic Input and Output CSE 120 Spring 2017 Instructor: Justin Hsia Teaching Assistants: Anupam Gupta, Braydon Hall, Eugene Oh, Savanna Yee How airlines like United choose who to kick off a flight On Sunday

More information