A play-space of responsive video projections. You know, for kids! Built for Oxford Elementary School, 2016
- install oF
- couple oF tutorials
- read the oF for Processing tutorials writeup
- converts and aligns 3D world point as viewed by Kinect to a pixel point projected into kidSpace
- projects silhouette of moving objects
- removes background
- control the flow of water down from a wall across the floor
- touchscreen control (iPad and iPhone)
- create and control virtual shapes
- virtual shapes move autonomously
- shapes respond to movement in the space
- shapes respond to real objects in the space
- projection mapping to objects in the space
- physical interaction with projection mapped objects
- HOT WHEELS TRACKING!
- RaceTrack Mapping
- virtual obstructions
- Car tracking / Car recognition
- Race winner validation (who entered area x first?)
- etc etc etc
- ofxKinectProjectorToolkit
- addon for calibrating a projector to a Kinect, allowing for automated projection mapping aligned to the Kinect.
- ofxOpenNI
- The ofxOpenNI module is a wrapper for the openNI + NITE + SensorKinect libraries/middleware for openFrameworks.
- ofxCv
- ofxCv represents an alternative approach to wrapping OpenCV for openFrameworks.
- ofxSecondWindow
- This is a simple openFrameworks addon which allows for creating multiple windows.
- The key function for mapping is getProjectedPoint(ofVec3f worldPoint). This function takes any 3d world point from the Kinect and converts it to a pixel point. For example, using ofxKinect, the pixel point associated with the world point inside the depth image at (x, y) is found:
ofVec3f worldPoint = kinect.getWorldCoordinateAt(x, y);
ofVec2f projectorPoint = kpt.getProjectedPoint(worldPoint);
Using ofxOpenNi, the world point is acquired slightly differently, directly from the raw depth pixels.
ofShortPixels depthPixels = kinect.getDepthRawPixels();
ofPoint depthPoint = ofPoint(x, y, depthPixels[x +y * kinect.getWidth()]);
ofVec3f worldPoint = kinect.projectiveToWorld(depthPoint);
ofVec2f projectedPoint = kpt.getProjectedPoint(worldPoint);
- openFrameworks for Processing users
- Steps to your first particle system in oF
- oF tutorials
- of video tutorial series by Lewis Lepton
- using the project generator
- using oF in Xcode
- oF libraries
- examples folder located at root is for my projects and examples
- projects in
apps/
need to be 2 levels deep, eg
# this works (2 levels)
apps/
kinectApps/
/kidsPace
/hotWheelTracker
dashboardApps/
/releaseDash
/taskDash
# this doesn't (1 leve)
apps/
/kidsPace
openframeworks/apps/devapps/projectgenerator/projectgenerator.xcodeproj
# list tags
git tag
# set tag
git tag v1
# push tags
git push --tags
# checkout tag
git checkout v1 (i think. need to verify)