CS 101 Media (Images, Video, etc) Lecture 20

Size: px
Start display at page:

Download "CS 101 Media (Images, Video, etc) Lecture 20"

Transcription

1 CS 101 Media (Images, Video, etc) Lecture 20 1

2 Images Though we ve displayed many shapes and colors to the screen, we have yet to display an actual image! Processing has a special type called PImage, for storing image files in the computer s memory Additional functions loadimage and image for loading and displaying 2

3 Images First step: create a PImage variable PImage img; 3

4 Images First step: create a PImage variable Next, load the image from the file into the computer memory that your program is using PImage img; void setup() { img = loadimage("something.jpg"); 4

5 Images First step: create a PImage variable Next, load the image from the file into the computer memory that your program is using We put this in setup PImage img; void setup() { img = loadimage("something.jpg"); 5

6 Images First step: create a PImage variable Next, load the image from the file into the computer memory that your program is using We put this in setup Then, display it! PImage img; void setup() { img = loadimage("something.jpg"); void draw() { image(img, 0, 0, width, height); 6

7 Images First step: create a PImage variable Next, load the image from the file into the computer memory that your program is using We put this in setup Then, display it! Make sure something.jpg is in same directory as the code file PImage img; void setup() { img = loadimage("something.jpg"); void draw() { image(img, 0, 0, width, height); 7

8 Images loadimage() Takes one argument, the name of the file to load Must use an = to tell it which variable to save the loaded image to image() Takes five arguments: A PImage variable, x- and y-coordinates, width, and height (just like rect) Can use any numeric values for these four, just like with shapes! 8

9 What will it do? ICA PImage img; something.jpg is: void setup() { size(560, 300); img = loadimage("something.jpg"); int k = 0; void draw() { for (int i = 10; i < 550; i+= 110) { image(img, i, k, 100, 100); k += 2; 9

10 What will it do? ICA 10

11 Create a sketch that does this: ICA 11

12 Create a sketch that does this: ICA 12

13 Image formats Processing can display multiple types of formats jpg, png, and others Some image formats support transparent pixels (see-through) and some do not Can use images with some parts transparent so that the image doesn t always just look boxy 13

14 Image formats Processing can display multiple types of formats jpg, png, and others Some image formats support transparent pixels (see-through) and some do not Can use images with some parts transparent so that the image doesn t always just look boxy 14

15 Using png images ICA Go to the lectures page Download the solution for section_10_2 Open up section_10_2 Modify the drawtree function to draw a PNG tree image 15

16 Images The PImage variable type is a kind of Object Also, String We are not going to learn much about Objects in this class - save that for 110! 16

17 Images The PImage variable type is a kind of Object Also, String We are not going to learn much about Objects in this class - save that for 110! Let s revisit the section 10: Use actual images of a tree, bush, and bird 17

18 Video In processing, we can also display video feeds For example, webcam! In order to do so, we need to import a library of code A library of code is a set of code that contains additional code, often specifying additional functions and types that can be used in your program 18

19 Importing libraries All of the features we ve been using so far are built-in to Processing There are some features that are add-ons Need to be downloaded and then imported into the program to use 19

20 Importing libraries All of the features we ve been using so far are built-in to Processing There are some features that are add-ons Need to be downloaded and then imported into the program to use 20

21 Importing libraries Each library has a particular name The video library is named processing.video To import in our program put the following at the top: import processing.video.*; 21

22 The Capture type The processing video libraries has the custom type Capture Capture is use to store a connection to a feed that can repeatedly capture images, as the name suggests This is typically a video feed (webcam, external cam, security cam, etc) Once we connect to the webcam, can repeatedly request the current video frame, and display it! 22

23 Video Capture First step: create a Capture variable Capture cam; 23

24 Video Capture First step: create a Capture variable Then, initialize the camera by getting a connection to the webcam Capture cam; void setup() { size(640, 480); framerate(24); cam = getwebcamifavailable(); 24

25 Video Capture First step: create a Capture variable Then, initialize the camera by getting a connection to the webcam Draw will repeat at 24fps If the next video frame is available, read it and then display it with the image() function! Capture cam; void setup() { size(640, 480); framerate(24); cam = getwebcamifavailable(); void draw() { if (cam.available()) { cam.read(); image(cam, 0, 0, width, height); 25

26 Video Capture First step: create a Capture variable Then, initialize the camera by getting a connection to the webcam Draw will repeat at 24fps If the next video frame is available, read it and then display it with the image() function! What is this getwebcamifavailable() function? Capture cam; void setup() { size(640, 480); framerate(24); cam = getwebcamifavailable(); void draw() { if (cam.available()) { cam.read(); image(cam, 0, 0, width, height); 26

27 /** * If a camera is available, will return the related Capture object. * If not, this function will exit the program. */ Capture getwebcamifavailable() { Capture cam = null; String[] cameras = Capture.list(); if (cameras.length == 0) { println("there are no cameras available for capture."); exit(); else { println("available cameras:"); for (int i = 0; i < cameras.length; i++) { println(cameras[i]); // The camera can be initialized directly using an // element from the array returned by list(): cam = new Capture(this, cameras[0]); cam.start(); return cam; 27

28 /** * If a camera is available, will return the related Capture object. * If not, this function will exit the program. */ Capture getwebcamifavailable() { Capture cam = null; String[] cameras = Capture.list(); if (cameras.length == 0) { println("there are no cameras available for capture."); exit(); else { println("available cameras:"); for (int i = 0; i < cameras.length; i++) { println(cameras[i]); // The camera can be initialized directly using an // element from the array returned by list(): cam = new Capture(this, cameras[0]); cam.start(); return cam; Don t worry about memorizing this function! It s provided, because it uses features we have not discussed. 28

29 Video Capture Programs

30 Materials Required Materials GSWP Chapter 7 30

31 Using png images ICA Go to the page for section 10 Download the solutions Open up section_10_6 Modify the the tree, bush, and bird drawing functions to all use PNGs instead of shapes 31

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

CS 106 Winter Lab 03: Input and Output

CS 106 Winter Lab 03: Input and Output CS 106 Winter 2019 Lab 03: Input and Output Due: Wednesday, January 23th, 11:59pm Summary This lab will allow you to practice input and output. Each question is on a separate page. SAVE each sketch as

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

Module 01 Processing Recap. CS 106 Winter 2018

Module 01 Processing Recap. CS 106 Winter 2018 Module 01 Processing Recap CS 106 Winter 2018 Processing is a language a library an environment Variables A variable is a named value. It has a type (which can t change) and a current value (which can

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

Module 01 Processing Recap

Module 01 Processing Recap Module 01 Processing Recap Processing is a language a library an environment Variables A variable is a named value. It has a type (which can t change) and a current value (which can change). Variables

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

+ 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

CS 106 Winter Lab 05: User Interfaces

CS 106 Winter Lab 05: User Interfaces CS 106 Winter 2018 Lab 05: User Interfaces Due: Wednesday, February 6th, 11:59pm This lab will allow you to practice User Interfaces using Direct Manipulation and ControlP5. Each question is on a separate

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

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

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

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

Lecture 7. Processing Development Environment (or PDE)

Lecture 7. Processing Development Environment (or PDE) Lecture 7 Processing Development Environment (or PDE) Processing Class Overview What is Processing? Installation and Intro. Serial Comm. from Arduino to Processing Drawing a dot & controlling position

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

IMAGE & TEXT. Workshop 5

IMAGE & TEXT. Workshop 5 IMAGE & TEXT Workshop 5 RESOURCE Image (.png,.jpg,.svg, etc.) Font (.ttf,.otf, etc.) Audio (.mp3,.wav,.aiff, etc.) Video (.mov,.avi, etc.) Data (.js,.json,.xml, etc.) Why is loading an image, different

More information

Lecture 8: Images. CS 383 Web Development II Monday, February 19, 2018

Lecture 8: Images. CS 383 Web Development II Monday, February 19, 2018 Lecture 8: Images CS 383 Web Development II Monday, February 19, 2018 Images We can dynamically create images in PHP through the GD library o GD originally stood for gif draw o At one point, GIF support

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

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

CS116X Midterm Review Winter 2015

CS116X Midterm Review Winter 2015 CS116X Midterm Review Winter 2015 This review will most likely not cover everything that could possibly be on the exam. The following is intended to help you study but remember that you may be tested on

More information

CST112 Variables Page 1

CST112 Variables Page 1 CST112 Variables Page 1 1 3 4 5 6 7 8 Processing: Variables, Declarations and Types CST112 The Integer Types A whole positive or negative number with no decimal positions May include a sign, e.g. 10, 125,

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

CS 101 Randomness. Lecture 21

CS 101 Randomness. Lecture 21 CS 101 Randomness Lecture 21 1 Randomness In most programming languages (Processing included) there are ways to generate random numbers 2 Randomness In most programming languages (Processing included)

More information

CS 2110 Fall Instructions. 1 Installing the code. Homework 4 Paint Program. 0.1 Grading, Partners, Academic Integrity, Help

CS 2110 Fall Instructions. 1 Installing the code. Homework 4 Paint Program. 0.1 Grading, Partners, Academic Integrity, Help CS 2110 Fall 2012 Homework 4 Paint Program Due: Wednesday, 12 November, 11:59PM In this assignment, you will write parts of a simple paint program. Some of the functionality you will implement is: 1. Freehand

More information

The Camera as a Sensor *

The Camera as a Sensor * OpenStax-CNX module: m43498 1 The Camera as a Sensor * Davide Rocchesso This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 3.0 Abstract Simple yet signicant

More information

Setting Up the Fotosizer Software

Setting Up the Fotosizer Software Setting Up the Fotosizer Software N.B. Fotosizer does not change your original files it just makes copies of them that have been resized and renamed. It is these copies you need to use on your website.

More information

Appendix: Common Errors

Appendix: Common Errors Appendix: Common Errors Appendix 439 This appendix offers a brief overview of common errors that occur in Processing, what those errors mean and why they occur. The language of error messages can often

More information

Processing Transformations. Affine Transformations

Processing Transformations. Affine Transformations Processing Transformations Affine Transformations 1 A house size(200, 200); rect(50, 75, 100, 75); // (left, top, w, h) rect(100, 110, 20, 40); // door rect(70, 110, 15, 15); //window triangle(50, 75,

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

Lab 4. Out: Friday, February 25th, 2005

Lab 4. Out: Friday, February 25th, 2005 CS034 Intro to Systems Programming Doeppner & Van Hentenryck Lab 4 Out: Friday, February 25th, 2005 What you ll learn. In this lab, you ll learn to use function pointers in a variety of applications. You

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

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

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

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

Processing the Danger Shield

Processing the Danger Shield // About Processing: What Processing is: Processing is a Java based programming environment that draws on PostScript and OpenGL for 2-D and 3-D graphics respectively. Processing is a wonderful entry level

More information

CISC 1600, Lab 2.3: Processing animation, objects, and arrays

CISC 1600, Lab 2.3: Processing animation, objects, and arrays CISC 1600, Lab 2.3: Processing animation, objects, and arrays Prof Michael Mandel 1 Getting set up For this lab, we will again be using Sketchpad. sketchpad.cc in your browser and log in. Go to http://cisc1600.

More information

CS 177 Recitation. Week 8 Methods

CS 177 Recitation. Week 8 Methods CS 177 Recitation Week 8 Methods Questions? Announcements Project 3 milestone due next Thursday 10/22 9pm Turn in with: turnin c cs177=xxxx p project3m Project3.java Make sure you turn in to project3m

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

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

Programming Project 1

Programming Project 1 Programming Project 1 Handout 6 CSCI 134: Fall, 2016 Guidelines A programming project is a laboratory that you complete on your own, without the help of others. It is a form of take-home exam. You may

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

[ 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

Perfect Student Midterm Exam March 20, 2007 Student ID: 9999 Exam: 7434 CS-081/Vickery Page 1 of 5

Perfect Student Midterm Exam March 20, 2007 Student ID: 9999 Exam: 7434 CS-081/Vickery Page 1 of 5 Perfect Student Midterm Exam March 20, 2007 Student ID: 9999 Exam: 7434 CS-081/Vickery Page 1 of 5 NOTE: It is my policy to give a failing grade in the course to any student who either gives or receives

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

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

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

Graphics Overview ECE2893. Lecture 19. ECE2893 Graphics Overview Spring / 15

Graphics Overview ECE2893. Lecture 19. ECE2893 Graphics Overview Spring / 15 Graphics Overview ECE2893 Lecture 19 ECE2893 Graphics Overview Spring 2011 1 / 15 Graphical Displays 1 Virtually all modern computers use a full color Graphical Display device. 2 It displays images, text,

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

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

In this lecture we will briefly examine a few new controls, introduce the concept of scope, random numbers, and drawing simple graphics.

In this lecture we will briefly examine a few new controls, introduce the concept of scope, random numbers, and drawing simple graphics. Additional Controls, Scope, Random Numbers, and Graphics CS109 In this lecture we will briefly examine a few new controls, introduce the concept of scope, random numbers, and drawing simple graphics. Combo

More information

Name CMPS 5J Final March 17, 2009 This is a closed notes, closed book exam.

Name CMPS 5J Final March 17, 2009 This is a closed notes, closed book exam. Name CMPS 5J Final March 17, 2009 This is a closed notes, closed book exam. There are 21 problems and 50 points total. The last 5 problems ask you to write short programs or code fragments. There are multiple

More information

CSE P 501 Exam 8/5/04

CSE P 501 Exam 8/5/04 Name There are 7 questions worth a total of 65 points. Please budget your time so you get to all of the questions. Keep your answers brief and to the point. You may refer to the following references: Course

More information

Programs as Models. Procedural Paradigm. Class Methods. CS256 Computer Science I Kevin Sahr, PhD. Lecture 11: Objects

Programs as Models. Procedural Paradigm. Class Methods. CS256 Computer Science I Kevin Sahr, PhD. Lecture 11: Objects CS256 Computer Science I Kevin Sahr, PhD Lecture 11: Objects 1 Programs as Models remember: we write programs to solve realworld problems programs act as models of the real-world problem to be solved one

More information

Viewing and Ray Tracing. CS 4620 Lecture 4

Viewing and Ray Tracing. CS 4620 Lecture 4 Viewing and Ray Tracing CS 4620 Lecture 4 2014 Steve Marschner 1 Projection To render an image of a 3D scene, we project it onto a plane Most common projection type is perspective projection 2014 Steve

More information

CS 455 Midterm Exam 1 Fall 2017 [Bono] Thursday, Sep. 28, 2017

CS 455 Midterm Exam 1 Fall 2017 [Bono] Thursday, Sep. 28, 2017 Name: USC NetID (e.g., ttrojan): CS 455 Midterm Exam 1 Fall 2017 [Bono] Thursday, Sep. 28, 2017 There are 6 problems on the exam, with 55 points total available. There are 10 pages to the exam (5 pages

More information

PixelSurface a dynamic world of pixels for Unity

PixelSurface a dynamic world of pixels for Unity PixelSurface a dynamic world of pixels for Unity Oct 19, 2015 Joe Strout joe@luminaryapps.com Overview PixelSurface is a small class library for Unity that lets you manipulate 2D graphics on the level

More information

CS Problem Solving and Object-Oriented Programming

CS Problem Solving and Object-Oriented Programming CS 101 - Problem Solving and Object-Oriented Programming Lab 5 - Draw a Penguin Due: October 28/29 Pre-lab Preparation Before coming to lab, you are expected to have: Read Bruce chapters 1-3 Introduction

More information

Viewing and Ray Tracing

Viewing and Ray Tracing Viewing and Ray Tracing CS 4620 Lecture 4 2018 Steve Marschner 1 Projection To render an image of a 3D scene, we project it onto a plane Most common projection type is perspective projection 2018 Steve

More information

All program statements you write should be syntactically correct. Partial credit is not guaranteed with incorrect use of syntax.

All program statements you write should be syntactically correct. Partial credit is not guaranteed with incorrect use of syntax. With Solutions in Red CS110 Introduction to Computing Fall 2012 Section 2 Exam 1 This is an open notes exam. Computers are not permitted. Your work on this exam must be your own. Answer all questions in

More information

COP 3530 Assignment 5 Due: 7 th Oct In this problem you will solve the Rat in a maze problem (Lecture 12), using Stacks and Queues.

COP 3530 Assignment 5 Due: 7 th Oct In this problem you will solve the Rat in a maze problem (Lecture 12), using Stacks and Queues. COP 3530 Assignment 5 Due: 7 th Oct 2008 In this problem you will solve the Rat in a maze problem (Lecture 12), using Stacks and Queues. The maze is given as a 2D array, where '0's are squares the rat

More information

HTML Exercise 15 Creating An Engraved Metal Heading For The Text Wrap Page

HTML Exercise 15 Creating An Engraved Metal Heading For The Text Wrap Page HTML Exercise 15 Creating An Engraved Metal Heading For The Text Wrap Page 1. Click Start, point to Programs, point to the Jasc Software folder, and select Paint Shop Pro 7. 2. Maximize the Paint Shop

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

Arrays in C++ Instructor: Andy Abreu

Arrays in C++ Instructor: Andy Abreu Arrays in C++ Instructor: Andy Abreu Reason behind the idea When we are programming, often we have to process a large amount of information. We can do so by creating a lot of variables to keep track of

More information

CS 139 Practice Midterm Questions #2

CS 139 Practice Midterm Questions #2 CS 139 Practice Midterm Questions #2 Spring 2016 Name: 1. Write Java statements to accomplish each of the following. (a) Declares numbers to be an array of int s. (b) Initializes numbers to contain a reference

More information

Problem Solving FLOWCHART. by Noor Azida Binti Sahabudin Faculty of Computer Systems & Software Engineering

Problem Solving FLOWCHART. by Noor Azida Binti Sahabudin Faculty of Computer Systems & Software Engineering Problem Solving FLOWCHART by Noor Azida Binti Sahabudin Faculty of Computer Systems & Software Engineering azida@ump.edu.my OER Problem Solving by Noor Azida Binti Sahabudin work is under licensed Creative

More information

This type of content can be added to any content area (such as Subject Materials) or a Learning Module.

This type of content can be added to any content area (such as Subject Materials) or a Learning Module. 1 Overview A variety of content can be added to your subject site including: Item: Create and style your own text or HTML content File: Add a document (e.g. Word, PDF, ZIP) for students to download Audio:

More information

Flash Ads. Tracking Clicks with Flash Clicks using the ClickTAG

Flash Ads. Tracking Clicks with Flash Clicks using the ClickTAG How-to Guide to Displaying and Tracking Rich-Media/Flash Ads Image advertising varies from standard GIF, JPG, PNG to more interactive ad technologies such as Flash, or rich-media (HTML Ads). Ad Peeps can

More information

- It computes the Standard Deviation by calculating the difference of each channel (R,G,B and A) of a pixel.

- It computes the Standard Deviation by calculating the difference of each channel (R,G,B and A) of a pixel. Standard Deviation: It is common to find comparison of two bitmaps in Image Processing Development. Comparison of two bitmaps means how each pixel of image1 is different from corresponding pixel of image2

More information

Iteration in Programming

Iteration in Programming Iteration in Programming for loops Produced by: Mairead Meagher Dr. Siobhán Drohan Department of Computing and Mathematics http://www.wit.ie/ Topics list There are three types of loop in programming: While

More information

GRAPHICS & INTERACTIVE PROGRAMMING. Lecture 1 Introduction to Processing

GRAPHICS & INTERACTIVE PROGRAMMING. Lecture 1 Introduction to Processing BRIDGES TO COMPUTING General Information: This document was created for use in the "Bridges to Computing" project of Brooklyn College. This work is licensed under the Creative Commons Attribution-ShareAlike

More information

lecture24: Disjoint Sets

lecture24: Disjoint Sets lecture24: Largely based on slides by Cinda Heeren CS 225 UIUC 22nd July, 2013 Announcements mp6 due tonight mp7 out soon! mt3 tomorrow night (7/23) Optional review instead of lab tomorrow Code Challenge

More information

Express Yourself. Writing Your Own Classes

Express Yourself. Writing Your Own Classes Java Programming 1 Lecture 5 Defining Classes Creating your Own Classes Express Yourself Use OpenOffice Writer to create a new document Save the file as LastFirst_ic05 Replace LastFirst with your actual

More information

Simple Java YEAH Hours. Brahm Capoor and Vrinda Vasavada

Simple Java YEAH Hours. Brahm Capoor and Vrinda Vasavada Simple Java YEAH Hours Brahm Capoor and Vrinda Vasavada What are YEAH hours? Held soon after each assignment is released Help you to get an early start on your assignments Future dates TBA Slides will

More information

Print out this PDF double-sided, staple pages in order, and write your answers on these pages neatly.

Print out this PDF double-sided, staple pages in order, and write your answers on these pages neatly. 15-122 : Principles of Imperative Computation, Fall 2015 Written Homework 5 Due: Monday, October 5, 2015 by 6PM Name: Andrew ID: Section: This written homework covers big-o notation, some reasoning about

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

mith College Computer Science Week 10 CSC111 Spring 2015 Dominique Thiébaut

mith College Computer Science Week 10 CSC111 Spring 2015 Dominique Thiébaut mith College Computer Science Week 10 CSC111 Spring 2015 Dominique Thiébaut dthiebaut@smith.edu Next Few Lectures Image Processing with Nested For-Loops Lists can be Used to Solve Many Problems (Chap.

More information

Using Flash Animation Basics

Using Flash Animation Basics Using Flash Contents Using Flash... 1 Animation Basics... 1 Exercise 1. Creating a Symbol... 2 Exercise 2. Working with Layers... 4 Exercise 3. Using the Timeline... 6 Exercise 4. Previewing an animation...

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

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

HAPPY HOLIDAYS PHOTO BORDER

HAPPY HOLIDAYS PHOTO BORDER HAPPY HOLIDAYS PHOTO BORDER In this Photoshop tutorial, we ll learn how to create a simple and fun Happy Holidays winter photo border! Photoshop ships with some great snowflake shapes that we can use in

More information

CSE 401 Final Exam. December 16, 2010

CSE 401 Final Exam. December 16, 2010 CSE 401 Final Exam December 16, 2010 Name You may have one sheet of handwritten notes plus the handwritten notes from the midterm. You may also use information about MiniJava, the compiler, and so forth

More information

CS1103 INTRODUCTION TO MEDIA COMPUTING

CS1103 INTRODUCTION TO MEDIA COMPUTING CS1103 INTRODUCTION TO MEDIA COMPUTING TODAY S TOPICS Functions One last array exercise p5.sound: playing/looping sounds sound on events analyze sound in realtime FUNCTIONS S WHAT ARE THEY? Actually, we

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

Object-oriented programming. and data-structures CS/ENGRD 2110 SUMMER 2018

Object-oriented programming. and data-structures CS/ENGRD 2110 SUMMER 2018 Object-oriented programming 1 and data-structures CS/ENGRD 2110 SUMMER 2018 Lecture 4: OO Principles - Polymorphism http://courses.cs.cornell.edu/cs2110/2018su Lecture 3 Recap 2 Good design principles.

More information

CS 220: Introduction to Parallel Computing. Input/Output. Lecture 7

CS 220: Introduction to Parallel Computing. Input/Output. Lecture 7 CS 220: Introduction to Parallel Computing Input/Output Lecture 7 Input/Output Most useful programs will provide some type of input or output Thus far, we ve prompted the user to enter their input directly

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

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

(0,0) (600, 400) CS109. PictureBox and Timer Controls

(0,0) (600, 400) CS109. PictureBox and Timer Controls CS109 PictureBox and Timer Controls Let s take a little diversion and discuss how to draw some simple graphics. Graphics are not covered in the book, so you ll have to use these notes (or the built-in

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

Connecting Arduino to Processing

Connecting Arduino to Processing Connecting Arduino to Processing Introduction to Processing So, you ve blinked some LEDs with Arduino, and maybe you ve even drawn some pretty pictures with Processing - what s next? At this point you

More information

From the dock at the left, right, top, or bottom of your monitor screen, open the Finder.

From the dock at the left, right, top, or bottom of your monitor screen, open the Finder. GETTING STARTED Composition & Defamiliarization: Using Adobe Illustrator as a Tool Kristen Foster 2010 Drawing and Composition Module OTIS College of Art and Design Trash preferences + Open Illustrator

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

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

Project 5: Computer Architecture

Project 5: Computer Architecture Project 5: Computer Architecture CS 220 Start: Oct. 7; Due: Oct. 15 at 11:55 pm Background In previous projects we ve built the computer s basic processing and storage devices (ALU and RAM, respectively).

More information

Ray tracing idea. Ray Tracing. Ray tracing algorithm. Plane projection in drawing. CS 465 Lecture 3

Ray tracing idea. Ray Tracing. Ray tracing algorithm. Plane projection in drawing. CS 465 Lecture 3 Ray tracing idea Ray Tracing CS 465 Lecture 3 2007 Doug James 1 2007 Doug James 2 Ray tracing algorithm Plane projection in drawing for each pixel { compute viewing ray intersect ray with scene compute

More information

CS 315 Software Design Homework 1 First Sip of Java Due: Sept. 10, 11:30 PM

CS 315 Software Design Homework 1 First Sip of Java Due: Sept. 10, 11:30 PM CS 315 Software Design Homework 1 First Sip of Java Due: Sept. 10, 11:30 PM Objectives The objectives of this assignment are: to get your first experience with Java to become familiar with Eclipse Java

More information

Need to store a list of shapes, each of which could be a circle, rectangle, or triangle

Need to store a list of shapes, each of which could be a circle, rectangle, or triangle CS112-2012S-23 Abstract Classes and Interfaces 1 23-0: Drawing Example Creating a drawing program Allow user to draw triangles, circles, rectanlges, move them around, etc. Need to store a list of shapes,

More information

CS 315 Data Structures Fall Figure 1

CS 315 Data Structures Fall Figure 1 CS 315 Data Structures Fall 2012 Lab # 3 Image synthesis with EasyBMP Due: Sept 18, 2012 (by 23:55 PM) EasyBMP is a simple c++ package created with the following goals: easy inclusion in C++ projects,

More information

The Junior Woodchuck Manuel of Processing Programming for Android Devices

The Junior Woodchuck Manuel of Processing Programming for Android Devices Page1of15 TheJuniorWoodchuck Manuel of ProcessingProgramming for AndroidDevices TheImage JuniorWoodchuckManuelforProcessingProgramming Version1 CopyrightDavidNassarandJimRoberts,December2011,PittsburghPA

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