Assignment: Drawing/Software
Create a program which expands, augments, muddles, complicates, implicates, simplifies, questions, spoils, undermines, improves, or otherwise alters the concept or act of drawing.
Your program may be designed for one, two, or many simultaneous users — or none. It may assist, hinder, extract, protract, analyze, synthesize, etc. any part of the process and/or products of drawing.
You may use any hardware device and/or programming language you prefer, but your solution must involve the creation of custom software, executed by a machine.
This Assignment is due at the beginning of class on Thursday February 11.
Christy Brown, author of My Left Foot
Jean Tinguely, Machine a Dessiner
Some Considerations
Your project might be
- A tool, toy, game, or instrument that offers a new way to draw
- A system for analyzing a drawing or database of drawings
- A machine that generates drawings according to some input (e.g. the weather), or by itself
Consider challenging a “basic assumption” about drawing, such as one of the following:
- Drawing is done with the hand — one hand — usually, the dominant hand.
- Drawings are flat, and are made on a flat surface.
- A drawing is made by a single person.
- Drawings are recordings that are meant to endure.
- Drawings are distinct from text.
For example:
- Who is the intended user of your software? The weekend following this assignment is Valentine’s Day. What if your software were created exclusively for one person — your Valentine?
- How many people are required to operate your software? Drawing is often conceived as a solo activity. What if you design a drawing activity which requires two people to operate it?
- What part of your body do you draw with? What if you could draw with a different part, like your nose, eyes, or feet?
- Etcetera.
Fine Print (Deliverables)
- Using whichever programming language is necessary or preferable, create a custom software application.
- Create a blog post for your project. Categorize this with the category, DrawingSoftware.
- Upload your code to Github, and include a link in your blog to your repository.
- In your blog post, please write 150-200 words about your project.
- In your blog post, include some scans or photos of any sketches, if you have them.
- In your blog post, include some screenshots of your project.
- You’ll be expected to demonstrate your software, live, on Thursday February 11th.
- By Tuesday February 16th, you should also have completed documentation of your software in a brief video (1-2 minutes long), preferably with a narration. Upload this video to YouTube or Vimeo, and embed this video in the blog post. This video may be any combination of screengrabbed capture, recorded with a camera, etcetera. If there are good reasons why you cannot demonstrate your software live (e.g. it requires a roomful of special hardware), you should definitely have some sort of video to show on 2/11.
Hardware, Gizmos, Interfaces
The following software tools and devices are available to you. This is not an exclusive list! These are just some things you’re invited/welcome to work with.
- LEAP Motion Controller (hand tracker) x5
- ofxLeapMotion openFrameworks addon
- LeapMotionOSC in openFrameworks
- Leap Motion Processing library for Processing, by Darius Morawiec
- leapMotionOSC_p5 in Processing (uses Morawiec’s lib)
- Leap Motion Processing library for Processing, by Michael Heuer
- OSC Motion transports LEAP data over OSC
- EyeTribe Eye tracker eye tracker x4
- ofxEyeTribe openFrameworks addon
- EyeTribe for Processing library
- EyeTribe2OSC program to send eyetracking data over OSC
- Tet Unity GazeCam interface to Unity via C#
- Apple Wireless Magic Trackpad (multitouch pad) x2
- ofxMultiTouchPad: openFrameworks addon
- SendMultiTouches: program to send multitouch data over OSC, with example receivers for Processing, Flash, Unity3D and PureData
- Sensel Morph (multitouch pad)
- ofxSenselMorph openFrameworks addon
- 3DConnexion SpaceNavigator 6DOF joystick
- ofxConnexion addon for openFrameworks (updated addon here)
- instructions for using with OSCulator
- USCutter plotter/cutter
- uArm Robot Arm
- openFrameworks code Gist by Aman Tiwari
- uArm for Processing, JavaScript, Python
- Cintiq 13HD Touch high-resolution multitouch tablet
- ofxTablet, openFrameworks addon to get stylus pressure, tilt, orientation
- ofxWacomFeelMultiTouch, addon for the Wacom Feel Multi Touch SDK
- Wacom Inkling
- GeoMagic Touch 3D haptic pen
- Kinect v1 and v2
Other OSC-transmitting apps, and OF addons:
- OpenTSPS for standard CV tasks like blob tracking
- Reactivision TUIO: tangible vision-based trackers
- Community Core Vision: another tracking system
- FaceOSC face tracker: https://github.com/kylemcdonald/ofxFaceTracker
- EyeOSC eye tracker: https://github.com/
downloads/kylemcdonald/ AppropriatingNewTechnologies/ EyeOSC.zip - ofxTldTracker, for tracking/learning/detection of unknown objects
Some videos demonstrating the above projects can be seen below.
LEAP Motion Controller: Hand tracker, provides 19 XYZ points (joints) on up to 3 hands simultaneously at 60hz.
EyeTribe Eye tracker: Eye tracker, provides XY gaze data at 30Hz. (Ask Golan for his developer credentials.)
Sensel Morph multi-touch touchpad:
uArm Robot Arm 4-axis robotic arm:
USCutter MH Series plotter/cutter:
3DConnexion SpaceNavigator
OpenTSPS:
FaceOSC: