Download - Identity thef
monolith
it contains the answers to all the questions it advances.
designers: amanda morgan . chris mcadams . jacquelyn santa luciaengineers: nicholas araujo . rebecca pierce . peter strahs . zhiran xu
3 . id
the
ft - imm
ers
ive
kin
em
atic
s
Today our private information pervades society in digital forms, shopping history, driving records, mortgages, significant others, photos, movies, maps, lists, audio, etc. We have identifiers that have made us traceable. In a way we are now tagged products.
im
me
rsiv
e k
ine
ma
tic
s
.
id t
he
ft
. 6
Entryguest
arrive atevent
Weightwhile
reading the waiver,
each guests
weight is taken
Address to receive
entry, guest swipe their ID
and their name and address is collected
Photowhen
the ID is scanned, a photo is taked from a camera mounted atop the check in station
Body Scan
on some occasions, a random body scan is triggered and guests are pulled
out of line to be scanned
Codedguests are
handed fiducial
markers as name tags
so they can be traced
Entryguests are permitted to enter
the gallery space
7 . id
the
ft - imm
ers
ive
kin
em
atic
s
In order to gather a significant amount of data from all people in the gallery, a number of resources were used from information on the internet to stations around the gallery. The first station was guised as a waiver for entrance into the show. Here weight was recorded, a photo was taken and a fiducial was assigned to link the guest with all of their recorded data.
sequence of experience . how information is gathered and shared
9 . id
the
ft - imm
ers
ive
kin
em
atic
s
//**********************************************************************************************////------------------------------------Waiver_2.pde-----------------------------------------------////Art gallery sign up form. Captures name, weight, and a photograph. Also finds any prefetched//pictures of current signer. Finally, reads in data from a driver's license (name, address,//height, weight, hair color, eye color, gender, etc) and attempts to obtain a Google Street//View image of the person's residence.////Nicholas Araujo, Peter Strahs, Rebecca Pierce, Zhiran Xu//Chris McAdams, Amanda Morgan, Jackie Santa Lucia//May 7, 2011//*********************************************************************************************
//--------------------------------------------------------------------------------------------//LIBRARIES//--------------------------------------------------------------------------------------------//Requires the Processing OpenCV library: http://ubaa.net/shared/processing/opencv/import hypermedia.video.*;//Serial library to read from scaleimport processing.serial.*;
//--------------------------------------------------------------------------------------------//GLOBAL OBJECTS//--------------------------------------------------------------------------------------------OpenCV webcam;Serial weigher;Reader prefetch;Writer waiver;PFont font;
//--------------------------------------------------------------------------------------------//GLOBAL VARIABLES//--------------------------------------------------------------------------------------------//Program control variableschar state = 'W'; //W = waiting, I = drinking?, S = swipe ID, P = photo ID, D = done, B = body scanint wait = 100;boolean paused = false;int attempt = 0;String path = "C:\\Users\\Nick\\Desktop\\Waiver_2\\"; //This is the root directory where everything is saved.int ID = 0;//WaitingForInput control variablesboolean input = false;boolean signed = false;String inputField = "";String instructions = "[please type your name to sign]";//Data captured on waitingForInputString[] flnames = {"",""};String weight = "";//QueryDrinking control variablesboolean drinking = true;//Data captured on SwipeID or photoIDString swipeError = "";boolean goodScan = true;String license = "";String[] parsedLicense = {"","","","","","","","","","","","","","","",""};
//********************************************************************************************//********************** INITIALIZATION ****************************//********************************************************************************************void setup() {
//Make sure this is set to the current monitor's screen size! Then use Sketch > Present.size(1366,768);
//Sets document font and size font = loadFont("ArialNarrow-32.vlw");
textFont(font, 32);
//Initialize waiver.txt writer and prefetch.txt reader waiver = new Writer(path+"waiver.txt"); ID = waiver.syncID(); prefetch = new Reader(path+"prefetch.txt");
//Initialize webcam for image capture webcam = new OpenCV(this); webcam.capture(300,300,0);
//Initialize serial port to trigger event after 3 chars are received weigher = new Serial(this, Serial.list()[0], 9600); weigher.buffer(3);}
//********************************************************************************************//****************** MAIN LOOP ****************************//********************************************************************************************void draw() {
5/10/2011 Waiver_2.html
L:/…/Waiver_2.html 1/8
//**********************************************************************************************////------------------------------------------Writer.pde-----------------------------------------////Helper class to save data as comma separated text files. Specifically, designed to write//waiver.txt.////Nicholas Araujo, Peter Strahs, Rebecca Pierce, Zhiran Xu//Chris McAdams, Amanda Morgan, Jackie Santa Lucia//May 7, 2011//*********************************************************************************************class Writer {
//------------------------------Class Objects and Variables------------------------------------PrintWriter w;int id=0; //Inital ID number
//--------------------------------------Constructor------------------------------------------- Writer(String filename) { //Load existing data to prevent overwriting BufferedReader r = createReader(filename); String[] lines = loadStrings(filename);
//Create new text file w = createWriter(filename);
//Append new data to old data for(int i=0;ilength;i++) { w.println(lines[i]); }
//Set id based on the last participant int a = lines[lines.length-1].indexOf("id="); int z = lines[lines.length-1].indexOf(",", a); id = Integer.parseInt(lines[lines.length-1].substring(a+3, z)); id++; }
//--------------------------------------Methods-------------------------------------------
//--------------------------------------------------------------------------------------------//Write data to text file in proper format//--------------------------------------------------------------------------------------------
void addPerson(int id, String fn, String ln, String wt, String st, String ct, String dlf, String dlm, String dll, String ad, String mm, String dd, String yy, String zip, String sex, String dlht, String dlwt, String eye, String ha) { w.println("id="+id+",first="+fn+",last="+ln+",weight="+wt+",state="+st+",city="+ct+",idfn="+dlf+",idmn="+dlm+",idln="+dll+ ",address="+ad+",month="+mm+",day="+dd+",year="+yy+",zip="+zip+",sex="+sex+",height="+dlht+",idwt="+dlwt+",eyes="+eye+",hair="+ha+", }
//--------------------------------------------------------------------------------------------//If different due to pre-existing data, sync ID#s between Waiver and Writer//--------------------------------------------------------------------------------------------
int syncID(){ return id; }
//--------------------------------------------------------------------------------------------//Ensure all data in buffer is written to file immediately//--------------------------------------------------------------------------------------------
void saveData() { w.flush(); }
//--------------------------------------------------------------------------------------------//Ensure all data in buffer is written to file immediately, before properly closing file//--------------------------------------------------------------------------------------------
void saveAndClose() { w.flush(); w.close(); }}
5/10/2011 Writer.html
L:/WaiverCodeAndOutput/…/Writer.html 1/1
sequence of experience . the check-in station
im
me
rsiv
e k
ine
ma
tic
s
.
id t
he
ft
. 1
8
144-151152-159
152-159160-167 168-175
176-183
184-191
208-215
19
. id th
eft - im
me
rsiv
e k
ine
ma
tics
8-15
16-23 40-47
48-5556-63
64-71
72-79
80-87
the check-in station . fiducial markers
im
me
rsiv
e k
ine
ma
tic
s
.
id t
he
ft
. 2
0
OpenCVimage
capturing
reActivision fiducial
identification
processingdatabase/
data access/ output
VDMXdisplay
21
. id th
eft - im
me
rsiv
e k
ine
ma
tics
Information is gathered for a multitude of sources and projection mapped onto the monolith. As a visitor approaches the object their are read and their information appears.
The monolith acts as a digital mirror, presenting a new reflection of the gazer. It is at this point that the visitor begins to realize the entire gallery experience is just an opportunity to gain insights into the day to day lives of the guests.
sequence of experience . monolith
23
. id th
eft - im
me
rsiv
e k
ine
ma
tics
monolith . building an 8ft polyhedron
26293041
46 18 2 38 39
3128
2747
1714201511
19132420
4425
433448
104082433
912
1316 6
36 53
3722
21742335
45
24 faces 49 edges
im
me
rsiv
e k
ine
ma
tic
s
.
id t
he
ft
. 2
6
3D Projection testing on the polyhedra object with ambient light
27
. id th
eft - im
me
rsiv
e k
ine
ma
tics
3D Projection testing on the polyhedra object
monolith . 3D projection testing
im
me
rsiv
e k
ine
ma
tic
s
.
id t
he
ft
. 2
8
View of Monolith from Entry of Space View of Monolith from 1st projector
29
. id th
eft - im
me
rsiv
e k
ine
ma
tics
View of Monolith from 2nd projector View of Monolith from opposite area of gallery
monolith . sequence of experience