LCC 6310 Computation as an Expressive Medium

Slides:



Advertisements
Similar presentations
Variables Conditionals Boolean Expressions Conditional Statements How a program produces different results based on varying circumstances if, else if,
Advertisements

Game with US Beginner Tutorial. Welcome!! Who I am What is Processing? Basic Coding Input Methods Images Classes Arrays.
Emerging Platform#5: Processing 2 B. Ramamurthy 6/13/2014B. Ramamurthy, CS6511.
 Variables  What are they?  Declaring and initializing variables  Common uses for variables  Variables you get “for free” in Processing ▪ Aka: Built-in.
IAT 334 Lab 2 Computer Graphics: Rocket, PImage. June 4, 2010IAT 3342 Outline  Programming concepts –Programming Computer Graphics –Transformations –Methods.
IAT 334 Java using Processing ______________________________________________________________________________________ SCHOOL OF INTERACTIVE ARTS + TECHNOLOGY.
IAT 800 Foundations of Computational Art and Design Lecture 2.
IAT 800 Lab 1: Loops, Animation, and Simple User Interaction.
ICM Week 2. Structure - statements and blocks of code Any single statement ends with semicolon ; When we want to bunch a few statements together we use.
Lecture 3 IAT 800. Sept 15, Fall 2006IAT 8002 Suggestions on learning to program  Spend a lot of time fiddling around with code –Programming is something.
PROCESSING Animation. Objectives Be able to create Processing animations Be able to create interactive Processing programs.
What is RobotC?!?! Team 2425 Hydra. Overview What is RobotC What is RobotC used for What you need to program a robot How a robot program works Framework.
Review Blocks of code {.. A bunch of ‘statements’; } Structured programming Learning Processing: Slides by Don Smith 1.
Programming for Artists ART 315 Dr. J. R. Parker Art/Digital Media Lab Lec 10 Fall 2010.
Continuous February 16, Test Review What expression represents the zip car eligibility rules of at least 18 years old and no incidents?
Keyboard and Events. What about the keyboard? Keyboard inputs can be used in many ways---not just for text The boolean variable keyPressed is true if.
Processing Lecture.2 Mouse and Keyboard
______________________________________________________________________________________ SCHOOL OF INTERACTIVE ARTS + TECHNOLOGY [SIAT] |
B. RAMAMURTHY Simulating Motion and Implementing Animation.
CIS 3.5 Lecture 2.2 More programming with "Processing"
Lesson Two: Everything You Need to Know
Variables Art &Technology, 3rd Semester Aalborg University Programming David Meredith
Mouse Inputs in Processing. Interacting with the Mouse mouseX and mouseY: pg mouseXmouseY –The position of the mouse in the canvas pmouseX and.
Lesson Two: Everything You Need to Know
LCC 6310 Computation as an Expressive Medium Lecture 2.
Variables and Functions Alice. Naming is Important If you get a new pet one of the first things you do is name it Gives you a way to refer to the new.
Repetition 8/9/2009. Learning to Program -- Suggestions Spend a lot of time fiddling around with code –Programming is something you have to learn by doing.
______________________________________________________________________________________ SCHOOL OF INTERACTIVE ARTS + TECHNOLOGY [SIAT] |
Computer Science I Recap: variables & functions. Images. Pseudo-random processing.
Computer Science I Looping. User input. Classwork/Homework: Incorporate looping & user input into a sketch.
G RAPHICS & I NTERACTIVE P ROGRAMMING Lecture 2 More Programming with Processing.
Continuous. Flow of Control Programs can broadly be classified as being –Procedural Programs are executed once in the order specified by the code varied.
Review Expressions and operators Iteration – while-loop – for-loop.
Test Review. General Info. All tests will be comprehensive. You will be tested more on your understanding of code as opposed to your ability to write.
Welcome to Processing Who does not have access to digital camera?
Review Random numbers mouseX, mouseY setup() & draw() frameRate(), loop(), noLoop() Mouse and Keyboard interaction Arcs, curves, bézier curves, custom.
Variables. Something to mention… void setup(){ size(200, 200); background(255); smooth(); } void draw() { stroke(0); strokeWeight(abs(mouseX-pmouseX));
Loops. About the Midterm Exam.. Exam on March 12 Monday (tentatively) Review on March 5.
CS 134 Alternate Inputs.
David Meredith Aalborg University
Basic Input and Output CSE 120 Spring 2017
Classwork: Examine and enhance falling drop(s) or make your own.
Loops BIS1523 – Lecture 10.
LCC 6310 Computation as an Expressive Medium
Lesson Two: Everything You Need to Know
Chapter 7 Functions.
Computation as an Expressive Medium
Basic Input and Output CSE 120 Winter 2018
Chapter 7 Functions.
Chapter 10 Algorithms.
Mouse Inputs in Processing
Chapter 5, Conditionals Brief Notes
Chapter 10 Algorithms.
More programming with "Processing"
Design and Implementation
Arduino Part #3 Variables
IAT 265 Lecture 2: Java Loops, Arrays Processing setup, draw, mouse Shapes Transformations, Push/Pop.
Functions Alice.
Basic Input and Output CSE 120 Winter 2019
Variables & Datatypes CSE 120 Winter 2019
Loops & Nested Loops CSE 120 Winter 2019
Chapter 10 Algorithms.
IAT 800 Foundations of Computational Art and Design
Continuous & Random September 21, 2009.
LCC 6310 Computation as an Expressive Medium
LCC 6310 Computation as an Expressive Medium
Functions Alice.
Lec 17 Using Nested Loops and Objects in an Applet Class
Functions Alice.
Functions Alice.
Presentation transcript:

LCC 6310 Computation as an Expressive Medium Lecture 3

Suggestions on learning to program Spend a lot of time fiddling around with code Programming is something you have to learn by trying it Get help from other people I expect those who already know some programming to help others Figure things out in groups Ask me questions in class

Outline Programming concepts Built-in Processing methods you fill in Loops Reading the time Arrays Questions about assignment 1

setup() setup() is called once when a sketch first starts executing Place any startup code in setup(), eg. Setting the size Setting the background color Initializing variables …

draw() draw() is called continuously by the program Put code in draw() when you need to constantly update the display (for example, animating an object)

Example of setup() and draw() int x; int y; void setup() { size(400, 400); background(0); x = 0; y = height/2; } void draw() { ellipse(x, y, 20, 20); x = x + 1; if (x > width)

Controlling draw() framerate() can be used to set the number of times per second that draw() is called framerate(30) says to call draw() 30 times a second (if the computer is capable of it) delay() delays execution for a certain number of milliseconds delay(250) delays for 250 milliseconds (1/4 of a sec.) You can use delay() or framerate() to determine how fast you want draw() to be called – framerate() is probably easier noloop() tells the system to stop calling draw() If you want to, for example, turn off animation loop() tells the system to start calling draw() again Use noloop() and loop() together to turn drawing on and off

Getting info from the mouse mouseX and mouseY – variables that automagically contain the current mouse location pmouseX and pmouseY hold the previous location mousePressed – boolean variable that is true if the mouse button is down mouseButton – value is LEFT, RIGHT or CENTER depending on which button is held down

Mouse methods There are several built-in methods you can fill in to process mouse events mousePressed(), mouseReleased(), mouseMoved(), mouseDragged() Let's look at examples

Loops Sometimes you want to execute code multiple times E.g. draw() is being called in a loop Java provides a number of looping mechanisms They all test some boolean expression (just like an if statement does) and continue to execute code while the expression is true

while loops while(<boolean exp.>) { <code to execute multiple times> } Executes code while the boolean expression is true

for loops for(<init. statement>; <boolean exp>; <final statement>) { <code to execute in loop> } First executes the initialization statement Then tests the boolean expression – if it's true, executes the code once Then repeats the following: execute final statement, test boolean exp., execute code if true

Converting for to while Seeing how for loops can be converted to while loops helps you understand for for(<init. statement>; <boolean exp.>; <final statement>) { <code> } is the same as <init. statement> while(<boolean exp.>) { <final statement>

Reading time int hour() – returns the hour (0 – 23) int minute() – returns the minutes (0 – 59) int second() – returns the seconds (0 – 59) int day() – returns the day of the month (1 -31) int month() – returns the month (1 – 12) int year() – returns the four digit year (e.g. 2004) float milliseconds() – returns number of millis since start of app

draw() has nothing to do with time The value returned by second (or milliseconds()) has nothing to do with how often draw() is called In draw() you draw frames – you don’t know how often it will be called Put a println in loop to see how often it gets called long lastTimeLoopWasCalled = 0; void draw() { long milliseconds = millis(); println(milliseconds - lastTimeLoopWasCalled); lastTimeLoopWasCalled = milliseconds; }

Effect of creating an int variable Code Effect Name: anInt, Type: int // Single int int anInt; // Put a value in the int anInt = 3; // Type error! anInt = “hello”; Name: anInt, Type: int 3 Name: anInt, Type: int “hello” Can’t shove “hello” into an int

Effect of creating an array of ints Code Effect Name: intArray, Type: int[] // declare byte array int[] intArray; // initialize byte array intArray = new int[5]; // set first element intArray[0] = 3; // set third element intArray[2] = 5; 1 2 3 4 each element has type int 1 2 3 4 3 1 2 3 4 3 5

Practice reading code If code is a medium, then it can be both written and read Reading code reveals New programming constructs Strategies and techniques (design patterns) Style Philosophical assumptions (deep reading) Let’s figure out the Motion  BrownianMotion example together

New constructs Array declaration and reference Math operations and functions Type casting