-
Notifications
You must be signed in to change notification settings - Fork 38
Homework Shiffman Wednesday
- Final project presentations are Wednesday, December 2nd. In class presentations will be approximately 7 minutes each, I will be strict about the time to keep everything fair. We also need 10 minutes at the end to do course evaluations.
- Please post your final project documentation to a web page (blog post is fine) and link next to your name below. This is due Friday, December 18.
- It's up to you to figure out how to best document your project, here are some loose guidelines if you aren't sure what to include.
- Title
- Brief written description
- Visual Documentation: sketch running online, images, video, etc.
- References: links to related projects, code samples, etc.
- Source code (please cite your sources in the code comments)
- This is the arbitrary randomized order, please shuffle your names as you wish.
- If you are presenting outside of room 15, please indicate below.
- Soy -- [blog] (http://www.soyeonchung.net/2015/12/02/icm-final/)
- Dana -- [documentation] (http://www.blondishmoment.com/2015/12/16/icm-final/), [sketch] (http://www.blondishmoment.com/icm/blk%20market%20vending/)
- Emmanuel -- documentation
- Lindsey -- [sketch] (http://www.itp.lindseyfrances.com/TheFort/ReactiveRoom_121715/), [blog] (http://www.itp.lindseyfrances.com/2015/12/19/the-fort/)
- Xiqiao -- documentation
- Zoe -- documentation
- Serena --
- Michelle -- [Documentation] (http://www.techaboom.com/theitpbrain/), [sketch] (http://www.techaboom.com/inQuery_project/)
- BREAK
- Ruta -- [documentation] (http://www.itpruta.com/icm-final-project-documentation/), [sketch] (http://itpruta.com/ICM/1202%20FINAL_ICM/)
- Mathura -- [documentation] (http://mathuramg.com/itp/icm/2015/12/18/icm-11.html), sketch
- Paula -- documentation
- KC -- documentation
- Cristina -- sketch, documentation
- Melanie -- doppelcam
- Sabrina -- documentation
The testing will follow a "speed-dating" format. The class will be divided into two groups and we'll do two rounds. For each round half the students will set up on a laptop in the class room and the other half will "view" or "interact with" or "listen to" your project for ~5-7 minutes. We'll rotate so that all "testers" will try each project and provide feedback.
It's up to you to design your "user testing". It can mean something different for different projects. For a game, it's pretty obvious what to do. For a physical installation or performance or sound piece, this will be more difficult. The "rule" that we will try to adhere to is no explaining of the project until after the user has viewed/interacted.
If you are not sure how to design your testing, e-mail me or come and see me and we'll discuss.
- Dana, Ruta, Emmanuel, Serena, Paula, Mathura, Xiqiao, Sabrina
- KC, Michelle, Cristina, Soy, Lindsey, Zoe, Melanie,
Final projects are a creative idea inspired by the concepts in this class. There is no requirement to use a particular aspect of programming. The idea and your enjoyment and interest in the idea is what counts. Some things to remember.
- Keeping things simple and small in scope is a plus. If your project idea is a big one, consider documenting the larger idea but implementing just a small piece of it.
- Also think about making a final project for a small audience, even one single person like a family member or friend. . . or yourself. This can be a good way to focus your idea and design process. "Generalizing" the idea can come later (or maybe not at all.)
- Final projects can be collaborations with anyone in any class.
- Final projects can be one part of a larger project integrated with Physical Computing or another class.
- Create a blog post documenting your idea for a final project and be prepared to present the idea in class. Your proposal should include the following (though feel free to use this as loose guidelines, you can document your idea however you see fit.)
- Title
- One sentence answering: "What is it?"
- Written description of the idea.
- How did you become interested in this idea?
- What is the audience?
- What questions do you have for the class (conceptual or technical)?
- Visual material (images, videos, hand-drawn sketches etc.) that demonstrate your idea.
- Links to any projects or references that inspired you.
- Links to in progress sketches that demonstrates any part of the idea.
- Questions for the class (conceptual or technical)
- Plan to present your idea in ~2-3 minutes leaving about 5 minutes for discussion.
- Ruta - [Project proposal] (http://www.itpruta.com/icm-final-project-proposal/)
- Soyeon - [Project Proposal] (http://www.soyeonchung.net/2015/11/04/icm-final-project-proposal/)
- Emmanuel- [Project Proposal] (http://www.emmanuelklein.com/?p=220) - [Implement 1] (http://emmanuelklein.com/classes/icm/paintsplater/)
- KC - [Project proposal] (http://kclathrop.com/final-proposal-welcome-all-superheroes/)
- Paula - [Project proposal] (http://www.itp.paulaceballos.com/final-project-proposal-interactive-doodle-telephone-game/)
- Mathura - Project proposal
- Michelle - Project proposal
- Sabrina -Project proposal
- Zoe -
- Xiqiao -[Project Proposal] (http://www.zhouxiqiao.com/?p=190)
- Cristina - [Project Proposal] (http://www.ccannella.com/wp-content/uploads/2015/11/ICMpetmatch.pdf)
- Dana - [Project Proposal] (http://www.blondishmoment.com/2015/11/10/icm8-final-project-proposal/)
- Lindsey - [Project Proposal] (http://www.itp.lindseyfrances.com/Final/ICM%20Final%20Proposal.pdf)
- Melanie - [doppelcam] (http://www.artdelicorp.com/2015/11/12/dopplecam/?preview=true&preview_id=307&preview_nonce=3fef0b609d&post_format=standard)
- Serena - [project proposal] (http://serenaparr.com/itp/2015/11/11/icm-final-project-proposal/)
-
Create a sketch that uses external media (sound or video). Some ideas are:
- Make something responsive to microphone input.
- Create a "photobooth" with augmented snapshots from a camera.
- Create a "painting" system that colors pixels according to camera input.
-
Create a blog post documenting your work. Also include links to other projects that serve as references, inspiration, or deal with similar ideas as your piece.
-
READ AND WATCH (optional):
- Chapter 7 in Getting Started with p5.js.
- Videos to come!
- All sound and video examples
- p5.sound reference
- Video/capture: p5.MediaElement reference
- See Week 8 for links about data.
Questions (example questions)
- Michelle: Is is possible to apply the p5 "filters" to only a limited area of the canvas? Also, how to make an array of loaded sound? Also, is it possible to record microphone sound?
- soy : my uploaded sketches are working fine on my desktop but not with my laptop. what's wrong? you guys see them properly? they are supposed to be in black when you open. also I'd like to have multiple canvases in one browser. for example I want to have two sketch1s and in the middle of them sketch2.
- Dana: How do you cue a song to play at an exact moment? AddCue? p5Delay? Trying to cue up a video and song.
Note that the other half of you will present this week, but you should all complete both assignments, however. Of course you can also present this week if you have a question or something you really want to get feedback on.
- Presenters
- Paula - Halloween, [blog] (http://www.itp.paulaceballos.com/i-see-dead-people/)
- Ruta - sketch, blog
- Lindsey - sketch
- Xiqiao - mosaic
- Sabrina -sketch, [blog post] (http://sabrinaaa.com/2015/10/28/icm_week_8_play_with_sound/);
- Soyeon - sketch 1, sketch 2, blog
- Melanie - First Screen Names click down the buddy names on the list in order first!
- Emmanuel: [sketch] (http://emmanuelklein.com/classes/icm/videodraw/)
- Uploaders
- Michelle - sketch, blog post;
- Mathura - blog, sketch1,sketch2
- Zoe - [sketch] (http://www.zoebachman.net/itp/ICM/Bachman_week8/), [blog post] (http://www.zoebachman.net/itp/?p=296)
- KC - [sketch] (http://kclathrop.com/ICM/lathrop_week9/), [blog] (http://kclathrop.com/here-comes-the-sound-and-video/)
- Cristina - [sketch] (http://www.ccannella.com/pixels2 ) [blog] (http://www.ccannella.com/2015/10/27/icm-video-sound-elements/)
- Dana - [sketch] (http://www.blondishmoment.com/icm/Dana%20V&S_2/), [blog post] (http://www.blondishmoment.com/category/icm/)
- Serena - sketch, [blog post] (http://serenaparr.com/itp/2015/10/28/icm-week-9-tabloid-booth/)
Start thinking about and doing some mini trial runs for a final project. They can be small sketches that form a tiny component of a larger idea. Each student will complete each assignment but only 1/2 will present each week.
-
Create a sketch that uses an external data source. You can present in class using your laptop or put your sketch online. Here are some ideas:
- Track personal data over the course of a few days (exercise, sleep, computer use, eating, etc.). Enter the data manually into a JSON file and visualize the results.
- Count word frequencies in two different text sources (i.e. two different authors, two different newspapers, two different political speeches) and visualize the results.
- Use weather data to affect elements in a sketch
- Gather data from a google spreadsheet and use in a sketch.
-
Create a blog post documenting your work. Also include links to other projects that serve as references, inspiration, or deal with similar ideas as your piece.
-
READ AND WATCH (optional):
- Videos to come!
- Getting Started with p5.js - chapter 12
- Tutorial about data 1
- Tutorial about data 2 - this one comes from the A to Z class and has some materials out of scope of our class.
- Art and the API, Jer Thorp
- The Anxieties of Big Data, Kate Crawford
- ProgrammableWeb
- http://en.wikipedia.org/wiki/List_of_open_APIs
- https://gist.github.com/afeld/4952991
- OpenWeatherMap - http://openweathermap.org/API
- NYTimes - http://developer.nytimes.com/
- The Guardian - http://www.theguardian.com/open-platform
- flickr - https://www.flickr.com/services/api/
- MTA - http://web.mta.info/developers/developer-data-terms.html#data
- Foursquare - https://developer.foursquare.com/
- Sunlight Foundation - http://sunlightfoundation.com/api/
- apievangelist.com/
- Museum APIs list
- Cornell bird data
Questions (example questions)
- questions
- Ruta -- Making words to appear as links: can I do it at the .js file or should do at the html? (and more questions on my blog)
- Dana -- I was playing with .replace - Is there a smart way to circumvent replacing every fragment of a word with another word? For example, if I want to replace he with She, I don't want to end up with 'tShe'
- Zoe -- Confused about how to organize and then call objects within objects in a json file, also how to make it dependent on input value.
- Lindsey -- How do you know which link to put in with websites like mashape.com?
Note that half of you will present this week, the other half next. You should complete both assignments, however, and of course you can present both weeks if you have a question or something you really want to get feedback on. Feel free to switch with each other or e-mail me if you would like to switch.
- Presenters
- Michelle - sketch, blog post;
- Mathura -
- Zoe - [blog post] (http://www.zoebachman.net/itp/?p=285)
- KC - [sketch] (http://kclathrop.com/ICM/_lathrop_week8/)
- Cristina - [sketch] (http://www.ccannella.com/petfinder1020/)
- Dana - [sketch] (http://www.blondishmoment.com/icm/Dana_Does_Data%20HW/), [blog] (http://www.blondishmoment.com/category/icm/)
- Serena - [blog] (http://serenaparr.com/itp/2015/10/21/icm-week-8/)
- Uploaders
- Paula -
- Ruta - sketch, blog
- Lindsey -sketch, blog
- Sabrina -sketch-"age & exercise time"
- Soyeon - sketch-today's weather
- Melanie -
- Emmanuel - sketch-Crime Rates
- Xiqiao - Weather Forecast
-
READ AND WATCH
- Videos to come!
- Chapter 13 in Getting Started with P5.js
- Tutorial: Beyond the Canvas in P5
- p5.js dom reference
- CSS reference
- download all examples
- in class examples
-
DO
- Create a webpage that extends beyond the canvas, using p5.dom. If you're stuck for ideas, you can try going back to the graphical user interface (GUI) elements that we experimented with in week 3, and try recreating that functionality with DOM elements.
Questions (example questions)
- Mathura: Using mousePressed in the button element seems to take more than one input. So, if I wish to toggle a value using it, it doesn't always work. Is there an equivalent to the onClick function in p5 library?
- Paula: I don't quite understand the purpose of the DOM. If I wanted to manage the element within the canvas I would use the js page, and for managing the HTML elements (at a scale) wouldn't I just use the HTML page? Why would we ever want to affect the HTML elements within the js file if not to create a button/slider? @_@
- Ruta: why do I get the impression of water circles under rectangles when the background is in setup? I understand this is the reason but am not sure why. Also, mousePressed still doesn't work, could we check why?
- Paula: Is there a way to lead fonts so that they show while using the DOM elements? It works fine if I use the text() function, but not if I try to style it using the DOM.
- Lindsey: Is there a reason it is more useful to put HTML and CSS elements in the Javascript file than having them in their own individual files? Is there a way to have font from an HTML element put behind an JS element? Can the font style be put together in one style function rather than multiple lines?
- KC: If I'm using strings in an array to display text, is there a way to control the text inside? For example, change the location or size of the text?
- Zoe: One thing I'm not entirely sure about is how to create different styles and formatting with DOM. Is that done within the HTML portion or is that also in the p5.js script? I'm a bit confused as to where certain code elements are supposed to go.
- Paula: My code is lagging terribly. I'm 99% sure it's because of the font and the fact that there's so many text. I tried separating it into more manageable pieces (and moving the whole text to preload) but that doesn't seem to be working. Is there a way to fix this?
- Sabrina: I can't have words printed when the submit button is clicked, I don't know why. Is there a way to fix? And how to refer to fonts in css?
- Dana: How does the capture() work? When I would use the function, 2 videos showed up: one on the canvas and one off the canvas.
- Xiqiao: I am still confused about CSS commands to make my page pretty. There are some bugs when I run the game, shut down automatically or can’t shoot a bullet, why was that happened?
- Serena: Is there a way to use more than one canvas on the HTML page?
- name, links
- Ruta: sketch, [blog post] (http://www.itpruta.com/week7-homework-playing-with-dom/)
- Lindsey: sketch, [blog post] (http://www.itp.lindseyfrances.com/2015/10/14/icm-week-7-dom/)
- Michelle: icm X applications, [Blog Post] (http://www.techaboom.com/dom-getting-html-css-and-javascript-together/)
- Mathura: sketch , Blog
- Zoe: sketch, blog post
- Paula: Fairytale Story, [blog post] (http://www.itp.paulaceballos.com/icm-dom/)
- KC : [sketch] (http://kclathrop.com/ICM/lathrop_week7/), [blog] (http://kclathrop.com/dom-what-are-you/)
- Sabrina : [sketch] (http://sabrinaaa.com/ICM_Week_7/), [blog] (http://sabrinaaa.com/wp-admin/post.php?post=330&action=edit)
- Soyeon : [sketch] (http://soyeonchung.net/icm_week07/)
- Sneaky Chino: [The Greatest Show on Earth] (http://itp.chino.kim/icm/06_freakshow)
- Melanie: [sketch] (http://artdelicorp.com/Homework/SHIFFMAN_CLASS_FRIKI/), [blog post] (http://www.artdelicorp.com/2015/10/14/shiffman_class_friki/)
- Emmanuel: [sketch] (http://emmanuelklein.com/classes/icm/hearts/), [blog post] (http://www.emmanuelklein.com/?p=178)
- Cristina: [sketch] (ccannella.com/ICMweek6_paint)
- Dana: [sketches] (http://www.blondishmoment.com/icm/DOM%20Element%20Assignment/), [blog post] (http://www.blondishmoment.com/category/icm/)
- Xiqiao: [game] (http://zhouxiqiao.com/itp/icm/07/bullet/),[blog post] (http://www.zhouxiqiao.com/?p=161)
- Serena: [audio sketch] (http://serenaparr.com/projects/dogs/), [blog] (http://serenaparr.com/itp/2015/10/14/icm-week-6/)
- Additional material that you can review about objects / arrays.
- Videos 6.1-6.5 cover more about objects, arrays, and the constructor function.
- Getting Started with p5.js chapters 10-11 also cover the same material (see e-mail re: PDF).
- In your blog post this week, please include some thoughts on the synthesis workshop, what you liked or didn't like about it, and any documentation of what you made.
- Design a sketch in an object-oriented fashion. Follow these steps and see how far you get (even just doing the first couple steps is ok!)
- Make one single object with just variables.
- Put one or more functions in the object.
- Try manually making two objects.
- Duplicate the object using an array and make as many as you like!
- In the end the goal is to have code in
draw()
that only makes calls to objects. Something like:
function draw() {
background(0);
// A single object
apple.chop();
// Another object
orange.peel();
// Calling a function on all of the objects in an array
for (var i = 0; i < grapes.length; i++) {
grapes[i].pluck();
}
}
Questions (example questions)
- add your question here
- Michelle: Deleting objets from the array.
- Zoe: changing the state of something in an array and getting it to stay that way
- Dana: Can you use an array to iterate an object in a circular pattern?
- Lindsey: What is the best method to restart an object's function?
- Serena: How can you place an image(img) into an array?
- Serena: Is there a way to println onto the HTML page outside of the canvas?
- Ruta: [blog / synthesis workshop] (http://www.itpruta.com/icm-and-pcomp-synthesis-workshop/), [sketch1] (http://itpruta.com/ICM/exc4_construction_function2/), [sketch2] (http://itpruta.com/ICM/exc5_push_splice4/)
- KC: [sketch] (http://kclathrop.com/ICM/_week5_lathrop/), [blog] (http://kclathrop.com/functions-arrays-objects-oh-my/)
- Michelle: [blog post] (http://www.techaboom.com/arrays-in-p5/), [sketch] (http://techaboom.com/feedtheshark2/)
- Mathura: sketch
- Melanie: sketch, blog post
- Cristina: [sketch] (http://ccannella.com/ICMweek5-paint/paintsketch/), [blog post] (http://www.ccannella.com/2015/10/07/week-5-icm-objects-contd/)
- Zoe: [sketch] (http://zoebachman.net/itp/ICM/bachman_week5_final/), [blog post] (http://www.zoebachman.net/itp/?p=233), [synthesis lab] (http://www.zoebachman.net/itp/?p=244)
- Paula -- Blog Post, Bubbles
- Sabrina -- sketch,blog
- Soyeon -- array exercise1,exercise2
- Lindsey -- blog post, [sketch] (http://www.itp.lindseyfrances.com/Week5/galaxy_objects/)
- Xiqiao -- [colorball] (http://zhouxiqiao.com/itp/icm/05/colorball/) blog
- Serena -- [blog post] (http://serenaparr.com/itp/2015/10/07/icm-week-5/), [sketch 1] (http://serenaparr.com/projects/officepong/), [sketch 2] (http://serenaparr.com/projects/_officepong/)
- Dana -- [sketch] (http://www.blondishmoment.com/icm/ASMR%20Array/) [blog] (http://www.blondishmoment.com/category/icm/)
- Emmanuel --
-
The idea this week is to explore re-organizing your code. It is 100% legitimate to turn in a version of a previous assignment where nothing changes for the end user, but the code has been restructured. You may, however, choose to try a new experiment from scratch. Aim to keep
setup()
anddraw()
as clean as possible, and do everything (all calculations, drawing, etc.) in functions that you create yourself. Possibilities (choose one or more):- Reorganize "groups of variables" into objects.
- Break code out of
setup()
anddraw()
into functions. - Use a function to draw a complex design multiple times with different arguments.
- If you are feeling ambitious, try embedding a function into an object.
-
READ / WATCH (Nothing required, read or watch what you find most helpful)
- Videos 5.1-5.4 in the learning p5.js series.
- Getting Started with p5.js chapters 9-10 (see e-mail re: PDF)
-
Examples
Questions (example questions)
- Paula: I've had some people say troubleshooting on the browser window is easier (if you change your P5 setting to open on the browser instead of the default feature). Is it true? what's the difference between doing either one and how can you figure out what the browser is telling you if you do the former?
- Ruta: could we go through "return the value" thing in the class and maybe through few more examples? Not sure I get it quite right.
- Ruta2: I tried building functions into objects in my house code, but once I did, the final result was only one house, not multiple as I expected: why so? Also if I'd like to make my multiple houses move, where should I include speed variable? I have it under comment now as it didn't work.
- Zoe: Using arrays to create multiple versions of the same(ish) object!
- Michelle: Using arrays; how do you create a function inside an object and then create multiple versions of it that are slightly different between each other? I could only do it without the object, using only the function.
- Serena: Is there a way to simplify objects when they rely on conditional functions (ie, if mousePressed on object, then drag object)? It seems to sometimes just be too circular to fit into an array.
- Cristina: why would you use one of these vs the other: dots.push(new Dot(mouseX, mouseY,10); vs var d = new Dot(mouseX, mouseY, 10); dots.push(d);
- Dana: What is the difference between a class and a function? When is it advantageous to use a function over an object and vice versa?
- Xiqiao: I was trying to create multiple balls in my canvas and each was expected to be released by mouse pressed, but I only got a ball now. How can I do this?
- KC [KC's sketch] (http://kclathrop.com/ICM/lathrop_week4/), [Blog] (http://kclathrop.com/catch-and-pop/)
- Paula Blog Post, [Apple game] (http://www.itp.paulaceballos.com/ICM/4_ICM_Week%204/fall_m/)
- Sabrina Blog Post, [moon] (http://sabrinaaa.com/visual_language/moon/)
- Soyeon [blog] (http://www.soyeonchung.net/2015/09/29/icm_week-04-functions/), [sketch-practice1] (http://soyeonchung.net/icm_week04/)
- Zoe [Blog Post] (http://www.zoebachman.net/itp/?p=200), [Sol LeWitt horizontal line] (http://www.zoebachman.net/itp/ICM/bachman_week4_horizontal/), [Sol LeWitt vertical line] (http://www.zoebachman.net/itp/ICM/bachman_week4_vertical/)
- Ruta [sketch, reorganizing code/modularity] (http://itpruta.com/ICM/shapes_house_reorganize%20code/), [multiply objects] (http://itpruta.com/ICM/shapes_house_multiply/), [functions in objects] (http://itpruta.com/ICM/shapes_house_functions%20into%20objects/)
- Mathura Blog Post, Bouncing balls,Function plotter
- Lindsey [Blog Post] (http://www.itp.lindseyfrances.com/2015/09/30/icm-week-4/), [Clouds] (http://www.itp.lindseyfrances.com/Week%204/)
- Xiqiao --[xBall] (http://zhouxiqiao.com/itp/icm/04/xball/) [Blog] (http://www.zhouxiqiao.com/?p=153)
- Melanie -- [Bodega Time Machine] (http://artdelicorp.com/Homework/bodega_timemachine/) [blog post] (http://www.artdelicorp.com/2015/11/04/bodega-time-machine/)
- Cristina -- [sketch] (http://ccannella.com/ICMweek4_objects/), [blog] (http://www.ccannella.com/2015/09/30/week-4-icm-objects/)
- Michelle [Blog Post] (http://www.techaboom.com/icm-week-4-modularity-and-reusability/), [Under the Sea] (http://techaboom.com/underthesea/)
- Serena -- [Blog Post] (http://serenaparr.com/itp/2015/09/30/icm-week-4/), [Desert Truck Interactive] (http://serenaparr.com/projects/itp/icm/organized_desert/)
- Dana -- [Blog Post] (http://www.blondishmoment.com/category/icm/), [Paceman] (http://www.blondishmoment.com/icm/DanaFunction%20Homework/)
- Emmanuel --
-
In general this week, you should work with rule-based animation, motion, and interaction. You can use the ideas below or invent your own assignment. Start by working in pairs as below. Can you divide an idea into two parts and combine those parts? Can you swap sketches and riff of of your partner's work? You can post together or break off and complete the assignment individually.
- Try making a rollover, button, or slider from scratch. Compare your code to the examples on github. Later we'll look at how this compare to interface elements we'll get for free from the browser.
- Create an algorithmic design with simple parameters. (One example is 10PRINT, example code).
- Tie the above two together and have an interface element control the visual design or behavior of other elements in your sketch.
-
READ / WATCH (Nothing required, read or watch what you find most helpful)
- Stay tuned for a PDF link to Getting Started with p5.js
- John Kuiphoff's animation tutorial
- Videos
Questions (example questions)
- Sabrina, Ruta1: how can we change the reference found online w/ the current knowledge from p5 and code one slider?
- Sabrina, Ruta2: why the first code w/ color slider didn't work (where the background command was pushed below)? and why did it make computer very slow?
- ZoeB: can you get a switch to keep one of it's positions permanently - say go from off to on and then remain on for the rest of the sketch?
- Paula: the mousePressed function seems to be tricky to master. Is there something else after "function mousePressed()" that needs to be written in order for it to work?
- Cristina: How could we have the sine waves continue to run even if we click somewhere else to trigger another?
- Dana: How do we add animation to for loops? How do I make an object emanate from the same point over and over?
- Zoe, Xiqiao [Zoe's blog post] (http://www.zoebachman.net/itp/?p=152), [Zoe's button game] (http://www.zoebachman.net/itp/ICM/bachman_week3/), [Zoe's riff on Xiqiao's sketch] (http://www.zoebachman.net/itp/ICM/xiqiao_collab/),[Xiqiao's blog post] (http://www.zhouxiqiao.com/?p=117),[Xiqiao's button game] (http://zhouxiqiao.com/itp/icm/03/button/)
- Melanie, Soy [Melanie's blog post] (http://www.artdelicorp.com/2015/09/23/watch-him-watch-him-watch-me/), soy's blog, Sketch
- Cristina, Mathura [sketch-sinewaving] (http://mathuramg.com/ICMWork/Class3/Dial/index.html), [Cristina's Blog] (http://www.ccannella.com/2015/09/23/week-3-icm-sine-wave-collaboration/), Mathura's blog
- Michelle, Serena [mixed_sketches,] (http://techaboom.com/mixed_sketches/) [mixed_sketches2,] (http://serenaparr.com/projects/itp/icm/desert_lines_button/) [serena's blog post] (http://serenaparr.com/itp/2015/09/23/icm-week-3/)
- Dana, Lindsey [Lindsey's Sketch] (http://www.itp.lindseyfrances.com/Week%203/), [Changes to Dana's Code] (http://www.itp.lindseyfrances.com/Week%203%20pt%202/Space_collaboration_assignment/), [Lindsey's blog post] (http://www.itp.lindseyfrances.com/2015/09/23/icm-week-3-trading-code/)
- Ruta [blog post] (http://www.itpruta.com/icm-week-3-homework-working-in-pairs/), [sketch1/slider simple] (http://itpruta.com/ICM/Spring%20&%20Winter%20final/),Sabrina [blog post] (http://sabrinaaa.com/2015/09/22/icm_week_3_springwinter/), sketch2/slider w/reference
- Emmanuel, Paula, KC: [Paula's Blog Post] (http://www.itp.paulaceballos.com/icm-collaboration/), [Paula + KC sketch] (http://www.itp.paulaceballos.com/ICM/3_ICM_Week%203/Combined/), [KC Blog] (http://kclathrop.com/collaborative-code/)
- Lindsey, Dana [Dana's Sketch] (http://www.blondishmoment.com/icm/danaDrawsSpace/), [Changes to Lindsey's Code - still as sketch will not load] (http://www.blondishmoment.com/wp-content/uploads/2015/09/Screen-Shot-2015-09-23-at-10.57.36-AM.png), [Dana's blog post] (http://www.blondishmoment.com/category/icm/)
- Create a sketch that includes (all of these):
- One element controlled by the mouse.
- One element that changes over time, independently of the mouse.
- One element that is different every time you run the sketch.
- READ AND WATCH:
- These are not required, just watch if you find them helpful!
- Variation basics: setup, draw, events, mouseX, mouseY
- Create your own variables
- Objects in JS
- random() function
- map() function
Questions (example questions)
- RutaK: when I assign mouseX=mouseX+1 the ellipse moves by itself; however, if I move my mouse, it can still control where ellipse is: how do I do that the ellipse moves ONLY by itself?
- RutaK: I've been trying to upload image as my background as per this [instruction] (http://p5js.org/examples/examples/Image_Load_and_Display_Image.php), however all I got was a white background. Would like to check that during/after class.
- ZoeB: I added sound to my animation and it works in the p5.js editor but not in the browser. I was using this tutorial: http://coursescript.com/notes/interactivecomputing/sound/ and tried both .mp3 and .ogg file types. When I inspect the element in the browser, the assets file doesn't show in the sources...even though cyberduck says it's there?
- ZoeB: How can you get an object to move on its own after you have it appear with the mousePressed function? RutaK: Zoe's question, too.
- DanaA: I want to draw a line and have the 2nd point be dictated by my mouse and then I want to set the line wherever my mouse stops (by clicking). How do I do this? Also, what is the easiest way to get an object to cycle continuously across a screen?
- Serena: How do you use the acceleration function? Would it work to use the acceleration function to change the size of a mouseX, mouseY controlled shape?
- Michelle: I cannot tilt shapes and work with arcs.
- Xiqiao: How to make an object move in a certain customize path, not just in a line? Is there an event that leading a series of commands when two objects encounter?
- Melanie: How can we make sketches and everything inside them scale to the size of the browser window? Also, how does the array function work? specifically, in order to select a random object/image out of a group (or array?) to load.
- Daniel Shiffman -- documentation, sketch -- any other comments
- Sabrina Niu -- documentation, sketch -- any other comments
- Mathura: documentation, sketch
- Paula Ceballos: documentation. [Bouncing Balls] (http://www.itp.paulaceballos.com/ICM/ICM_Week%202/Try%201/PCD_ICM_wk2/), [Fortune Teller] (http://www.itp.paulaceballos.com/ICM/ICM_Week%202/Try%202/Fortune%20Teller/)
- Cristina Cannella: [documentation] (http://www.ccannella.com/2015/09/16/icm-week-2-animation/),[sketch](http://ccannella.com/ICMweek2_ghost/)
- RutaK: [sketch] (http://itpruta.com/week2_homework_ruta/), [documentation] (http://www.itpruta.com/week2-homework-variables-mousex-mousey-random/)
- KC L: [documentation] (http://kclathrop.com/making-things-move/), [sketch] (http://kclathrop.com/ICM/lathrop_week2/)
- Zoe Bachman: [documentation] (http://www.zoebachman.net/itp/?p=103), [sketch] (http://www.zoebachman.net/itp/ICM/bachman_week2.b/)
- Emmanuel Klein -- emmanuelklein.com, Draw 2000
- Melanie Hoff -- [sketch v. I] (http://artdelicorp.com/Homework/ART%20DELI%20CORP/), [sketch v. II] (http://artdelicorp.com/Homework/ART%20DELI%20CORP-2/), [documentation] (http://www.artdelicorp.com/2015/09/15/icm-week-2/)
- Dana A --[dana does ICM] (http://www.blondishmoment.com/icm), [Bowie] (http://www.blondishmoment.com/icm/danaDrawsBowie_2/)
- Serena Parr -- [Documentation] (http://serenaparr.com/itp/2015/09/16/icm-2-illustration/), [watercolor 1] (http://serenaparr.com/projects/itp/icm/watercolor/), [watercolor fleeting] (http://serenaparr.com/projects/itp/icm/watercolors/)
- Michelle Alves -- [Techaboom] (http://www.techaboom.com/p5-js-with-variables/), [Crazy for Carrots] (http://techaboom.com/rabbit/)
- Lindsey Johnson -- [Documentation] (http://www.itp.lindseyfrances.com/2015/09/16/icm-week-2/), [Monochromatic Seasscape] (http://www.itp.lindseyfrances.com/Week%202/)
- Soyeon Chung--blog,sketch 1-practice,sketch 2-apple picking
- Xiqiao Zhou--Assignment2, Ride
-
SET UP:
- Download the p5.js editor
- Sign up for the ITP ICM Google Group
- Sign up for our ICM Section's Announce List -- I only use this list to communicate class announcements with you (scheduling, etc.). The main google group is for questions and discussion about the course content
- Sign up for a Github Account. You need it to edit this wiki page.
-
DO:
- Create your own static screen drawing: self-portrait, alien, monster, etc. Use only 2D primitive shapes –
arc()
,curve()
,ellipse()
,line()
,point()
,quad()
,rect()
,triangle()
– and basic color functions –background()
,colorMode()
,fill()
,noFill()
,noStroke()
,stroke()
. Remember to usecreateCanvas()
to specify the dimensions of your window.
- Create your own static screen drawing: self-portrait, alien, monster, etc. Use only 2D primitive shapes –
-
READ / WATCH (if helpful):
-
ASK QUESTIONS: Contribute at least 1 question below. (Name optional.)
Questions | Examples
- KC Lathrop: If you are making a sketch with identical shapes, is there a way to condense the code so you don't need to write the same code twice with one different argument?
- Mathura: The javascript calculations are sometimes very slow. Is there a way to write the code in a way to increase the speed?
- CCannella: Is there a way for p5.js to prompt you to enter certain commands when you start typing?
- RutaK: Is there any way to have RGB palette on hand on p5.js?
- DanaA: 1. Why does the code work despite incorrect syntax - lacking an ';' at the end of each line? 2. Why do the figures not have consistent starting points (ie. corner versus center)?
- Soyeon: I am missing my helmet! help me!!! - I tried to figure out how to draw a filled arch as a helmet but coundn't figure out how the radian thing works.
- Michelle: How do you make thicker lines? And also Ruta's question. And is it possible to add a "grid" in your canvas?
- Lindsey: How can shapes be grouped together? Is there a way to "subtract" shapes from each other?
- Serena: Does a "radians and curves" guide exist somewhere?
- Daniel Shiffman -- documentation, sketch -- any other comments
- KC Lathrop -- KC ITP, monkey
- Mathura MG -- ITP Blog, Lines
- Cristina Cannella -- [CCannellaITP] (http://www.ccannella.com/2015/09/08/icm-week-1-drawing/), [owl] (http://ccannella.com/ICMweek1_owl/)
- Soyeon Chung --ITP Blog, self-portrait
- RutaK -- Ruta ITP, lego face
- Dana Abrassart -- dana does ITP, monster mash
- Sabrina Niu -- document1, document2, Shiffman portrait
- Michelle Alves -- Techaboom Blog, horse
- Xiqiao Zhou -- ICMblog01, JackInOffice
- Paula Ceballos -- Blog Post, Gnomes-abstract
- Zoe Bachman -- zoebachman.net, Sol LeWitt Inspo
- Emmanuel Klein -- emmanuelklein.com, Boo
- Lindsey Johnson -- Lindsey ITP, Space
- Serena Parr -- blog post, snowman
A big part of learning at ITP is learning from each other. So share your work and in exchange you'll get to see everyone else's!
- Do your assignment.
- Contribute a question.
- Post documentation in the form of a blog post. Ideally something visual, some written thoughts, and code. If you are struggling with your sketch and can't get things to work, you should feel free to put your energy into writing about what didn't work (and vent any frustrations!).
- Post your sketch online.